[Tutos-commits] CVS: tutos/php config_default.pinc,1.91,1.92 database.pinc,1.50,1.51 database_ins.ph
Projects / CRM / PLM / Calendar / Tasks / SCRUM / Test / Inventory
Brought to you by:
gokohnert
From: Andreas M. <me...@us...> - 2004-09-21 08:31:48
|
Update of /cvsroot/tutos/tutos/php In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30546/php Modified Files: config_default.pinc database.pinc database_ins.php database_new.php database_show.php db.p3 task.pinc task_ins.php task_new.php task_overview.php task_show.php Log Message: Extensions: - configurable automatic ID for tasks (like bugtracking) - search tasks for name or id - additional small task overview Index: config_default.pinc =================================================================== RCS file: /cvsroot/tutos/tutos/php/config_default.pinc,v retrieving revision 1.91 retrieving revision 1.92 diff -u -r1.91 -r1.92 --- config_default.pinc 25 Aug 2004 19:17:02 -0000 1.91 +++ config_default.pinc 21 Sep 2004 08:31:35 -0000 1.92 @@ -211,7 +211,7 @@ $tutos[bugremember] = 0; # # a rule how to build the displayed bugid -# X is substituted by the next value of the bugname sequencer oof the database +# X is substituted by the next value of the bugname sequencer of the database # all other values are handeld like the strftime function of PHP # (see http://www.php.net/manual/en/function.strftime.php ) # %Y year with four digits @@ -229,6 +229,22 @@ # $tutos[bugdelete] = 1; # +# a rule how to build the displayed taskid +# X is substituted by the next value of the taskname sequencer of the database +# all other values are handeld like the strftime function of PHP +# (see http://www.php.net/manual/en/function.strftime.php ) +# %Y year with four digits +# %m month 01-12 +# an empty value "" lets you input a taskid totally free without using the +# ID generator +# +# (for example: $tutos[taskautoname] = "TASK-%Y-%m-X"; +# will create "TASK-2004-11-1" the first time used +# +# NOTE: a value in the database entry will override this setting !! +# +$tutos[taskautoname] = "%Y-%m-X"; +# # You may want to see tasks in calendar? # tasks in calendar ( == 1) # no tasks in calendar ( == 0) Index: database.pinc =================================================================== RCS file: /cvsroot/tutos/tutos/php/database.pinc,v retrieving revision 1.50 retrieving revision 1.51 diff -u -r1.50 -r1.51 --- database.pinc 19 Jul 2004 19:08:43 -0000 1.50 +++ database.pinc 21 Sep 2004 08:31:36 -0000 1.51 @@ -79,6 +79,7 @@ $this->logolink = $tutos[logolink]; $this->bugautoname = $tutos[bugautoname]; $this->invautoname = $tutos[invautoname]; + $this->taskautoname = $tutos[taskautoname]; $this->vatlist = ""; $this->version = ""; $this->crypt = 0; @@ -132,11 +133,12 @@ $this->creator = new tutos_user($this->dbconn); $this->creator = $this->creator->read($r->get($pos, "creator"),$this->creator); - $this->logo = @$r->get($pos, "logo"); - $this->logolink = @$r->get($pos, "logolink"); - $this->bugautoname = @$r->get($pos, "bugautoname"); - $this->invautoname = @$r->get($pos, "invautoname"); - $this->vatlist = @$r->get($pos, "vatlist"); + $this->logo = @$r->get($pos, "logo"); + $this->logolink = @$r->get($pos, "logolink"); + $this->bugautoname = @$r->get($pos, "bugautoname"); + $this->invautoname = @$r->get($pos, "invautoname"); + $this->taskautoname = @$r->get($pos, "taskautoname"); + $this->vatlist = @$r->get($pos, "vatlist"); parent::read_result($r,$pos); return; @@ -271,6 +273,12 @@ function setInvAutoname($value) { return $this->setStrField("invautoname",$value,"CfgInvAutoName"); } + /** + * set the task auto name string + */ + function setTaskAutoname($value) { + return $this->setStrField("taskautoname",$value,"CfgTaskAutoName"); + } /* --------------------------------------------------------------------------- */ function setVATlist($value) { @@ -328,6 +336,7 @@ $q->addFV("vatlist",$this->vatlist,"STRING",$table['database']["vatlist"][size]); $q->addFV("bugautoname",$this->bugautoname,"STRING",$table['database']["bugautoname"][size]); $q->addFV("invautoname",$this->invautoname,"STRING",$table['database']["invautoname"][size]); + $q->addFV("taskautoname",$this->taskautoname,"STRING",$table['database']["taskautoname"][size]); $q->addFV("logo",$this->logo,"STRING",$table['database']["logo"][size]); $q->addFV("logolink",$this->logolink,"STRING",$table['database']["logolink"][size]); $q->addFV("systemid",$this->systemid,"STRING",$table['database']["systemid"][size]); @@ -490,6 +499,9 @@ if ( $this->invautoname != "" ) { $tutos[invautoname] = $this->invautoname; } + if ( $this->taskautoname != "" ) { + $tutos[taskautoname] = $this->taskautoname; + } if ( $this->vatlist != "" ) { $tutos[vatlist] = $this->vatlist; } else { Index: database_ins.php =================================================================== RCS file: /cvsroot/tutos/tutos/php/database_ins.php,v retrieving revision 1.20 retrieving revision 1.21 diff -u -r1.20 -r1.21 --- database_ins.php 19 Jul 2004 19:08:43 -0000 1.20 +++ database_ins.php 21 Sep 2004 08:31:36 -0000 1.21 @@ -67,6 +67,9 @@ $invautoname = trim(StripSlashes($_POST['invautoname'])); $gotourl = addUrlParameter($gotourl,"invautoname=". UrlEncode($invautoname),true); + + $taskautoname = trim(StripSlashes($_POST['taskautoname'])); + $gotourl = addUrlParameter($gotourl,"taskautoname=". UrlEncode($taskautoname),true); # other modules $msg .= module_parseforms($current_user,$obj,$gotourl); @@ -86,6 +89,7 @@ $obj->setLogoLink($logolink); $obj->setBugAutoname($bugautoname); $obj->setInvAutoname($invautoname); + $obj->setTaskAutoname($taskautoname); $obj->setVATlist($vatlist); $dbconn->Begin("WORK"); Index: database_new.php =================================================================== RCS file: /cvsroot/tutos/tutos/php/database_new.php,v retrieving revision 1.27 retrieving revision 1.28 diff -u -r1.27 -r1.28 --- database_new.php 19 Jul 2004 19:08:43 -0000 1.27 +++ database_new.php 21 Sep 2004 08:31:36 -0000 1.28 @@ -144,6 +144,11 @@ echo "</tr>\n"; echo "<tr>\n"; + echo $this->showfieldc($lang['CfgTaskAutoName'],0,"taskautoname"); + echo "<td colspan=\"3\"><input size=\"50\" maxlength=\"". $table['database']["taskautoname"][size] ."\" name=\"taskautoname\" value=\"". $this->obj->taskautoname ."\"></td>\n"; + echo "</tr>\n"; + + echo "<tr>\n"; echo $this->showfieldc($lang['CfgVATlist'],0,"vatlist"); echo "<td colspan=\"3\"><input size=\"30\" maxlength=\"". $table['database']["vatlist"][size] ."\" name=\"vatlist\" value=\"". $this->obj->vatlist ."\"></td>\n"; echo "</tr>\n"; @@ -244,6 +249,9 @@ if ( !empty($_GET['invautoname']) ) { $this->obj->invautoname = StripSlashes($_GET['invautoname']); } + if ( !empty($_GET['taskautoname']) ) { + $this->obj->taskautoname = StripSlashes($_GET['taskautoname']); + } if ( !empty($_GET['vatlist']) ) { $this->obj->vatlist = StripSlashes($_GET['vatlist']); } Index: database_show.php =================================================================== RCS file: /cvsroot/tutos/tutos/php/database_show.php,v retrieving revision 1.33 retrieving revision 1.34 diff -u -r1.33 -r1.34 --- database_show.php 19 Jul 2004 19:08:43 -0000 1.33 +++ database_show.php 21 Sep 2004 08:31:36 -0000 1.34 @@ -101,6 +101,10 @@ echo $this->showdata($this->obj->invautoname,3); echo "</tr><tr>\n"; + echo $this->showfield($lang['CfgTaskAutoName']); + echo $this->showdata($this->obj->taskautoname,3); + + echo "</tr><tr>\n"; echo $this->showfield($lang['CfgVATlist']); echo $this->showdata($this->obj->vatlist,3); Index: db.p3 =================================================================== RCS file: /cvsroot/tutos/tutos/php/db.p3,v retrieving revision 1.151 retrieving revision 1.152 diff -u -r1.151 -r1.152 --- db.p3 6 Sep 2004 11:38:00 -0000 1.151 +++ db.p3 21 Sep 2004 08:31:36 -0000 1.152 @@ -135,6 +135,7 @@ define ('squirrelurl', 124); define ('jpgraph_old', 125); define ('freemind', 126); +define ('taskautoname',127); # Permissions and Object IDS (see also user.pinc) NO CHANGES HERE ! # These are distinct IDS for the different Objcts in TUTOS # never ! change or reuse a ID Index: task.pinc =================================================================== RCS file: /cvsroot/tutos/tutos/php/task.pinc,v retrieving revision 1.158 retrieving revision 1.159 diff -u -r1.158 -r1.159 --- task.pinc 1 Sep 2004 15:29:54 -0000 1.158 +++ task.pinc 21 Sep 2004 08:31:36 -0000 1.159 @@ -264,6 +264,7 @@ $this->p_id = -1; $this->parent = -1; $this->plist = array(); + $this->autoname = "auto"; $this->name = ""; $this->desc = ""; $this->volume = 0; @@ -340,6 +341,7 @@ $this->volume = $r->get($pos, "volume"); $this->volume_done = $r->get($pos, "volume_done"); $this->volume_todo = $r->get($pos, "volume_todo"); + $this->autoname = $r->get($pos, "autoname"); $this->name = $r->get($pos, "name"); $this->desc = $r->get($pos, "description"); $this->milestone = $r->get($pos, "milestone"); @@ -503,6 +505,17 @@ return; } /** + * set the autoname + */ + function setAutoname($value) { + global $tutos,$sequence; + if ( $value == "auto" ) { + $value = strftime($tutos[taskautoname]); + $value = eregi_replace("X","".$this->dbconn->nextid($sequence['tasknumber'][name]),$value); + } + $this->setStrField("autoname",$value,"TaskNumber"); + } + /** * set the Name */ function setName($value) { @@ -644,6 +657,7 @@ $q->addFV("milestone",$this->milestone,"INT"); $q->addFV("volume",$this->volume,"FLOAT"); $q->addFV("volume_todo",$this->volume_todo,"FLOAT"); + $q->addFV("autoname", $this->autoname,"STRING",$table['task']['autoname'][size]); $q->addFV("name",$this->name,"STRING",$table['task']['name'][size]); $q->addFV("description",$this->desc,"TEXT"); $q->addFV("r_start",$this->r_start,"DATETIME"); @@ -861,7 +875,7 @@ /** * Return a fullname i.e name */ - function getFullname() { + function getFullName() { global $lang; if ($this->milestone == 1) { @@ -983,24 +997,42 @@ $project = $this->getProject($projects_tasks); if( $this->getLink() != "" ) { - echo " <td class=\"task". $this->state . "\" valign=\"top\" colspan=\"2\" nowrap=\"nowrap\"> ". ($project != -1 ? $project->getLink() : "DTC") ." → ". $this->getLink()." </td>\n"; + #if a task id is set, we will show it + if ($this->autoname != "") { + $autoname = " (". $lang['TaskNumber'] .": ". $this->autoname .")"; + } + echo " <td class=\"task". $this->state . "\" valign=\"top\" colspan=\"2\" nowrap=\"nowrap\"> ". + ($project != -1 ? $project->getLink() : "DTC") ." → ". + $this->getLink($this->getFullName() . $autoname) ." </td>\n"; } break; } case "team": { + #if a task id is set, we will show it + if ($this->autoname != "") { + $autoname = " (". $lang['TaskNumber'] .": ". $this->autoname .")"; + } echo " <td class=\"task". $this->state ."\" valign=\"top\" colspan=\"2\" nowrap=\"nowrap\"> ". - $parent->getLink() ." &8594; ". - $this->getLink()." </td>\n"; + $parent->getLink() ." → ". + $this->getLink($this->getFullName() . $autoname)." </td>\n"; break; } default: { echo " <td class=\"task". $this->state ."\" align=\"right\" valign=\"top\"> ". $depth ." </td>\n"; - echo " <td valign=\"top\" nowrap=\"nowrap\"><p> "; + if ($this->autoname != "") { + echo " <td valign=\"top\" nowrap=\"nowrap\"> "; + for ($i = 0; $i <= $depth; $i++) { + echo " "; + } + echo $this->autoname .":<br> "; + } else { + echo " <td valign=\"top\" nowrap=\"nowrap\"><p> "; + } for ($i = 0; $i <= $depth; $i++) { echo " "; } echo $this->getLink()." "; - + switch( $fld ) { case "worker": echo "<p align=\"right\">".$lang['TaskWorker']; @@ -1142,6 +1174,182 @@ } return 0; } + + function printSmallRow (&$layout,$depth, &$parent, $fld = "", $slimit=0, $elimit=0) { + global $lang, $tutos, $projects_tasks,$table; + + if( !isset($projects_tasks) ) $projects_tasks = array(); + + // I sometimes get -1 as $this->id + if( $this->id == -1 ) + return; + + if ( ($parent->getType() == "address")||($parent->getType() == "team")||($parent->getType() == "base") ) { + $recursive = false; + # print only unfinished tasks + if ( $this->state == TASK_FINISH ) { + return 1; + } + } else { + $recursive = true; + } + + /* we limit the date range of printed tasks */ + if( $slimit == 0 && $elimit == 0 + || ($slimit != 0 && $elimit != 0 + && $slimit->datecmp($this->s_start) <= 0 + && ($elimit->datecmp($slimit) == 0 + || $elimit->datecmp($this->s_end) >= 0) )) { + + $c = $this->getcompletion(); + + echo $layout->OverviewRowStart($layout->line); + + switch( $parent->getType() ) { + case "address": { + /* We show the project name and the task name + * As we already know the person name, we should not have the need + * to display it (see Person Task Overview) + * + * That can take some times to complete... even with the + * $projects_tasks static var, keeping projects associations in + * memory, in order not to make too much data base access... + */ + $project = $this->getProject($projects_tasks); + + if( $this->getLink() != "" ) { + #if a task id is set, we will show it + if ($this->autoname != "") { + $autoname = " (". $lang['TaskNumber'] .": ". $this->autoname .")"; + } + echo " <td class=\"task". $this->state . "\" valign=\"top\" colspan=\"3\" nowrap=\"nowrap\"> ". + ($project != -1 ? $project->getLink() : "DTC") ." → ". + $this->getLink($this->getFullName() . $autoname) ." </td>\n"; + } + break; + } + case "team": { + #if a task id is set, we will show it + if ($this->autoname != "") { + $autoname = " (". $lang['TaskNumber'] .": ". $this->autoname .")"; + } + echo " <td class=\"task". $this->state ."\" valign=\"top\" colspan=\"3\" nowrap=\"nowrap\"> ". + $parent->getLink() ." → ". + $this->getLink($this->getFullName() . $autoname)." </td>\n"; + break; + } + default: { + echo " <td class=\"task". $this->state ."\" align=\"right\" valign=\"top\"> ". $depth ." </td>\n"; + if ($this->autoname != "") { + echo " <td valign=\"top\" colspan=\"2\" nowrap=\"nowrap\"> "; + for ($i = 0; $i <= $depth; $i++) { + echo " "; + } + echo $this->autoname .": "; + } else { + echo " <td valign=\"top\" colspan=\"2\" nowrap=\"nowrap\"> "; + } + for ($i = 0; $i <= $depth; $i++) { + echo " "; + } + echo $this->getLink()." "; + + switch( $fld ) { + case "worker": + echo "<p align=\"right\">".$lang['TaskWorker']; + $w = 0; + foreach ($this->worker as $i => $x) { + echo ($w %2 ? "<br />":" ").($w >0 ? ",":""). + $this->worker[$i]->getLink(); + $w++; + } + break; + + case "product": + $project = $this->getProject($projects_tasks); + echo "<p align=\"right\">".$lang['Product']." ".$project->getLink(); + break; + + default: + break; + } + + echo "</td>\n"; + } + } // end of switch $parent->getType() + + // I have some strange bug where I reach non existing entities. + if( $this->getLink() == "" ) + return 0; + + // When displaying an address time overview, we have to compute + // the volume done by the $parent address ! + if( $parent->getType() == "address" ) { + $volume = $this->volume; + $volume_done = computeWorkedHours($parent, $this); + } else { + $volume = $this->volume; + $volume_done = $this->volume_done; + } + + echo " <td align=\"right\" valign=\"top\" nowrap=\"nowrap\">" + .hour_format($volume_done,2) ." / ". hour_format($volume,2) + ." ". $lang['hours'] ." </td>\n"; + + echo " <td valign=\"top\" align=\"center\">" + .$this->s_start->getDate() ." </td>\n"; + + $w = 200; + $h = 32; // height + // seconds per pixel + $t = time(); + $max_end = max($parent->max_end->ts,$t); + $min_start = min($parent->min_start->ts,$t); + $p = ( ($max_end - $min_start) / $w); + if ( $p == 0 ) { +# $p = 1; + } + + // from earliest to start + $x1 = round(($this->s_start->ts - $min_start)/$p); + $x1a = round( ($t - $min_start)/$p); + $x1b = round(( $this->s_start->ts - $t )/$p); + + $x2 = round(($this->s_end->ts - $this->s_start->ts)/$p); + + $x3 = round(($max_end - $this->s_end->ts)/$p); + $x3a = round(( $t - $this->s_end->ts)/$p); + $x3b = round( ($max_end - $t )/$p); + + echo " <td align=\"center\" valign=\"top\"> ". $this->s_end->getDate() ." </td>\n"; + + echo " <td align=\"center\"> "; + if ( $tutos[massupdate] == 1 ) { + # Checkbox column for massupdate + if ( $this->mod_ok() ) { + echo "<input name=\"mark[]\" type=\"checkbox\" value=\"". $this->id ."\">"; + } else { + echo "-"; + } + } else { + if ( $this->del_ok() ) { + echo confirmlink("task_del.php?id=".$this->id,$lang['Delete'],sprintf($lang['TaskDelete'],$this->name)); + } else { + echo $lang['Delete']; + } + } + echo " </td>\n"; + echo $layout->OverviewRowEnd($layout->line++); + } + + if ( $recursive ) { + task::obj_read($this); + foreach($this->tasklist as $i => $f) { + $f->printSmallRow($layout,$depth +1,$parent, $fld, $slimit, $elimit); + } + } + return 0; + } /** * get the percentage of completion */ Index: task_ins.php =================================================================== RCS file: /cvsroot/tutos/tutos/php/task_ins.php,v retrieving revision 1.47 retrieving revision 1.48 diff -u -r1.47 -r1.48 --- task_ins.php 19 Jul 2004 19:08:45 -0000 1.47 +++ task_ins.php 21 Sep 2004 08:31:36 -0000 1.48 @@ -38,7 +38,13 @@ } $t->setParent($pid); - + + if ( empty($_POST['autoname']) || !isset($_POST['autoname']) ) { + $msg .= sprintf($lang['Err0009'],$lang['TaskNumber']) ."<br>"; + } else { + $autoname = StripSlashes($_POST['autoname']); + $gotourl= addUrlParameter($gotourl,"autoname=". UrlEncode($autoname),true); + } if ( !isset($_POST['name']) || (trim($_POST['name']) == "") ) { $msg .= sprintf($lang['Err0009'],$lang['TaskName']) ."<br>"; } else { @@ -201,6 +207,7 @@ $t->setREnd(new DateTime()); } + $t->setAutoName($autoname); $t->setState($state); $t->setVolume($_POST['volume']); $t->setVolumeDone($volume_done); Index: task_new.php =================================================================== RCS file: /cvsroot/tutos/tutos/php/task_new.php,v retrieving revision 1.66 retrieving revision 1.67 diff -u -r1.66 -r1.67 --- task_new.php 19 Jul 2004 19:08:45 -0000 1.66 +++ task_new.php 21 Sep 2004 08:31:36 -0000 1.67 @@ -24,10 +24,10 @@ * */ Function info() { - global $lang,$table; + global $lang,$tutos,$table; echo "<form name=\"taskadd\" action=\"task_ins.php\" method=\"POST\">\n"; - + echo $this->DataTableStart(); echo " <tr><th colspan=\"4\">"; if ( $this->obj->id != -1 ) { @@ -43,6 +43,28 @@ echo " <td align=\"right\" colspan=\"1\">". acl_link($this->obj) ."</td>\n"; echo " </tr>\n"; } + + echo " <tr>\n"; + echo $this->showfieldc($lang['TaskNumber'],1,"autoname"); + if ( $tutos[taskautoname] == "" ) { + echo " <td colspan=\"3\">"; + echo " <input id=\"autoname\" value=\"". $this->obj->autoname ."\" name=\"autoname\">\n"; + echo " </td>\n"; + } else { + # Using the autoname system for tasks + if ( ($this->obj->id > 0) && ($this->obj->autoname != '') ) { + echo $this->showdata(myentities($this->obj->autoname),3); + $this->addHidden("autoname",$this->obj->autoname); + } else { + $tmp = strftime($tutos[taskautoname]); + echo " <td colspan=\"3\">"; + echo $lang['TaskAutoName'] ." ". $tmp; + $this->addHidden("autoname","auto"); + echo " </td>\n"; + } + } + echo " </tr>\n"; + echo " <tr>\n"; echo $this->showfieldc($lang['TaskName'],1,"name"); echo " <td><input id=\"name\" size=\"". min($table['task']['name'][size],40) ."\" maxlength=\"". $table['task']['name'][size] ."\" name=\"name\" value=\"". myentities($this->obj->name) ."\"></td>\n"; Index: task_overview.php =================================================================== RCS file: /cvsroot/tutos/tutos/php/task_overview.php,v retrieving revision 1.69 retrieving revision 1.70 diff -u -r1.69 -r1.70 --- task_overview.php 19 Jul 2004 19:08:45 -0000 1.69 +++ task_overview.php 21 Sep 2004 08:31:36 -0000 1.70 @@ -32,8 +32,14 @@ $this->parent->max_end = new DateTime(0); $this->parent->sum['volume'] = 0.0; $this->parent->sum['volume_done'] = 0.0; - $q = "SELECT * from ". $this->dbconn->prefix ."tasks WHERE "; + $q = "SELECT * from ". $this->dbconn->prefix ."tasks WHERE ("; $q .= $this->dbconn->like("name", $this->search); + $q .= " OR "; + $q .= $this->dbconn->like("autoname", $this->search); + $q .= " )"; + if ( isset($_REQUEST['id']) ) { + $q .= " AND p_id=". $_REQUEST['id']; + } $q .= " ORDER by s_start"; $r = $this->dbconn->Exec($q); $n = $r->numrows(); @@ -116,7 +122,7 @@ $this->end = $this->parent->max_end; } - /* We add some date selection */ + /* We add some date selection */ echo "<p align=\"center\">\n"; echo $this->DataTableStart(); @@ -124,111 +130,211 @@ echo $this->showfieldc($lang['StartDate'],0,"start_d"); echo " <td colspan=\"3\">\n"; $this->start->EnterDate("start"); - echo "</td>\n"; + echo " </td>\n"; - echo "<td align=\"center\" rowspan=\"2\">"; - echo "<input type=\"submit\" value=\"".$lang['Enter']."\">"; + echo " <td align=\"center\" rowspan=\"2\">"; + echo " <input type=\"text\" value=\"\" name=\"name\" size=\"30\" maxlength=\"50\"". + " title=\"". $lang['SearchForTask'] ." (". $lang['TaskDesc'] ."/". $lang['TaskNumber'] .")\">"; echo "</td>\n"; - + + echo " <td align=\"center\" rowspan=\"2\">"; + echo "<input type=\"submit\" value=\"". $lang['Search'] ."\">"; + echo "</td>\n"; + + echo " <td align=\"center\" rowspan=\"2\"> ("; + if ( $this->small == 0 ) { + if ( isset($_REQUEST['fld']) ) { + echo makelink("task_overview.php?id=". $_REQUEST['id'] ."&fld=". $_REQUEST['fld'] ."&small=1",$lang['TaskViewSmall']); + } else { + echo makelink("task_overview.php?id=". $_REQUEST['id'] ."&small=1",$lang['TaskViewSmall']); + } + } else { + if ( isset($_REQUEST['fld']) ) { + echo makelink("task_overview.php?id=". $_REQUEST['id'] ."&fld=". $_REQUEST['fld'] ,$lang['TaskViewNormal']); + } else { + echo makelink("task_overview.php?id=". $_REQUEST['id'] ,$lang['TaskViewNormal']); + } + } + echo ")</td>\n"; echo " </tr>\n"; echo " <tr>\n"; echo $this->showfieldc($lang['EndDate'],0,"end_d"); echo " <td colspan=\"3\">\n"; $this->end->EnterDate("end"); - echo "</td>\n"; + echo " </td>\n"; echo " </tr>\n"; - + echo $this->DataTableEnd(); echo "<p>\n"; - - echo $this->OverviewTableStart(); - $cols = 9; - echo " <thead>\n"; - echo " <tr>\n"; - echo " <th colspan=\"". $cols ."\" width=\"100%\">". $lang['TaskOverview'] ." ". $lang['forphrase'] ." "; - if ($this->search == "") { - echo menulink($this->parent->getURL(),myentities($this->parent->getFullName())); - } else { - echo "\"". $this->search ."\""; - } - echo "</th>\n"; - echo " </tr>\n"; - echo " <tr>\n"; - echo " <td colspan=\"2\" class=\"desc\" nowrap> ". $lang['TaskVolumeFull'] ." </td>\n"; - echo " <td colspan=\"2\"> ". number_format($this->parent->sum['volume'],2) ." ". $lang['hours'] ."</td>\n"; - echo " <th colspan=\"1\" rowspan=\"2\" nowrap>". $lang['AppStart'] ."<br>". $this->start->getDate() ."</th>\n"; - echo " <th colspan=\"1\" rowspan=\"2\" nowrap>". $lang['AppEnd'] ."<br>". $this->end->getDate() ."</th>\n"; - if ( $this->parent->sum['volume'] != 0 ) { - $c = ( 100.0 * ( $this->parent->sum['volume_done'] / $this->parent->sum['volume'] )); - } else { - $c = 0.0; - } - echo " <td colspan=\"2\" rowspan=\"3\" align=\"right\" class=\"desc\"> ". $lang['Completed'] .": <font size=\"+2\">". sprintf("%3.2f %%",$c) ."</font></td>\n"; - if ( $tutos[massupdate] == 1 ) { + + if ( $this->small == 0 ) { + echo $this->OverviewTableStart(); + $cols = 9; + echo " <thead>\n"; + echo " <tr>\n"; + echo " <th colspan=\"". $cols ."\" width=\"100%\">". $lang['TaskOverview'] ." ". $lang['forphrase'] ." "; + if ($this->search == "") { + echo menulink($this->parent->getURL(),myentities($this->parent->getFullName())); + } else { + echo "\"". $this->search ."\""; + } + echo "</th>\n"; + echo " </tr>\n"; + echo " <tr>\n"; + echo " <td colspan=\"2\" class=\"desc\" nowrap> ". $lang['TaskVolumeFull'] ." </td>\n"; + echo " <td colspan=\"2\"> ". number_format($this->parent->sum['volume'],2) ." ". $lang['hours'] ."</td>\n"; + echo " <th colspan=\"1\" rowspan=\"2\" nowrap>". $lang['AppStart'] ."<br>". $this->start->getDate() ."</th>\n"; + echo " <th colspan=\"1\" rowspan=\"2\" nowrap>". $lang['AppEnd'] ."<br>". $this->end->getDate() ."</th>\n"; + if ( $this->parent->sum['volume'] != 0 ) { + $c = ( 100.0 * ( $this->parent->sum['volume_done'] / $this->parent->sum['volume'] )); + } else { + $c = 0.0; + } + echo " <td colspan=\"2\" rowspan=\"3\" align=\"right\" class=\"desc\"> ". $lang['Completed'] .": <font size=\"+2\">". sprintf("%3.2f %%",$c) ."</font></td>\n"; + if ( $tutos[massupdate] == 1 ) { + # Checkbox column for massupdate + echo " <th rowspan=\"3\" nowrap><input type=\"checkbox\" name=\"checkit\" onclick=\"CheckAll2();\" /></th>\n"; + } else { + echo " <td rowspan=\"3\" nowrap> </td>\n"; + } + echo " </tr>\n"; + + echo " <tr>\n"; + echo " <td colspan=\"2\" rowspan=\"2\" class=\"desc\" nowrap> ". $lang['TaskVolumeDone'] ." </td>\n"; + echo " <td colspan=\"2\" rowspan=\"2\"> ". sprintf("%3.2f",$this->parent->sum['volume_done']) ." ". $lang['hours'] ."</td>\n"; + echo " </tr>\n"; + $a = 0; + + echo "<tr>"; + echo "<td colspan=\"2\"><img width=\"208\" height=\"2\" src=\"". $tutos['base'] ."/html/black.png\" alt=\"--------\"></td>"; + if ( $tutos[massupdate] == 1 ) { # Checkbox column for massupdate - echo " <th rowspan=\"3\" nowrap><input type=\"checkbox\" name=\"checkit\" onclick=\"CheckAll2();\" /></th>\n"; - } else { - echo " <td rowspan=\"3\" nowrap> </td>\n"; - } - echo " </tr>\n"; - - echo " <tr>\n"; - echo " <td colspan=\"2\" rowspan=\"2\" class=\"desc\" nowrap> ". $lang['TaskVolumeDone'] ." </td>\n"; - echo " <td colspan=\"2\" rowspan=\"2\"> ". sprintf("%3.2f",$this->parent->sum['volume_done']) ." ". $lang['hours'] ."</td>\n"; - echo " </tr>\n"; - $a = 0; - - echo "<tr>"; - echo "<td colspan=\"2\"><img width=\"208\" height=\"2\" src=\"". $tutos['base'] ."/html/black.png\" alt=\"--------\"></td>"; - if ( $tutos[massupdate] == 1 ) { - # Checkbox column for massupdate -# echo " <td></td>\n"; - } - echo "</tr>"; - echo " </thead>\n"; - - $skipped = 0; - $this->line = 0; - - if ( $this->parent->getType() == "task" ) { - $skipped += $this->parent->printRow($this,0,$this->parent,$this->fld, $this->start, $this->end); + # echo " <td></td>\n"; + } + echo "</tr>"; + echo " </thead>\n"; + + $skipped = 0; + $this->line = 0; + + if ( $this->parent->getType() == "task" ) { + $skipped += $this->parent->printRow($this,0,$this->parent,$this->fld, $this->start, $this->end); + } else { + foreach ($this->parent->tasklist as $i => $f) { + $skipped += $this->parent->tasklist[$i]->printRow($this,0,$this->parent,$this->fld, $this->start, $this->end); + $a++; + } + } + + if ( $tutos[massupdate] == 1 ) { + echo $this->UpdateRowStart($cols-1); + echo sprintf($lang['withmarked'],$lang['Tasks']); + echo "<select name=\"action\" onChange=\"disableArg();\">\n"; + echo " <option value=\"-1\" selected>". $lang['ActionNil'] ."</option>\n"; + echo " <option value=\"-2\">". $lang['Delete'] ."</option>\n"; + @reset($lang['TaskStates']); + while ( list ($f,$i) = @each ($lang['TaskStates']) ) { + echo " <option value=\"". $f ."\">". sprintf($lang['SetTo'],$lang['TaskState'],$lang['TaskStates'][$f]) ."</option>\n"; + } + # Adding the ability to mass update time slice + echo " <option value=\"timeslice\">".$lang['Reschedule']."</option>\n"; + echo " <option value=\"timeslice_s\">".$lang['Reschedule_s']."</option>\n"; + echo " <option value=\"timeslice_e\">".$lang['Reschedule_e']."</option>\n"; + echo "</select>\n"; + echo " <input name=\"arg\" type=\"text\" value=\"0\" size=\"3\">\n"; + echo $this->UpdateRowEnd(1); + } + echo $this->OverviewTableEnd(); + + if ( $tutos[massupdate] == 1 ) { + hiddenFormElements(); + echo $this->getHidden(); + echo "</form>"; + } + if ($skipped > 0 ) { + echo "skipped ". $skipped ." (". $lang['TaskStates'][2].") ". $lang['Tasks']; + } } else { - foreach ($this->parent->tasklist as $i => $f) { - $skipped += $this->parent->tasklist[$i]->printRow($this,0,$this->parent,$this->fld, $this->start, $this->end); - $a++; + echo $this->OverviewTableStart(); + $cols = 7; + echo " <thead>\n"; + echo " <tr>\n"; + echo " <th colspan=\"". $cols ."\" width=\"100%\">". $lang['TaskOverview'] ." ". $lang['forphrase'] ." "; + if ($this->search == "") { + echo menulink($this->parent->getURL(),myentities($this->parent->getFullName())); + } else { + echo "\"". $this->search ."\""; + } + echo "</th>\n"; + echo " </tr>\n"; + + echo " <tr>\n"; + echo " <td colspan=\"2\" class=\"desc\" nowrap> ". $lang['TaskVolumeFull'] ." </td>\n"; + echo " <td colspan=\"2\"> ". number_format($this->parent->sum['volume'],2) ." ". $lang['hours'] ."</td>\n"; + if ( $this->parent->sum['volume'] != 0 ) { + $c = ( 100.0 * ( $this->parent->sum['volume_done'] / $this->parent->sum['volume'] )); + } else { + $c = 0.0; + } + echo " <td colspan=\"2\" rowspan=\"3\" align=\"right\" class=\"desc\"><font size=\"+2\">". sprintf("%3.2f %%",$c) ."</font></td>\n"; + if ( $tutos[massupdate] == 1 ) { + # Checkbox column for massupdate + echo " <th rowspan=\"3\" nowrap><input type=\"checkbox\" name=\"checkit\" onclick=\"CheckAll2();\" /></th>\n"; + } else { + echo " <td rowspan=\"3\" nowrap> </td>\n"; + } + echo " </tr>\n"; + echo " <tr>\n"; + echo " <td colspan=\"2\" rowspan=\"2\" class=\"desc\" nowrap> ". $lang['TaskVolumeDone'] ." </td>\n"; + echo " <td colspan=\"2\" rowspan=\"2\"> ". sprintf("%3.2f",$this->parent->sum['volume_done']) ." ". $lang['hours'] ."</td>\n"; + echo " </tr>\n"; + $a = 0; + + echo " </thead>\n"; + + $skipped = 0; + $this->line = 0; + + if ( $this->parent->getType() == "task" ) { + $skipped += $this->parent->printSmallRow($this,0,$this->parent,$this->fld, $this->start, $this->end); + } else { + foreach ($this->parent->tasklist as $i => $f) { + $skipped += $this->parent->tasklist[$i]->printSmallRow($this,0,$this->parent,$this->fld, $this->start, $this->end); + $a++; + } + } + + if ( $tutos[massupdate] == 1 ) { + echo $this->UpdateRowStart($cols-1); + echo sprintf($lang['withmarked'],$lang['Tasks']); + echo "<select name=\"action\" onChange=\"disableArg();\">\n"; + echo " <option value=\"-1\" selected>". $lang['ActionNil'] ."</option>\n"; + echo " <option value=\"-2\">". $lang['Delete'] ."</option>\n"; + @reset($lang['TaskStates']); + while ( list ($f,$i) = @each ($lang['TaskStates']) ) { + echo " <option value=\"". $f ."\">". sprintf($lang['SetTo'],$lang['TaskState'],$lang['TaskStates'][$f]) ."</option>\n"; + } + # Adding the ability to mass update time slice + echo " <option value=\"timeslice\">".$lang['Reschedule']."</option>\n"; + echo " <option value=\"timeslice_s\">".$lang['Reschedule_s']."</option>\n"; + echo " <option value=\"timeslice_e\">".$lang['Reschedule_e']."</option>\n"; + echo "</select>\n"; + echo " <input name=\"arg\" type=\"text\" value=\"0\" size=\"3\">\n"; + echo $this->UpdateRowEnd(1); + } + echo $this->OverviewTableEnd(); + + if ( $tutos[massupdate] == 1 ) { + hiddenFormElements(); + echo $this->getHidden(); + echo "</form>"; } - } - - if ( $tutos[massupdate] == 1 ) { - echo $this->UpdateRowStart($cols-1); - echo sprintf($lang['withmarked'],$lang['Tasks']); - echo "<select name=\"action\" onChange=\"disableArg();\">\n"; - echo " <option value=\"-1\" selected>". $lang['ActionNil'] ."</option>\n"; - echo " <option value=\"-2\">". $lang['Delete'] ."</option>\n"; - @reset($lang['TaskStates']); - while ( list ($f,$i) = @each ($lang['TaskStates']) ) { - echo " <option value=\"". $f ."\">". sprintf($lang['SetTo'],$lang['TaskState'],$lang['TaskStates'][$f]) ."</option>\n"; - } - # Adding the ability to mass update time slice - echo " <option value=\"timeslice\">".$lang['Reschedule']."</option>\n"; - echo " <option value=\"timeslice_s\">".$lang['Reschedule_s']."</option>\n"; - echo " <option value=\"timeslice_e\">".$lang['Reschedule_e']."</option>\n"; - echo "</select>\n"; - echo " <input name=\"arg\" type=\"text\" value=\"0\" size=\"3\">\n"; - echo $this->UpdateRowEnd(1); - } - echo $this->OverviewTableEnd(); - - if ( $tutos[massupdate] == 1 ) { - hiddenFormElements(); - echo $this->getHidden(); - echo "</form>"; - } - if ($skipped > 0 ) { - echo "skipped ". $skipped ." (". $lang['TaskStates'][2].") ". $lang['Tasks']; - } + if ($skipped > 0 ) { + echo "skipped ". $skipped ." (". $lang['TaskStates'][2].") ". $lang['Tasks']; + } + } } /** * navigate @@ -418,10 +524,19 @@ $this->fld = $_REQUEST['fld']; } task_calc($this->parent); - + $x = task::getaddlink($this->user,$this->parent,$lang['NewEntry']); $this->addMenu($x); - } else if ( isset($_REQUEST['name']) ) { + + if ( $_REQUEST['name'] != "" ) { + $this->search = $_REQUEST['name']; + $this->parent = new tutos_base($this->dbconn); + #$this->fld = "worker"; + $this->select_by_name(); + $this->addHidden("name",$this->search); + } + + } else if ( isset($_REQUEST['name'])) { # Classical Search $this->search = $_REQUEST['name']; $this->parent = new tutos_base($this->dbconn); @@ -429,7 +544,7 @@ $this->select_by_name(); $this->addHidden("name",$this->search); } - + # State if ( isset($_REQUEST['state']) ) { if (false == is_numeric($_REQUEST['state'])) { @@ -496,6 +611,13 @@ web_StackStartLayout($this, "task_overview.php?id=".$this->parent->id, "task_overview.php?".$_SERVER['QUERY_STRING']); + + if ( isset($_GET['small']) ) { + $this->small = $_GET['small']; + } else { + $this->small = 0; + } + $this->addHidden("small",$this->small); } } Index: task_show.php =================================================================== RCS file: /cvsroot/tutos/tutos/php/task_show.php,v retrieving revision 1.71 retrieving revision 1.72 diff -u -r1.71 -r1.72 --- task_show.php 19 Jul 2004 19:08:45 -0000 1.71 +++ task_show.php 21 Sep 2004 08:31:36 -0000 1.72 @@ -36,6 +36,13 @@ echo " <tr>\n"; echo " <td colspan=\"4\">". sprintf ($lang['TaskCreation'],$this->obj->creator->getLink(),$this->obj->creation->getDateTime()) ."</td>\n"; echo " </tr>\n"; + + if ($this->obj->autoname != '') { + echo " <tr>\n"; + echo $this->showfield($lang['TaskNumber']); + echo $this->showdata(myentities($this->obj->autoname),3); + echo " </tr>\n"; + } echo " <tr>\n"; echo $this->showfield($lang['TaskName']); |