phpgroupware-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Phpgroupware-cvs] tasks/class.base.php, 1.1.2.11


From: nomail
Subject: [Phpgroupware-cvs] tasks/class.base.php, 1.1.2.11
Date: Wed, 30 Jun 2004 10:36:48 +0200

Update of /tasks
Modified Files:
        Branch: proposal-branch
          class.base.php

date: 2004/06/30 08:36:48;  author: jengo;  state: Exp;  lines: +111 -2

Log Message:
Edit task is starting to take form
=====================================================================
Index: tasks/class.base.php
diff -u tasks/class.base.php:1.1.2.10 tasks/class.base.php:1.1.2.11
--- tasks/class.base.php:1.1.2.10       Thu Jun  3 06:44:03 2004
+++ tasks/class.base.php        Wed Jun 30 08:36:48 2004
@@ -51,6 +51,27 @@
                )
        );
 
+       $functions['edit']   = array
+       (
+               'type'         => 'public',
+               'title'        => 'Edit Task',
+               'abstract'     => 'Edit task entry',
+               'params'       => array
+               (
+                       'type'            => array('type' => 'any', 'default' 
=> NOTSET, 'desc' => 'Type'),
+                       'responsible'     => array('type' => 'any', 'default' 
=> NOTSET, 'desc' => 'Responsible'),
+                       'subject'         => array('type' => 'any', 'default' 
=> NOTSET, 'desc' => 'Subject'),
+                       'description'     => array('type' => 'any', 'default' 
=> NOTSET, 'desc' => 'Description'),
+                       'category'        => array('type' => 'any', 'default' 
=> NOTSET, 'desc' => 'Category'),
+                       'priority'        => array('type' => 'any', 'default' 
=> NOTSET, 'desc' => 'Priority'),
+                       'start_date'      => array('type' => 'any', 'default' 
=> NOTSET, 'desc' => 'Start date'),
+                       'start_time'      => array('type' => 'any', 'default' 
=> NOTSET, 'desc' => 'start time'),
+                       'end_date'        => array('type' => 'any', 'default' 
=> NOTSET, 'desc' => 'End date'),
+                       'end_time'        => array('type' => 'any', 'default' 
=> NOTSET, 'desc' => 'End time'),
+                       'status'          => array('type' => 'any', 'default' 
=> NOTSET, 'desc' => 'Status'),
+               )
+       );
+
        $functions['view']   = array
        (
                'type'         => 'public',
@@ -173,7 +194,9 @@
                                'priority'       => 
$this->_convert_priority($dbresult->fields['task_priority']),
                                'priority_id'    => 
$dbresult->fields['task_priority'],
                                'start'          => 
execMethod('api.prefs._show_date',$dbresult->unixtimestamp($dbresult->fields['task_start'])),
-                               'end'            => 
execMethod('api.prefs._show_date',$dbresult->unixtimestamp($dbresult->fields['task_end']))
+                               'end'            => 
execMethod('api.prefs._show_date',$dbresult->unixtimestamp($dbresult->fields['task_end'])),
+                               'start_epoch'    => 
$dbresult->unixtimestamp($dbresult->fields['task_start']),
+                               'end_epoch'      => 
$dbresult->unixtimestamp($dbresult->fields['task_end']),
                        );
 
                        return $result;
@@ -519,6 +542,92 @@
                        return $result;
                }
 
+               function edit()
+               {
+                       $args = new safe_args();
+                       $args->set('task_id',REQUIRED,'number');
+                       $args->set('select_tab',1,'number');
+                       $args->set('form_submit',NOTSET,'any');
+                       $args->set('type',NOTSET,'any');
+                       $args->set('subject',NOTSET,'any');
+                       $args->set('category',NOTSET,'any');
+                       $args->set('description',NOTSET,'any');
+                       $args->set('priority',0,'any');
+                       $args->set('start_date',NOTSET,'any');
+                       $args->set('start_time',NOTSET,'any');
+                       $args->set('end_date',NOTSET,'any');
+                       $args->set('end_time',NOTSET,'any');
+                       $args->set('status',0,'number');
+                       $args->set('access',array('private','public'),'enum');
+                       $args->set('dm_type',array('N','H','S'),'enum');
+                       $args->set('datamine_location',NOTSET,'any');
+                       $args->set('responsible','0','number');
+                       $args = $args->get(func_get_args());
+
+                       $task = $this->_read($args['task_id'],'N');
+                       if ($task['responsible_id'] != 
$GLOBALS['phpgw_data']['user']['id'] && ! 
$GLOBALS['phpgw']->acl->check('tasks.base.' . $args['task_id'],PHPGW_ACL_EDIT))
+                       {
+                               
$GLOBALS['phpgw']->interface->access_denied('this record');
+                               return array();
+                       }
+                       else if (! is_array($task))
+                       {
+                               $GLOBALS['msgbox']->add(lang('Record not 
found'),'notice');
+                               return array();
+                       }
+
+                       $GLOBALS['phpgw']->add_appmenu('Task manager 
menu','Delete task','tasks.base.delete&task_id=' . $args['task_id']);
+
+                       $result['task_data']        = $task;
+
+                       $result['task_data']['start_time'] = array
+                       (
+                               'hour'   => date('h',$task['start_epoch']),
+                               'minute' => date('i',$task['start_epoch']),
+                               'ap'     => date('a',$task['start_epoch'])
+                       );
+
+                       $result['task_data']['end_time'] = array
+                       (
+                               'hour'   => date('h',$task['end_epoch']),
+                               'minute' => date('i',$task['end_epoch']),
+                               'ap'     => date('a',$task['end_epoch'])
+                       );
+
+                       $result['task_data']['start_date'] = date('F 
j,Y',$task['start_epoch']);
+                       $result['task_data']['end_date']   = date('F 
j,Y',$task['end_epoch']);
+
+                       /*
+                       $result['task_data'] = array
+                       (
+                               'responsible' => 
$this->__restore_cache_value('responsible',$args),
+                               'subject'     => 
$this->__restore_cache_value('subject',$args),
+                               'priority'    => 
$this->__restore_cache_value('priority',$args),
+                               'status'      => 
$this->__restore_cache_value('status',$args),
+                               'description' => 
$this->__restore_cache_value('description',$args),
+                               'start_date'  => 
$this->__restore_cache_value('start_date',$args),
+                               'end_date'    => 
$this->__restore_cache_value('end_date',$args),
+                               'dm_type'     => 
$this->__restore_cache_value('dm_type',$args),
+                               'dm_location' => 
$this->__restore_cache_value('dm_location',$args)
+                       );
+                       */
+                       $result['tab_widget']        = 
$this->__create_tabs($args['select_tab']);
+                       $result['current_tab_index'] = $args['select_tab'];
+                       $result['action_type']       = 'task_edit';
+
+                       $users = $GLOBALS['phpgw']->accounts->list_repository();
+                       foreach ($users as $user)
+                       {
+                               $result['responsible_user_list'][] = array
+                               (
+                                       'id'       => $user['account_id'],
+                                       'name'     => '(U) ' . 
$GLOBALS['phpgw']->prefs->_display_account_fullname($user['account_lid'],$user['account_firstname'],$user['account_lastname'])
+                               );
+                       }
+
+                       return $result;
+               }
+
                function view()
                {
                        $args = new safe_args();




reply via email to

[Prev in Thread] Current Thread [Next in Thread]