Changeset 1270 for tupper


Ignore:
Timestamp:
2009-05-18 14:50:28 (3 years ago)
Author:
fries
Message:

Search works

Location:
tupper/trunk
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • tupper/trunk/tupper-model-api/src/main/java/org/kauriproject/tupper/api/manager/TaskManager.java

    r1263 r1270  
    1717    public List<Task> findAllDoneByProject(Project p); 
    1818    public List<Task> findByAssignedSubTasks(Employee e, Task t); 
     19    public List<Task> findBySearchValueAndEmployee(Employee e, String search); 
     20    public List<Task> findBySearchValue(String search); 
    1921    public Task findById(int id); 
    2022    public Task create(); 
  • tupper/trunk/tupper-model/src/main/java/org/kauriproject/tupper/impl/manager/TaskManagerImpl.java

    r1269 r1270  
    3131        } else { 
    3232            if (t.getParentTask() instanceof Project) { 
    33                 tImpl.setBelongsToProject((Project)tImpl.getParentTask()); 
     33                tImpl.setBelongsToProject((Project) tImpl.getParentTask()); 
    3434            } else { 
    3535                tImpl.setBelongsToProject(t.getParentTask().getBelongsToProject()); 
     
    4141        //    tImpl.setTaskPath("/" + tImpl.getId()); 
    4242        //} else { 
    43             tImpl.setTaskPath(tImpl.getParentTask().getTaskPath() + "/" + tImpl.getId()); 
     43        tImpl.setTaskPath(tImpl.getParentTask().getTaskPath() + "/" + tImpl.getId()); 
    4444        //} 
    4545        return update(t); 
     
    168168        } 
    169169    } 
     170 
     171    public List<Task> findBySearchValueAndEmployee(Employee e, String search) { 
     172        EntityManager em = tupper.getEntityManager(); 
     173        String sql = "SELECT t FROM task t WHERE t.assigned = :empl AND (t.description LIKE :search OR t.name LIKE :search)"; 
     174        Query q = em.createQuery(sql); 
     175        q.setParameter("empl", e); 
     176        q.setParameter("search", "%" + search + "%"); 
     177        return q.getResultList(); 
     178    } 
     179 
     180    public List<Task> findBySearchValue(String search) { 
     181        EntityManager em = tupper.getEntityManager(); 
     182        String sql = "SELECT t FROM task t WHERE t.description LIKE :search OR t.name LIKE :search"; 
     183        Query q = em.createQuery(sql); 
     184        q.setParameter("search", "%" + search + "%"); 
     185        return q.getResultList(); 
     186    } 
    170187} 
  • tupper/trunk/tupper-site/src/main/java/org/kauriproject/tupper/resource/TasksResource.java

    r1262 r1270  
    1313import org.kauriproject.tupper.api.model.Employee; 
    1414import org.kauriproject.tupper.api.model.Performance; 
     15import org.kauriproject.tupper.api.model.Project; 
    1516import org.kauriproject.tupper.api.model.Task; 
    1617import org.restlet.Context; 
     
    5758            Form form = req.getResourceRef().getQueryAsForm(); 
    5859            String emplInitials = form.getValues("empl"); 
    59  
     60            String searchValue = form.getValues("search"); 
    6061            tupper.begin(); 
    6162            List<Task> taskList = null; 
    6263            Employee e; 
    63             if (emplInitials != null) { 
    64                 e = tupper.getEmployeeManager().findByInitials(emplInitials); 
    65                 taskList = tm.findByEmployee(e); 
     64            if (searchValue != null) { 
     65                if (emplInitials != null) { 
     66                    e = tupper.getEmployeeManager().findByInitials(emplInitials); 
     67                    taskList = tm.findBySearchValueAndEmployee(e, searchValue); 
     68                } else { 
     69                    taskList = tm.findBySearchValue(searchValue); 
     70                } 
     71            } else { 
     72                if (emplInitials != null) { 
     73                    e = tupper.getEmployeeManager().findByInitials(emplInitials); 
     74                    taskList = tm.findByEmployee(e); 
     75                } else { 
     76                    taskList = tm.findAll(); 
     77                } 
    6678            } 
    6779            tupper.commit(); 
     
    7082                JSONObject jsonTask = new JSONObject(); 
    7183                jsonTask.element("id", task.getId()); 
    72                 jsonTask.element("name", task.getName()); 
    7384                jsonTask.element("estimatedTime", Math.round(task.getEstimatedTime())); 
    74                 jsonTask.element("assigned", task.getAssigned().getFirstName() + " " + task.getAssigned().getLastName()); 
    7585                jsonTask.element("done", task.isDone()); 
    7686                jsonTask.element("description", task.getDescription()); 
     87                if(task.getAssigned() != null){ 
     88                    jsonTask.element("assigned", task.getAssigned().getFirstName() + " " + task.getAssigned().getLastName()); 
     89                }else{ 
     90                    jsonTask.element("assigned", "---"); 
     91                } 
     92                 
     93                if(task.getBelongsToProject() == null){ 
     94                    Project p = (Project)task; 
     95                    jsonTask.element("project", task.getName()); 
     96                    jsonTask.element("name", task.getName()); 
     97                    jsonTask.element("customer", p.getCustomer().getName()); 
     98                }else{ 
     99                    jsonTask.element("project", task.getBelongsToProject().getName()); 
     100                    jsonTask.element("name", task.getName()); 
     101                    jsonTask.element("customer", task.getBelongsToProject().getCustomer().getName()); 
     102                } 
    77103 
    78104                tupper.begin(); 
  • tupper/trunk/tupper-site/src/main/kauri/pages/{user}/time..xml

    r1269 r1270  
    22<html xmlns:t="http://kauriproject.org/template" t:inherit="../../templates/layout/layout.xml"> 
    33 
    4     <t:init> 
    5         <t:variable name="current_week" value="20" overwrite="false"/> 
     4    <t:init> 
     5        <t:variable name="current_week" value="20" overwrite="false"/> 
    66        <t:variable name="current_year" value="2009" overwrite="false"/> 
    7         <t:import src="../../templates/macro/all.xml" /> 
    8     </t:init> 
     7        <t:import src="../../templates/macro/all.xml" /> 
     8    </t:init> 
    99     
    10     <t:block name="title">Performances</t:block> 
     10    <t:block name="title">Performances</t:block> 
    1111     
    12     <t:block name="extraheader"> 
    13         <link rel="stylesheet" type="text/css" 
     12    <t:block name="extraheader"> 
     13        <link rel="stylesheet" type="text/css" 
    1414            href="${publicUri('service:/main/static/css/time.css')}" /> 
    15         <link href="${publicUri('service:/main/static/css/ui.finder.css')}" 
     15        <link href="${publicUri('service:/main/static/css/ui.finder.css')}" 
    1616            rel="stylesheet" type="text/css" /> 
    17         <link href="${publicUri('service:/main/static/css/ui.theme.css')}" 
     17        <link href="${publicUri('service:/main/static/css/ui.theme.css')}" 
    1818            rel="stylesheet" type="text/css" /> 
    19         <script type="text/javascript"> 
     19        <script type="text/javascript"> 
    2020          <![CDATA[ 
    2121            var baseUri = "${publicUri('service:/data/')}"; 
     
    2323            var currentWeek = "${current_week}"*1; 
    2424            var currentYear = "${current_year}"*1; 
     25            var performancesFconf= { 
     26    "dataURI": "", 
     27    "fieldTypes":{ 
     28        "zero":{ 
     29            base:'integer', 
     30            "user-format": "noZero" 
     31        }, 
     32        "task":{ 
     33            base:'string', 
     34            "user-format": "noTask" 
     35        } 
     36    }, 
     37    "formatters":{ 
     38        "noZero":{ 
     39            base: "numeric", 
     40            format: function(val){ 
     41                var result = this["<super.call>"]("format", [val]); 
     42                return result === "0" ? "" : result; 
     43            }, 
     44            parse: function(valstr) { 
     45                //return this["<super.call>"]("parse", [valstr]); 
     46                var result =  this["<super.call>"]("parse", [valstr]); 
     47                return result === undefined ? 0 : result; 
     48            } 
     49        }, 
     50        "noTask":{ 
     51            format:function(val){ 
     52                if(val === ""){ 
     53                    return "noTask"; 
     54                }else{ 
     55                    return val; 
     56                } 
     57            } 
     58        } 
     59    } 
     60} 
    2561          ]]> 
    26         </script> 
    27         <script type="text/javascript" 
    28             src="${publicUri('service:/main/static/js/scrollable_table.js')}"></script> 
    29         <script type="text/javascript" src="${publicUri('service:/main/static/js/time.js')}"></script> 
    30         <script type="text/javascript" 
    31             src="${publicUri('service:/main/static/js/ui.finder.js')}"></script> 
    32         <script type="text/javascript" 
    33             src="${publicUri('service:/main/static/js/jquery.scrollTo-1.4.0-min.js')}"></script> 
    34     </t:block> 
    35     <body> 
    36         <t:block name="content"> 
    37             <div id="row1"> 
    38                 <div id="weeks"> 
    39                     <table> 
    40                         <thead> 
    41                             <tr> 
    42                                 <td colspan="2">Week</td> 
    43                                 <td>Mo</td> 
    44                                 <td>Tu</td> 
    45                                 <td>We</td> 
    46                                 <td>Th</td> 
    47                                 <td>Fr</td> 
    48                                 <td>Sa</td> 
    49                                 <td>Su</td> 
    50                             </tr> 
    51                             <tr class="pager"> 
     62        </script> 
     63        <script type="text/javascript" 
     64            src="${publicUri('service:/main/static/js/scrollable_table.js')}"> 
     65        </script> 
     66        <script type="text/javascript" src="${publicUri('service:/main/static/js/time.js')}"></script> 
     67        <script type="text/javascript" 
     68            src="${publicUri('service:/main/static/js/ui.finder.js')}"> 
     69        </script> 
     70        <script type="text/javascript" 
     71            src="${publicUri('service:/main/static/js/jquery.scrollTo-1.4.0-min.js')}"> 
     72        </script> 
     73    </t:block> 
     74    <body> 
     75        <t:block name="content"> 
     76            <div id="row1"> 
     77                <div id="weeks"> 
     78                    <table> 
     79                        <thead> 
     80                            <tr> 
     81                                <td colspan="2">Week</td> 
     82                                <td>Mo</td> 
     83                                <td>Tu</td> 
     84                                <td>We</td> 
     85                                <td>Th</td> 
     86                                <td>Fr</td> 
     87                                <td>Sa</td> 
     88                                <td>Su</td> 
     89                            </tr> 
     90                            <tr class="pager"> 
    5291                                <!--<td colspan="5" class="warning">Previous Weeks Incomplete</td>-->  
    53                                 <td colspan="9"> 
    54                                     <input type="button" value="Previous Weeks" id="previous_weeks" /> 
    55                                 </td> 
    56                             </tr> 
    57                         </thead> 
    58                         <tbody> 
     92                                <td colspan="9"> 
     93                                    <input type="button" value="Previous Weeks" id="previous_weeks" /> 
     94                                </td> 
     95                            </tr> 
     96                        </thead> 
     97                        <tbody> 
    5998                            <!-- //Filled By JS\\--> 
    60                         </tbody> 
    61                         <tfoot> 
    62                             <tr class="pager"> 
    63                                 <td colspan="9"> 
    64                                     <input type="button" value="Next Weeks" id="next_weeks" /> 
    65                                 </td> 
    66                             </tr> 
    67                         </tfoot> 
    68                     </table> 
    69                 </div> 
    70  
    71                 <div id="details_week"> 
    72                     <form id="performances_form"> 
    73                         <fieldset> 
    74                             <table kauri-idref="performances" kauri-type="collection"> 
    75                                 <thead> 
    76                                     <tr> 
    77                                         <td>Customer</td> 
    78                                         <td>Project</td> 
    79                                         <td>Taak</td> 
    80                                         <td>Mo</td> 
    81                                         <td>Tu</td> 
    82                                         <td>We</td> 
    83                                         <td>Th</td> 
    84                                         <td>Fr</td> 
    85                                         <td>Sa</td> 
    86                                         <td>Su</td> 
    87                                         <td colspan="3">Comment</td> 
    88                                     </tr> 
    89                                     <tr class="total"> 
    90                                         <td colspan="3">Total:</td> 
    91                                         <td class="day_total">0</td> 
    92                                         <td class="day_total">0</td> 
    93                                         <td class="day_total">0</td> 
    94                                         <td class="day_total">0</td> 
    95                                         <td class="day_total">0</td> 
    96                                         <td class="day_total">0</td> 
    97                                         <td class="day_total">0</td> 
    98                                         <td colspan="3"> 
    99                                             <input type="button" value="New Entry" class="new_performance_button" /> 
    100                                         </td> 
    101                                     </tr> 
    102                                     <tr kauri-role="layout"> 
    103                                         <input type="hidden" class="task_id" kauri-idref="taskid" 
     99                        </tbody> 
     100                        <tfoot> 
     101                            <tr class="pager"> 
     102                                <td colspan="9"> 
     103                                    <input type="button" value="Next Weeks" id="next_weeks" /> 
     104                                </td> 
     105                            </tr> 
     106                        </tfoot> 
     107                    </table> 
     108                </div> 
     109 
     110                <div id="details_week"> 
     111                    <form id="performances_form"> 
     112                        <fieldset> 
     113                            <table kauri-idref="performances" kauri-type="collection"> 
     114                                <thead> 
     115                                    <tr> 
     116                                        <td>Customer</td> 
     117                                        <td>Project</td> 
     118                                        <td>Taak</td> 
     119                                        <td>Mo</td> 
     120                                        <td>Tu</td> 
     121                                        <td>We</td> 
     122                                        <td>Th</td> 
     123                                        <td>Fr</td> 
     124                                        <td>Sa</td> 
     125                                        <td>Su</td> 
     126                                        <td colspan="3">Comment</td> 
     127                                    </tr> 
     128                                    <tr class="total"> 
     129                                        <td colspan="3">Total:</td> 
     130                                        <td class="day_total">0</td> 
     131                                        <td class="day_total">0</td> 
     132                                        <td class="day_total">0</td> 
     133                                        <td class="day_total">0</td> 
     134                                        <td class="day_total">0</td> 
     135                                        <td class="day_total">0</td> 
     136                                        <td class="day_total">0</td> 
     137                                        <td colspan="3"> 
     138                                            <input type="button" value="New Entry" class="new_performance_button" /> 
     139                                        </td> 
     140                                    </tr> 
     141                                    <tr kauri-role="layout"> 
     142                                        <input type="hidden" class="task_id" kauri-idref="taskid" 
    104143                                            kauri-type="integer" /> 
    105144                                        <input type="hidden" class="performance_empl" kauri-idref="employee" 
    106145                                            kauri-type="string"/> 
    107                                         <input type="hidden" class="week" kauri-idref="week" 
     146                                        <input type="hidden" class="week" kauri-idref="week" 
    108147                                            kauri-type="string" /> 
    109                                         <td> 
    110                                             <a href="#" class="new_performance_button">--</a> 
    111                                             <input class="hidden" type="hidden" kauri-idref="customer" 
     148                                        <td> 
     149                                            <a href="#" class="new_performance_button">--</a> 
     150                                            <input class="hidden" type="hidden" kauri-idref="customer" 
    112151                                                kauri-type="string" /> 
    113                                         </td> 
    114                                         <td> 
    115                                             <a href="#" class="new_performance_button">--</a> 
    116                                             <input class="hidden" type="hidden" kauri-idref="project" 
     152                                        </td> 
     153                                        <td> 
     154                                            <a href="#" class="new_performance_button">--</a> 
     155                                            <input class="hidden" type="hidden" kauri-idref="project" 
    117156                                                kauri-type="string" /> 
    118                                         </td> 
    119                                         <td> 
    120                                             <a href="#" class="new_performance_button">--</a> 
    121                                             <input class="hidden" type="hidden" kauri-idref="task" 
     157                                        </td> 
     158                                        <td> 
     159                                            <a href="#" class="new_performance_button">--</a> 
     160                                            <input class="hidden" type="hidden" kauri-idref="task" 
    122161                                                kauri-type="string" /> 
    123                                         </td> 
    124                                         <td class="table_input_time"> 
    125                                             <input kauri-idref="ma" type="text" kauri-type="zero" /> 
    126                                         </td> 
    127                                         <td class="table_input_time"> 
    128                                             <input kauri-idref="di" type="text" kauri-type="zero" /> 
    129                                         </td> 
    130                                         <td class="table_input_time"> 
    131                                             <input kauri-idref="wo" type="text" kauri-type="zero" /> 
    132                                         </td> 
    133                                         <td class="table_input_time"> 
    134                                             <input kauri-idref="do" type="text" kauri-type="zero" /> 
    135                                         </td> 
    136                                         <td class="table_input_time"> 
    137                                             <input kauri-idref="vr" type="text" kauri-type="zero" /> 
    138                                         </td> 
    139                                         <td class="table_input_time"> 
    140                                             <input kauri-idref="za" type="text" kauri-type="zero" /> 
    141                                         </td> 
    142                                         <td class="table_input_time"> 
    143                                             <input kauri-idref="zo" type="text" kauri-type="zero" /> 
    144                                         </td> 
    145                                         <td class="table_input_comment"> 
    146                                             <input kauri-idref="comment" kauri-type="string" type="text" /> 
    147                                         </td> 
    148                                         <td class="action"> 
    149                                             <img class="copy_action" kauri-idref="performances" 
     162                                        </td> 
     163                                        <td class="table_input_time"> 
     164                                            <input kauri-idref="ma" type="text" kauri-type="zero" /> 
     165                                        </td> 
     166                                        <td class="table_input_time"> 
     167                                            <input kauri-idref="di" type="text" kauri-type="zero" /> 
     168                                        </td> 
     169                                        <td class="table_input_time"> 
     170                                            <input kauri-idref="wo" type="text" kauri-type="zero" /> 
     171                                        </td> 
     172                                        <td class="table_input_time"> 
     173                                            <input kauri-idref="do" type="text" kauri-type="zero" /> 
     174                                        </td> 
     175                                        <td class="table_input_time"> 
     176                                            <input kauri-idref="vr" type="text" kauri-type="zero" /> 
     177                                        </td> 
     178                                        <td class="table_input_time"> 
     179                                            <input kauri-idref="za" type="text" kauri-type="zero" /> 
     180                                        </td> 
     181                                        <td class="table_input_time"> 
     182                                            <input kauri-idref="zo" type="text" kauri-type="zero" /> 
     183                                        </td> 
     184                                        <td class="table_input_comment"> 
     185                                            <input kauri-idref="comment" kauri-type="string" type="text" /> 
     186                                        </td> 
     187                                        <td class="action"> 
     188                                            <img class="copy_action" kauri-idref="performances" 
    150189                                                src="${publicUri('service:/main/static/img/copy.png')}" /> 
    151                                         </td> 
    152                                         <td class="action"> 
    153                                             <img class="delete_action" 
     190                                        </td> 
     191                                        <td class="action"> 
     192                                            <img class="delete_action" 
    154193                                                src="${publicUri('service:/main/static/img/delete.png')}" /> 
    155                                         </td> 
    156                                     </tr> 
    157                                 </thead> 
    158                                 <tbody kauri-role="input"> 
    159                                 </tbody> 
    160                                 <tfoot> 
    161                                     <tr class="total"> 
    162                                         <td colspan="3">Total:</td> 
    163                                         <td class="day_total">0</td> 
    164                                         <td class="day_total">0</td> 
    165                                         <td class="day_total">0</td> 
    166                                         <td class="day_total">0</td> 
    167                                         <td class="day_total">0</td> 
    168                                         <td class="day_total">0</td> 
    169                                         <td class="day_total">0</td> 
    170                                         <td colspan="3"> 
    171                                             <input type="button" value="New Entry" class="new_performance_button" /> 
    172                                             <input type="submit" value="Save" id="save_performances" /> 
    173                                         </td> 
    174                                     </tr> 
    175                                 </tfoot> 
    176                             </table> 
    177                         </fieldset> 
    178                     </form> 
    179                 </div> 
    180             </div> 
    181             <t:include src="../../templates/snippet/new_performance_entry.xml" /> 
    182         </t:block> 
    183     </body> 
     194                                        </td> 
     195                                    </tr> 
     196                                </thead> 
     197                                <tbody kauri-role="input"> 
     198                                </tbody> 
     199                                <tfoot> 
     200                                    <tr class="total"> 
     201                                        <td colspan="3">Total:</td> 
     202                                        <td class="day_total">0</td> 
     203                                        <td class="day_total">0</td> 
     204                                        <td class="day_total">0</td> 
     205                                        <td class="day_total">0</td> 
     206                                        <td class="day_total">0</td> 
     207                                        <td class="day_total">0</td> 
     208                                        <td class="day_total">0</td> 
     209                                        <td colspan="3"> 
     210                                            <input type="button" value="New Entry" class="new_performance_button" /> 
     211                                            <input type="submit" value="Save" id="save_performances" /> 
     212                                        </td> 
     213                                    </tr> 
     214                                </tfoot> 
     215                            </table> 
     216                        </fieldset> 
     217                    </form> 
     218                </div> 
     219            </div> 
     220            <t:include src="../../templates/snippet/new_performance_entry.xml" /> 
     221        </t:block> 
     222    </body> 
    184223 
    185224 
  • tupper/trunk/tupper-site/src/main/kauri/static/css/popups.css

    r1265 r1270  
    105105float:left; 
    106106font-size:20px; 
     107} 
     108.result{ 
     109    cursor:pointer; 
    107110} 
    108111#search_title h2{ 
  • tupper/trunk/tupper-site/src/main/kauri/static/js/time.js

    r1269 r1270  
    66var days = ["ma","di","wo","do","vr","za","zo"]; 
    77var week = ""; 
    8 var performancesFconf= { 
    9     "dataURI": "", 
    10     "fieldTypes":{ 
    11         "zero":{ 
    12             base:'integer', 
    13             "user-format": "noZero" 
    14         }, 
    15         "task":{ 
    16             base:'string', 
    17             "user-format": "noTask" 
    18         } 
    19     }, 
    20     "formatters":{ 
    21         "noZero":{ 
    22             base: "numeric", 
    23             format: function(val){ 
    24                 var result = this["<super.call>"]("format", [val]); 
    25                 return result === "0" ? "" : result; 
    26             }, 
    27             parse: function(valstr) { 
    28                 //return this["<super.call>"]("parse", [valstr]); 
    29                 var result =  this["<super.call>"]("parse", [valstr]); 
    30                 return result === undefined ? 0 : result; 
    31             } 
    32         }, 
    33         "noTask":{ 
    34             format:function(val){ 
    35                 if(val === ""){ 
    36                     return "noTask"; 
    37                 }else{ 
    38                     return val; 
    39                 } 
    40             } 
    41         } 
    42     } 
    43 } 
    448     
    459jQuery(document).ready(function(){ 
     
    9660      
    9761    $("#search_button").click(function(){ 
     62        $("#search_results").empty(); 
    9863        var searchValue = trim($("#popup_search").val()); 
    9964        if(searchValue !== ""){ 
    100             var url = baseUri + "task/?q.name=" + searchValue + "&filter="; 
     65            var url = baseUri + "task?search=" + searchValue; 
    10166            switch($("#select_mode select:first").val()){ 
    102                 case "global": $.getJSON(url + "global", parseSearchResults); 
     67                case "global": $.getJSON(url, parseSearchResults); 
    10368                    break; 
    104                 case "personal": $.getJSON(url + "personal", parseSearchResults); 
     69                case "personal": $.getJSON(url + "&empl=" + selectedEmpl, parseSearchResults); 
    10570                    break; 
    10671            } 
     
    199164    child.findControl("customer").setValue(customer); 
    200165    child.findControl("project").setValue(project); 
    201     child.findControl("task").setValue(task); 
     166    if(task !== project){ 
     167        child.findControl("task").setValue(task); 
     168    }else{ 
     169        child.findControl("task").setValue("---"); 
     170    } 
    202171    child.findControl("week").setValue(week); 
    203172    child.findControl("employee").setValue(selectedEmpl); 
     
    211180    for(var i=0; i < json.length; i++){ 
    212181        var task = json[i]; 
    213         var html = "<div class='result'><h1 class='result' value='"+ task.id +"' project='"+ task.project +"' customer='"+ task.customer +"'>" + task.name + "</h1>"; 
     182        var html = "<div><h1 class='result' value='"+ task.id +"' project='"+ task.project +"' customer='"+ task.customer +"'>" + task.name + "</h1>"; 
    214183        html += "<p>" + task.description + "</p><div>"; 
    215184        $("#search_results").append(html); 
     
    221190        var task = trim($(this).text()); 
    222191        //alert("taskid="+id+",project=" + proj + ",customer=" + proj + ",task=" + task); 
    223         fillPerformanceInfo(id, proj, task, cust); 
     192        fillPerformanceInfo(id*1, proj, task, cust); 
    224193        added=true; 
    225194        disablePopup(); 
Note: See TracChangeset for help on using the changeset viewer.