dotProject

閲覧数: 17(0)

オープンソースのプロジェクト管理ツールである「dotProject」便利なツールで使い込んでいますがバグがあっても誰も直してくれないので不具合を見つけると必然的に自分で直すことにw 今回はプロジェクトの画面でガントチャートを表示する際「開始日」「終了日」と「実際の期日」を表示するようになっているのですが、「実際の期日」がプロジェクトそのものに設定されていないと「終了日」を持って来て表示してしまうというもの。設定されていないならそのまま「空白」にしてくれればいいのに。オリジナルの終了日を持って来ても価値が無い! ということで修正します。

まずはオリジナルのコードから。一行目の「$actual_end_date」の代入で既定値として「$end」を指定していますがここにはプロジェクトの「終了日」が入っています。これを空白にするだけなのですが結構大変でしてw

    $actual_end = (($p['project_actual_end_date']) ? $p['project_actual_end_date'] : $end);
    
    $actual_enddate = new CDate($actual_end);
    
    $actual_enddate = $actual_enddate->after($startdate) ? $actual_enddate : $enddate;
    $bar = new GanttBar($row++, array($name, $startdate->format($df), $enddate->format($df), 
		            $actual_enddate->format($df)), 
		            $start, $actual_end, $cap, 0.6);
    
$bar->progress->Set(min(($progress/100), 1));

こちらが修正版。オリジナルのコードはコメントで残しておきました。これで「実際の期日」が設定されていないプロジェクトの場合ガントチャート上には「空白」が表示されるようになります。

    $actual_end = (($p['project_actual_end_date']) ? $p['project_actual_end_date'] : $end);

    $actual_enddate = new CDate($actual_end);
/*      
    $actual_enddate = $actual_enddate->after($startdate) ? $actual_enddate : $enddate;
    $bar = new GanttBar($row++, array($name, $startdate->format($df), $enddate->format($df),
                            $actual_enddate->format($df)),
                            $start, $actual_end, $cap, 0.6);
*/
    $data = array($name, $startdate->format($df), $enddate->format($df), 
                            @$p['project_actual_end_date'] ? 
                            $actual_enddate->format($df) : "");

    $bar = new GanttBar($row++, $data, $start, $actual_end, $cap, 0.6);

$bar->progress->Set(min(($progress/100), 1));
カテゴリーIT閑話, 公開タグ,
アクセシビリティ対策
2019年6月23日

テーマカスタマイズの一環で、トップページに一覧表示されている「写真を左右交互に表示する」ようにした際  続きを読む

dockerとproxy
blank
2019年6月18日

dockerやdocker-composeをプロキシ環境下で使うのに苦労したので忘れないようにメモし  続きを読む

関連記事の大原則
blank
2019年6月16日

ググったりしてあるページにたどり着いた閲覧者に対して、それに関連する記事を提示して少しでもサイトの滞  続きを読む

dockerとiptables
blank
2019年6月13日

クラウドサーバーを利用する場合、ファイアウォール(Firewalld/iptables)の設定に失敗  続きを読む

コンテナとFirewall
blank
2019年6月12日

三日連続のdockerネタです。前回の「コンテナの自動起動」でサーバーを再起動した時にコンテナ(ph  続きを読む

コンテナの自動起動
blank
2019年6月11日

最新バージョンのPHP-FPMをdockerのコンテナとして動かしてみたところ、思ったより安定して動  続きを読む

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください