fmsystem-commits
[Top][All Lists]
Advanced

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

[Fmsystem-commits] [7849]


From: Erik Holm-Larsen
Subject: [Fmsystem-commits] [7849]
Date: Mon, 10 Oct 2011 10:18:55 +0000

Revision: 7849
          http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=7849
Author:   erikhl
Date:     2011-10-10 10:18:54 +0000 (Mon, 10 Oct 2011)
Log Message:
-----------


Modified Paths:
--------------
    trunk/controller/inc/class.socontrol_item.inc.php
    trunk/controller/inc/class.uicontrol.inc.php
    trunk/controller/inc/class.uicontrol_group.inc.php
    trunk/controller/inc/class.uicontrol_item.inc.php
    trunk/controller/inc/model/class.procedure.inc.php
    trunk/controller/setup/phpgw_no.lang
    trunk/controller/setup/tables_current.inc.php
    trunk/controller/templates/base/control_group.xsl
    trunk/controller/templates/base/control_item.xsl

Added Paths:
-----------
    trunk/controller/templates/base/control_group_items.xsl
    trunk/controller/templates/base/control_group_tabs.xsl

Modified: trunk/controller/inc/class.socontrol_item.inc.php
===================================================================
--- trunk/controller/inc/class.socontrol_item.inc.php   2011-10-08 17:42:47 UTC 
(rev 7848)
+++ trunk/controller/inc/class.socontrol_item.inc.php   2011-10-10 10:18:54 UTC 
(rev 7849)
@@ -73,21 +73,22 @@
                $id = intval($control_item->get_id());
                        
                $values = array(
-                       '$purpose = ' . 
$this->marshal($control_item->get_purpose(), 'string'),
-                       'responsibility = ' . 
$this->marshal($control_item->get_responsibility(), 'int'),
-                       'description = ' . 
$this->marshal($control_item->get_description(), 'int'),
-                       'reference = ' . 
$this->marshal($control_item->get_reference(), 'int'),
-                       'attachment = ' . 
$this->marshal($control_item->get_attachment(), 'int')
+                       'title = ' . $this->marshal($control_item->get_title(), 
'string'),
+                       'required = ' . 
$this->marshal(($control_item->get_required() ? 'true' : 'false'), 'bool'),
+                       'what_to_do = ' . 
$this->marshal($control_item->get_what_to_do(), 'string'),
+                       'how_to_do = ' . 
$this->marshal($control_item->get_how_to_do(), 'string'),
+                       'control_group_id = ' . 
$this->marshal($control_item->get_control_group_id(), 'int'),
+                       'control_area_id = ' . 
$this->marshal($control_item->get_control_area_id(), 'int')
                );
                
-               //var_dump('UPDATE activity_activity SET ' . join(',', $values) 
. " WHERE id=$id");
+               //var_dump('UPDATE controller_control_item SET ' . join(',', 
$values) . " WHERE id=$id");
                $result = $this->db->query('UPDATE controller_control_item SET 
' . join(',', $values) . " WHERE id=$id", __LINE__,__FILE__);
                
                return isset($result);
        }
        
        /**
-        * Get single procedure
+        * Get single control item
         * 
         * @param       $id     id of the control_item to return
         * @return a controller_control_item
@@ -95,8 +96,9 @@
        function get_single($id)
        {
                $id = (int)$id;
-               
-               $sql = "SELECT p.* FROM controller_control_item p WHERE p.id = 
" . $id;
+               $joins = " {$this->left_join} controller_control_group ON 
(p.control_group_id = controller_control_group.id)";
+               $joins .= " {$this->left_join} controller_control_area ON 
(p.control_area_id = controller_control_area.id)";
+               $sql = "SELECT p.*, controller_control_group.group_name AS 
control_group_name, controller_control_area.title AS control_area_name FROM 
controller_control_item p {$joins} WHERE p.id = " . $id;
                $this->db->limit_query($sql, 0, __LINE__, __FILE__, 1);
                $this->db->next_record();
                
@@ -106,7 +108,9 @@
                
$control_item->set_what_to_do($this->unmarshal($this->db->f('what_to_do', 
true), 'string'));
                
$control_item->set_how_to_do($this->unmarshal($this->db->f('how_to_do', true), 
'string'));
                
$control_item->set_control_group_id($this->unmarshal($this->db->f('control_group_id',
 true), 'int'));
+               
$control_item->set_control_group_name($this->unmarshal($this->db->f('control_group_name',
 true), 'string'));
                
$control_item->set_control_area_id($this->unmarshal($this->db->f('control_area_id',
 true), 'int'));
+               
$control_item->set_control_area_name($this->unmarshal($this->db->f('control_area_name',
 true), 'string'));
                
                return $control_item;
        }
@@ -130,6 +134,7 @@
                
                //$sql = "SELECT * FROM controller_procedure WHERE $condition 
$order";
                $sql = "SELECT * FROM controller_control_item $order";
+               //var_dump($sql);
                $this->db->limit_query($sql, $start, __LINE__, __FILE__, 
$limit);
                
                while ($this->db->next_record()) {
@@ -197,6 +202,10 @@
                {
                        $filter_clauses[] = "controller_control_item.id = 
{$this->marshal($filters[$this->get_id_field_name()],'int')}";
                }
+               if(isset($filters['available']))
+               {
+                       $filter_clauses[] = 
"(controller_control_item.control_group_id IS NULL OR 
controller_control_item.control_group_id=0)";
+               }
                
                if(count($filter_clauses))
                {
@@ -232,11 +241,11 @@
                return "SELECT {$cols} FROM {$tables} {$joins} WHERE 
{$condition} {$order}";
        }
        
-       function get_control_items($control_group_id)
+       function get_control_items(int $control_group_id)
        {
                $results = array();
                
-               $sql = "SELECT * FROM controller_control_item WHERE 
control_group_id=$control_group_id";
+               $sql = "SELECT * FROM controller_control_item WHERE 
control_group_id={$control_group_id}";
                $this->db->limit_query($sql, $start, __LINE__, __FILE__, 
$limit);
                
                while ($this->db->next_record()) {
@@ -250,7 +259,6 @@
                        
                        $results[] = $control_item;
                }
-               
                return $results;
        }
        

Modified: trunk/controller/inc/class.uicontrol.inc.php
===================================================================
--- trunk/controller/inc/class.uicontrol.inc.php        2011-10-08 17:42:47 UTC 
(rev 7848)
+++ trunk/controller/inc/class.uicontrol.inc.php        2011-10-10 10:18:54 UTC 
(rev 7849)
@@ -203,7 +203,7 @@
                        (
                                'tabs'                                          
=> phpgwapi_yui::tabview_generate($tabs, 'details'),
                                'start_date'                            => 
$GLOBALS['phpgw']->yuical->add_listener('start_date',date($GLOBALS['phpgw_info']['user']['preferences']['common']['dateformat'],
 time())),
-                               'end_date'                                      
=> 
$GLOBALS['phpgw']->yuical->add_listener('end_date',date($GLOBALS['phpgw_info']['user']['preferences']['common']['dateformat'],
 time())),
+                               'end_date'                                      
=> 
$GLOBALS['phpgw']->yuical->add_listener('end_date',date($GLOBALS['phpgw_info']['user']['preferences']['common']['dateformat'],
 '')),
                                'value_id'                                      
=> !empty($control) ? $control->get_id() : 0,
                                'img_go_home'                           => 
'rental/templates/base/images/32x32/actions/go-home.png',
                                'editable'                                      
=> true,

Modified: trunk/controller/inc/class.uicontrol_group.inc.php
===================================================================
--- trunk/controller/inc/class.uicontrol_group.inc.php  2011-10-08 17:42:47 UTC 
(rev 7848)
+++ trunk/controller/inc/class.uicontrol_group.inc.php  2011-10-10 10:18:54 UTC 
(rev 7849)
@@ -13,6 +13,7 @@
                private $so;
                private $so_procedure;
                private $so_control_area;
+               private $so_control_item;
                
                public $public_functions = array
                (
@@ -29,6 +30,7 @@
                        $this->so = CreateObject('controller.socontrol_group');
                        $this->so_procedure = 
CreateObject('controller.soprocedure');
                        $this->so_control_area = 
CreateObject('controller.socontrol_area');
+                       $this->so_control_item = 
CreateObject('controller.socontrol_item');
                        $GLOBALS['phpgw_info']['flags']['menu_selection'] = 
"controller::control_group";
                }
                
@@ -150,7 +152,14 @@
                
                public function edit()
                {
+                       $tabs = array
+                       (
+                               'control_group'         => array('label' => 
lang('Control_group'), 'link' => '#control_group'),
+                               'control_items'         => array('label' => 
lang('Control_items'), 'link' => '#control_items')
+                       );
+                       $tab_to_display = 'control_group';
                        $control_group_id = phpgw::get_var('id');
+                       $new_control_group = false;
                        if(isset($control_group_id) && $control_group_id > 0)
                        {
                                $control_group = 
$this->so->get_single($control_group_id);
@@ -158,6 +167,7 @@
                        else
                        {
                                $control_group = new controller_control_group();
+                               $new_control_group = true;
                        }
 
                        if(isset($_POST['save_control_group'])) // The user has 
pressed the save button
@@ -195,7 +205,14 @@
                                                        $error = 
lang('messages_form_error');
                                                }
                                        }
-                                       
$GLOBALS['phpgw']->redirect_link('/index.php', array('menuaction' => 
'controller.uicontrol_group.view', 'id' => $ctrl_group_id));
+                                       if($new_control_group)
+                                       {
+                                               
$GLOBALS['phpgw']->redirect_link('/index.php', array('menuaction' => 
'controller.uicontrol_group.edit', 'id' => $ctrl_group_id));
+                                       }
+                                       else
+                                       {
+                                               
$GLOBALS['phpgw']->redirect_link('/index.php', array('menuaction' => 
'controller.uicontrol_group.view', 'id' => $ctrl_group_id));
+                                       }
                                }
                        }
                        else if(isset($_POST['cancel_control_group'])) // The 
user has pressed the cancel button
@@ -209,11 +226,139 @@
                                        
$GLOBALS['phpgw']->redirect_link('/index.php', array('menuaction' => 
'controller.uicontrol_group.index'));
                                }
                        }
+                       else if(isset($_POST['remove_control_group_items']))
+                       {
+                               $control_item_ids = array();
+                               // Fetching selected control items
+                               $control_tag_ids = 
phpgw::get_var('item_remove_ids');
+                               
+                               foreach ($control_tag_ids as $control_item_id)
+                               {
+                                       $curr_control_item = 
$this->so_control_item->get_single($control_item_id);
+                                       
$curr_control_item->set_control_group_id(null);
+                                                                       
+                                       
$this->so_control_item->store($curr_control_item);
+                               }
+                               
+                               $control_area_array = 
$this->so_control_area->get_control_area_array();
+                               $procedure_array = 
$this->so_procedure->get_procedures();
+                               
+       
+                               if($this->flash_msgs)
+                               {
+                                       $msgbox_data = 
$GLOBALS['phpgw']->common->msgbox_data($this->flash_msgs);
+                                       $msgbox_data = 
$GLOBALS['phpgw']->common->msgbox($msgbox_data);
+                               }
+       
+                               foreach ($control_area_array as $control_area)
+                               {
+                                       
if($control_group->get_control_area_id() && $control_area->get_id() == 
$control_group->get_control_area_id())
+                                       {
+                                               $control_area_options[] = array
+                                               (
+                                                       'id'    => 
$control_area->get_id(),
+                                                       'name'  => 
$control_area->get_title(),
+                                                       'selected' => 'yes'
+                                               );
+                                       }
+                                       else
+                                       {
+                                               $control_area_options[] = array
+                                               (
+                                                       'id'    => 
$control_area->get_id(),
+                                                       'name'  => 
$control_area->get_title()
+                                               );
+                                       }
+                               }
+       
+                               foreach ($procedure_array as $procedure)
+                               {
+                                       if($control_group->get_procedure_id() 
&& $procedure->get_id() == $control_group->get_procedure_id())
+                                       {
+                                               $procedure_options[] = array
+                                               (
+                                                       'id'    => 
$procedure->get_id(),
+                                                       'name'  => 
$procedure->get_title(),
+                                                       'selected' => 'yes'
+                                               );
+                                       }
+                                       else
+                                       {
+                                               $procedure_options[] = array
+                                               (
+                                                       'id'    => 
$procedure->get_id(),
+                                                       'name'  => 
$procedure->get_title()
+                                               );
+                                       }
+                               }
+                               
+                               $building_part_options = 
$this->so->get_building_part_select_array($control_group->get_building_part_id());
+                               
+                               $control_group_array = 
$control_group->toArray();
+                               $control_items_array = 
$this->so_control_item->get(null,null,'controller_control_item.control_area_id',true,null,null,array('available'
 => 'yes'));
+                               
+                               $control_items = array();
+                               
+                               foreach ($control_items_array as $control_item)
+                               {
+                                       $control_items[] = 
$control_item->serialize();
+                               }
+                               
+                               $selected_control_items_array = 
controller_socontrol_item::get_instance()->get_control_items($control_group->get_id());
+                               
+                               $selected_control_items = array();
+                               
+                               foreach ($selected_control_items_array as 
$ctrl_item)
+                               {
+                                       $selected_control_items[] = 
$ctrl_item->serialize();
+                               }
+                               
phpgwapi_yui::tabview_setup('control_group_tabview');
+       
+                               $data = array
+                               (
+                                       'tabs'                                  
        => phpgwapi_yui::tabview_generate($tabs, 'control_items'),
+                                       'value_id'                              
        => !empty($control_group) ? $control_group->get_id() : 0,
+                                       'img_go_home'                           
=> 'rental/templates/base/images/32x32/actions/go-home.png',
+                                       'editable'                              
        => true,
+                                       'procedure'                             
        => array('options' => $procedure_options),
+                                       'control_area'                          
=> array('options' => $control_area_options),
+                                       'control_group'                         
=> $control_group_array,
+                                       'control_items'                         
=> $control_items,
+                                       'selected_control_items'        => 
$selected_control_items,
+                                       'building_part'                         
=> array('building_part_options' => $building_part_options),
+                               );
+       
+       
+                               $GLOBALS['phpgw_info']['flags']['app_header'] = 
lang('controller') . '::' . lang('Control_group');
+       
+                               self::add_javascript('controller', 'yahoo', 
'control_tabs.js');
+                               
self::render_template_xsl(array('control_group_tabs','control_group','control_group_items'),
 $data);
+                       }
+                       else if(isset($_POST['save_control_group_items']))
+                       {
+                               $tab_to_display = 'control_group_items';
+                               //update control items with control group id
+                               //$control_group_id = 
phpgw::get_var('control_group_id');
+                               
+                               $control_item_ids = array();
+                               // Fetching selected control items
+                               $control_tag_ids = 
phpgw::get_var('control_tag_ids');
+                               
+                               foreach ($control_tag_ids as $control_item_id)
+                               {
+                                       $curr_control_item = 
$this->so_control_item->get_single($control_item_id);
+                                       
$curr_control_item->set_control_group_id($control_group_id);
+                                                                       
+                                       
$this->so_control_item->store($curr_control_item);
+                               }
+                               
+                               $GLOBALS['phpgw']->redirect_link('/index.php', 
array('menuaction' => 'controller.uicontrol_group.view', 'id' => 
$control_group_id));
+                       }
                        else
                        {
                        
                                $control_area_array = 
$this->so_control_area->get_control_area_array();
-                               $procedure_array = 
$this->so_procedure->get_procedure_array();
+                               $procedure_array = 
$this->so_procedure->get_procedures();
                                
        
                                if($this->flash_msgs)
@@ -267,16 +412,37 @@
                                $building_part_options = 
$this->so->get_building_part_select_array($control_group->get_building_part_id());
                                
                                $control_group_array = 
$control_group->toArray();
+                               $control_items_array = 
$this->so_control_item->get(null,null,'controller_control_item.control_area_id',true,null,null,array('available'
 => 'yes'));
+                               
+                               $control_items = array();
+                               
+                               foreach ($control_items_array as $control_item)
+                               {
+                                       $control_items[] = 
$control_item->serialize();
+                               }
+                               
+                               $selected_control_items_array = 
controller_socontrol_item::get_instance()->get_control_items($control_group->get_id());
+                               
+                               $selected_control_items = array();
+                               
+                               foreach ($selected_control_items_array as 
$ctrl_item)
+                               {
+                                       $selected_control_items[] = 
$ctrl_item->serialize();
+                               }
+                               
phpgwapi_yui::tabview_setup('control_group_tabview');
        
                                $data = array
                                (
-                                       'value_id'                              
=> !empty($control_group) ? $control_group->get_id() : 0,
-                                       'img_go_home'                   => 
'rental/templates/base/images/32x32/actions/go-home.png',
-                                       'editable'                              
=> true,
-                                       'procedure'                             
=> array('options' => $procedure_options),
-                                       'control_area'                  => 
array('options' => $control_area_options),
-                                       'control_group'                 => 
$control_group_array,
-                                       'building_part'                 => 
array('building_part_options' => $building_part_options),
+                                       'tabs'                                  
        => phpgwapi_yui::tabview_generate($tabs, $tab_to_display),
+                                       'value_id'                              
        => !empty($control_group) ? $control_group->get_id() : 0,
+                                       'img_go_home'                           
=> 'rental/templates/base/images/32x32/actions/go-home.png',
+                                       'editable'                              
        => true,
+                                       'procedure'                             
        => array('options' => $procedure_options),
+                                       'control_area'                          
=> array('options' => $control_area_options),
+                                       'control_group'                         
=> $control_group_array,
+                                       'control_items'                         
=> $control_items,
+                                       'selected_control_items'        => 
$selected_control_items,
+                                       'building_part'                         
=> array('building_part_options' => $building_part_options),
                                );
        
        
@@ -290,184 +456,11 @@
        
        //                      $GLOBALS['phpgw']->js->validate_file( 'yahoo', 
'controller.item', 'controller' );
        
-                               self::render_template_xsl('control_group', 
$data);
+                               self::add_javascript('controller', 'yahoo', 
'control_tabs.js');
+                               
self::render_template_xsl(array('control_group_tabs','control_group','control_group_items'),
 $data);
                        }
                }
 
-/*             public function display_control_items()
-               {
-                       //$GLOBALS['phpgw_info']['flags']['menu_selection'] = 
"controller::control_item_list";
-                       
-                       
self::set_active_menu('controller::control_item::control_item_list');
-                       if(phpgw::get_var('phpgw_return_as') == 'json') {
-                               return $this->display_control_items_json();
-                       }
-                       
-                       self::add_javascript('controller', 'yahoo', 
'datatable.js');
-                       phpgwapi_yui::load_widget('datatable');
-                       phpgwapi_yui::load_widget('paginator');
-                       
-                       $data = array(
-                               'form' => array(
-                                       'toolbar' => array(
-                                               'item' => array(
-                                                       array(
-                                                               'type' => 
'link',
-                                                               'value' => 
lang('New application'),
-                                                               'href' => 
self::link(array('menuaction' => 'controller.uicontrol_item.index'))
-                                                       ),
-                                                       array('type' => 
'filter', 
-                                                               'name' => 
'status',
-                                'text' => lang('Status').':',
-                                'list' => array(
-                                    array(
-                                        'id' => 'none',
-                                        'name' => lang('Not selected')
-                                    ), 
-                                    array(
-                                        'id' => 'NEW',
-                                        'name' => lang('NEW')
-                                    ), 
-                                    array(
-                                        'id' => 'PENDING',
-                                        'name' =>  lang('PENDING')
-                                    ), 
-                                    array(
-                                        'id' => 'REJECTED',
-                                        'name' => lang('REJECTED')
-                                    ), 
-                                    array(
-                                        'id' => 'ACCEPTED',
-                                        'name' => lang('ACCEPTED')
-                                    )
-                                )
-                            ),
-                                                       array('type' => 
'filter',
-                                                               'name' => 
'control_groups',
-                                'text' => lang('Control_group').':',
-                                'list' => 
$this->so_control_group->get_control_group_select_array(),
-                                                       ),
-                                                       array('type' => 
'filter',
-                                                               'name' => 
'control_areas',
-                                'text' => lang('Control_area').':',
-                                'list' => 
$this->so_control_area->get_control_area_select_array(),
-                                                       ),
-                                                       array('type' => 'text', 
-                                'text' => lang('searchfield'),
-                                                               'name' => 
'query'
-                                                       ),
-                                                       array(
-                                                               'type' => 
'submit',
-                                                               'name' => 
'search',
-                                                               'value' => 
lang('Search')
-                                                       ),
-                                                       array(
-                                                               'type' => 
'link',
-                                                               'value' => 
$_SESSION['showall'] ? lang('Show only active') : lang('Show all'),
-                                                               'href' => 
self::link(array('menuaction' => $this->url_prefix.'.toggle_show_inactive'))
-                                                       ),
-                                               ),
-                                       ),
-                               ),
-                               'datatable' => array(
-                                       'source' => 
self::link(array('menuaction' => 
'controller.uicontrol_item.display_control_items', 'phpgw_return_as' => 
'json')),
-                                       'field' => array(
-                                               array(
-                                                       'key' => 'id',
-                                                       'label' => lang('ID'),
-                                                       'sortable'      => true,
-                                                       'formatter' => 
'YAHOO.portico.formatLink'
-                                               ),                              
                
-                                               array(
-                                                       'key' => 'title',
-                                                       'label' => 
lang('Title'),
-                                                       'sortable'      => false
-                                               ),
-                                               array(
-                                                       'key' => 'required',
-                                                       'label' => 
lang('Required'),
-                                                       'sortable'      => true
-                                               ),
-                                               array(
-                                                       'key' => 'what_to_do',
-                                                       'label' => lang('What 
to do'),
-                                                       'sortable'      => false
-                                               ),
-                                               array(
-                                                       'key' => 'how_to_do',
-                                                       'label' => lang('How to 
do'),
-                                                       'sortable'      => true
-                                               ),
-                                               array(
-                                                       'key' => 
'control_group_id',
-                                                       'label' => 
lang('control_group_id'),
-                                                       'sortable'      => true
-                                               ),
-                                               array(
-                                                       'key' => 
'control_area_id',
-                                                       'label' => 
lang('control_area_id'),
-                                                       'sortable'      => true
-                                               ),
-                                               array(
-                                                       'key' => 'link',
-                                                       'hidden' => true
-                                               )
-                                       )
-                               ),
-                       );
-//_debug_array($data);
-
-                       self::render_template_xsl('datatable', $data);
-               }
-*/
-               
-/*             public function display_control_items_json()
-               {
-                       $params = array(
-                               'start' => phpgw::get_var('startIndex', 'int', 
'REQUEST', 0),
-                               'results' => phpgw::get_var('results', 'int', 
'REQUEST', null),
-                               'query' => phpgw::get_var('query'),
-                               'sort'  => phpgw::get_var('sort'),
-                               'dir'   => phpgw::get_var('dir'),
-                               'filters' => $filters
-                       );
-
-                       $user_rows_per_page = 10;
-                       
-                       // YUI variables for paging and sorting
-                       $start_index    = phpgw::get_var('startIndex', 'int');
-                       $num_of_objects = phpgw::get_var('results', 'int', 
'GET', $user_rows_per_page);
-                       $sort_field             = phpgw::get_var('sort');
-                       if($sort_field == null)
-                       {
-                               $sort_field = 'control_item_id';
-                       }
-                       $sort_ascending = phpgw::get_var('dir') == 'desc' ? 
false : true;
-                       //Create an empty result set
-                       $records = array();
-                       
-                       //Retrieve a contract identifier and load corresponding 
contract
-                       $control_item_id = phpgw::get_var('control_item_id');
-                       if(isset($control_item_id))
-                       {
-                               $control_item = 
rental_socontract::get_instance()->get_single($control_item_id);
-                       }
-                       
-                       $result_objects = 
controller_socontrol_item::get_instance()->get($start_index, $num_of_objects, 
$sort_field, $sort_ascending, $search_for, $search_type, $filters);
-                                                               
-                       $results = array();
-                       
-                       foreach($result_objects as $control_item_obj)
-                       {
-                               $results['results'][] = 
$control_item_obj->serialize(); 
-                       }
-
-                       array_walk($results["results"], array($this, 
"_add_links"), "controller.uicontrol_item.index");
-
-                       return $this->yui_results($results);
-               }
-*/
-               
                public function query()
                {
                        $params = array(
@@ -530,6 +523,12 @@
                public function view()
                {
                        $GLOBALS['phpgw_info']['flags']['app_header'] .= 
'::'.lang('view');
+                       
+                       $tabs = array
+                       (
+                               'control_group'         => array('label' => 
lang('Control_group'), 'link' => '#control_group'),
+                               'control_items'         => array('label' => 
lang('Control_items'), 'link' => '#control_items')
+                       );
                        //Retrieve the control_group object
                        $control_group_id = (int)phpgw::get_var('id');
                        if(isset($_POST['edit_control_group']))
@@ -557,19 +556,33 @@
                                }
                                
                                $control_group_array = 
$control_group->toArray();
-                               var_dump($control_group_array);
+                               //var_dump($control_group_array);
+                               
+                               $control_items_array = 
$this->so_control_item->get_control_items($control_group_id);
+                               
+                               $control_items = array();
+                               
+                               foreach ($control_items_array as $control_item)
+                               {
+                                       $control_items[] = 
$control_item->serialize();
+                               }
+                               
+                               
phpgwapi_yui::tabview_setup('control_group_tabview');
        
                                $data = array
                                (
-                                       'value_id'                              
=> !empty($control_group) ? $control_group->get_id() : 0,
-                                       'img_go_home'                   => 
'rental/templates/base/images/32x32/actions/go-home.png',
-                                       'control_group'                 => 
$control_group_array,
+                                       'tabs'                                  
        => phpgwapi_yui::tabview_generate($tabs, 'control_group'),
+                                       'value_id'                              
        => !empty($control_group) ? $control_group->get_id() : 0,
+                                       'img_go_home'                           
=> 'rental/templates/base/images/32x32/actions/go-home.png',
+                                       'control_group'                         
=> $control_group_array,
+                                       'selected_control_items'        => 
$control_items,
                                );
        
        
                                $GLOBALS['phpgw_info']['flags']['app_header'] = 
lang('controller') . '::' . lang('Control group');
        
-                               self::render_template_xsl('control_group', 
$data);
+                               self::add_javascript('controller', 'yahoo', 
'control_tabs.js');
+                               
self::render_template_xsl(array('control_group_tabs','control_group','control_group_items'),
 $data);
                        }
                }
                

Modified: trunk/controller/inc/class.uicontrol_item.inc.php
===================================================================
--- trunk/controller/inc/class.uicontrol_item.inc.php   2011-10-08 17:42:47 UTC 
(rev 7848)
+++ trunk/controller/inc/class.uicontrol_item.inc.php   2011-10-10 10:18:54 UTC 
(rev 7849)
@@ -176,8 +176,8 @@
                                        
$control_item->set_required(phpgw::get_var('required') == 'on' ? true : false);
                                        $control_item->set_what_to_do( 
phpgw::get_var('what_to_do','html') );
                                        $control_item->set_how_to_do( 
phpgw::get_var('how_to_do','html') );
-                                       $control_item->set_control_group_id( 
phpgw::get_var('control_group_id') );
-                                       $control_item->set_control_area_id( 
phpgw::get_var('control_area_id') );
+                                       $control_item->set_control_group_id( 
phpgw::get_var('control_group') );
+                                       $control_item->set_control_area_id( 
phpgw::get_var('control_area') );
                                                                        
                                        //$this->so->store($control_item);
                                        

Modified: trunk/controller/inc/model/class.procedure.inc.php
===================================================================
--- trunk/controller/inc/model/class.procedure.inc.php  2011-10-08 17:42:47 UTC 
(rev 7848)
+++ trunk/controller/inc/model/class.procedure.inc.php  2011-10-10 10:18:54 UTC 
(rev 7849)
@@ -12,12 +12,14 @@
                protected $description;
                protected $reference;
                protected $attachment;
+               protected $start_date;
+               protected $end_date;
                
                /**
-                * Constructor.  Takes an optional ID.  If a contract is 
created from outside
+                * Constructor.  Takes an optional ID.  If a procedure is 
created from outside
                 * the database the ID should be empty so the database can add 
one according to its logic.
                 * 
-                * @param int $id the id of this composite
+                * @param int $id the id of this procedure
                 */
                public function __construct(int $id = null)
                {
@@ -45,13 +47,13 @@
                
                public function get_purpose() { return $this->purpose; }
                
-               public function get_responsibility() { return 
$this->responsibility; }
-               
                public function set_responsibility($responsibility)
                {
                        $this->responsibility = $responsibility;
                }
                
+               public function get_responsibility() { return 
$this->responsibility; }
+               
                public function set_description($description)
                {
                        $this->description = $description;
@@ -73,6 +75,20 @@
                
                public function get_attachment() { return $this->attachment; }
                
+               public function set_start_date($start_date)
+               {
+                       $this->start_date = $start_date;
+               }
+               
+               public function get_start_date() { return $this->start_date; }
+               
+               public function set_end_date($end_date)
+               {
+                       $this->end_date = $end_date;
+               }
+               
+               public function get_end_date() { return $this->end_date; }
+               
                /**
                 * Get a static reference to the storage object associated with 
this model object
                 * 
@@ -96,7 +112,9 @@
                                        'purpose' => $this->get_purpose(),
                                        'responsibility' => 
$this->get_responsibility(),
                                        'reference' => $this->get_reference(),
-                                       'attachment' => $this->get_attachment()
+                                       'attachment' => $this->get_attachment(),
+                                       'start_date' => $this->get_start_date(),
+                                       'end_date' => $this->get_end_date()
                        );
                }
        }

Modified: trunk/controller/setup/phpgw_no.lang
===================================================================
--- trunk/controller/setup/phpgw_no.lang        2011-10-08 17:42:47 UTC (rev 
7848)
+++ trunk/controller/setup/phpgw_no.lang        2011-10-10 10:18:54 UTC (rev 
7849)
@@ -246,4 +246,5 @@
 REJECTED       controller      no      Avvist
 New control group      controller      no      Ny kontrollgruppe
 Control group title    controller      no      Tittel
-Building part  controller      no      Bygningsdel
\ No newline at end of file
+Building part  controller      no      Bygningsdel
+remove controller      no      Fjern valgte elementer
\ No newline at end of file

Modified: trunk/controller/setup/tables_current.inc.php
===================================================================
--- trunk/controller/setup/tables_current.inc.php       2011-10-08 17:42:47 UTC 
(rev 7848)
+++ trunk/controller/setup/tables_current.inc.php       2011-10-10 10:18:54 UTC 
(rev 7849)
@@ -85,7 +85,9 @@
                                'responsibility' => array('type' => 'varchar', 
'precision' => 255, 'nullable' => True),
                                'description' => array('type' => 'text', 
'nullable' => True),
                                'reference' => array('type' => 'varchar', 
'precision' => 255, 'nullable' => True),
-                               'attachment' => array('type' => 'varchar', 
'precision' => 255, 'nullable' => True)
+                               'attachment' => array('type' => 'varchar', 
'precision' => 255, 'nullable' => True),
+                               'start_date' => array('type' => 'int', 
'precision' => 8, 'nullable' => True),
+                               'end_date' => array('type' => 'int', 
'precision' => 8, 'nullable' => True)
                        ),
                        'pk' => array('id'),
                        'fk' => array(),

Modified: trunk/controller/templates/base/control_group.xsl
===================================================================
--- trunk/controller/templates/base/control_group.xsl   2011-10-08 17:42:47 UTC 
(rev 7848)
+++ trunk/controller/templates/base/control_group.xsl   2011-10-10 10:18:54 UTC 
(rev 7849)
@@ -1,7 +1,7 @@
 <!-- item  -->
+<xsl:template name="control_group" xmlns:php="http://php.net/xsl";>
+<!-- <xsl:template match="data" xmlns:php="http://php.net/xsl";>  -->
 
-<xsl:template match="data" xmlns:php="http://php.net/xsl";>
-
 <xsl:call-template name="yui_booking_i18n"/>
 <div class="identifier-header">
 <h1><img src="{img_go_home}" /> 

Added: trunk/controller/templates/base/control_group_items.xsl
===================================================================
--- trunk/controller/templates/base/control_group_items.xsl                     
        (rev 0)
+++ trunk/controller/templates/base/control_group_items.xsl     2011-10-10 
10:18:54 UTC (rev 7849)
@@ -0,0 +1,51 @@
+<xsl:template name="control_items" xmlns:php="http://php.net/xsl";>
+
+<xsl:call-template name="yui_booking_i18n"/>
+<div class="identifier-header">
+<h1><img src="{img_go_home}" /> 
+       <xsl:value-of select="php:function('lang', 'Control_items')" />
+</h1>
+</div>
+
+<div class="yui-content">
+       <div>
+               <xsl:if test="selected_control_items">
+                       <h2>Valgte kontrollpunkt</h2>
+                       <form action="#" method="post"> 
+                               <ul class="control_items">
+                                       <xsl:for-each 
select="selected_control_items">
+                                               <xsl:variable 
name="control_item_id"><xsl:value-of select="id"/></xsl:variable>
+                                       <li><xsl:if test="//editable"><input 
type="checkbox"  name="item_remove_ids[]" 
value="{$control_item_id}"/></xsl:if><xsl:value-of select="title"/></li>
+                                       </xsl:for-each>
+                               </ul>
+                               <div class="form-buttons">
+                                       <xsl:variable 
name="lang_remove"><xsl:value-of select="php:function('lang', 'remove')" 
/></xsl:variable>
+                                       <input type="submit" 
name="remove_control_group_items" value="{$lang_remove}" title = 
"{$lang_remove}" />
+                               </div>
+                       </form>
+               </xsl:if>
+          <!-- ===========================  CHOOSE CONTROL ITEMS  
=============================== -->
+          <xsl:choose>
+               <xsl:when test="editable">
+                       <h2>Velg kontrollpunkt</h2>
+                       <form action="#" method="post"> 
+                       
+                       <xsl:variable name="control_group_id"><xsl:value-of 
select="value_id"/></xsl:variable>
+                       <input type="hidden" name="control_group_id" 
value="{control_group_id}" />
+                       
+                       <ul class="control_items">
+                               <xsl:for-each select="control_items">
+                                       <xsl:variable 
name="control_item_id"><xsl:value-of select="id"/></xsl:variable>
+                                       <li><input type="checkbox"  
name="control_tag_ids[]" value="{$control_item_id}" /><xsl:value-of 
select="title"/></li>
+                               </xsl:for-each>
+                       </ul>           
+                       <div class="form-buttons">
+                               <xsl:variable name="lang_save"><xsl:value-of 
select="php:function('lang', 'save')" /></xsl:variable>
+                               <input type="submit" 
name="save_control_group_items" value="{$lang_save}" title = "{$lang_save}" />
+                       </div>
+                       </form>
+               </xsl:when>
+          </xsl:choose>
+       </div>
+</div>
+</xsl:template>
\ No newline at end of file


Property changes on: trunk/controller/templates/base/control_group_items.xsl
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Added: trunk/controller/templates/base/control_group_tabs.xsl
===================================================================
--- trunk/controller/templates/base/control_group_tabs.xsl                      
        (rev 0)
+++ trunk/controller/templates/base/control_group_tabs.xsl      2011-10-10 
10:18:54 UTC (rev 7849)
@@ -0,0 +1,19 @@
+<!-- separate tabs and  inline tables-->
+
+<xsl:template match="data" xmlns:php="http://php.net/xsl";>
+       <div class="yui-navset yui-navset-top" id="control_group_tabview">
+               <xsl:value-of disable-output-escaping="yes" select="tabs" />
+               <div class="yui-content">
+                       <div id="control_group">
+                               <xsl:call-template name="control_group" />
+                       </div>
+                       <div id="control_items">
+                               <xsl:call-template name="control_items" />
+                       </div>
+               </div>
+       </div>
+       <!--  script type="text/javascript">
+               var resource_id = <xsl:value-of select="resource/id"/>;
+               var lang = <xsl:value-of select="php:function('js_lang', 
'Name', 'Category', 'Actions', 'Edit', 'Delete', 'Account', 'Role')"/>;
+       </script-->
+</xsl:template>
\ No newline at end of file


Property changes on: trunk/controller/templates/base/control_group_tabs.xsl
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Modified: trunk/controller/templates/base/control_item.xsl
===================================================================
--- trunk/controller/templates/base/control_item.xsl    2011-10-08 17:42:47 UTC 
(rev 7848)
+++ trunk/controller/templates/base/control_item.xsl    2011-10-10 10:18:54 UTC 
(rev 7849)
@@ -89,11 +89,12 @@
                                        <xsl:choose>
                                                <xsl:when test="editable">
                                                        <select 
id="control_group" name="control_group">
+                                                               <option 
value="0">Ingen valgt</option>
                                                                
<xsl:apply-templates select="control_group/options"/>
                                                        </select>
                                                </xsl:when>
                                                <xsl:otherwise>
-                                                       <xsl:value-of 
select="control_item/control_group_id" />
+                                                       <xsl:value-of 
select="control_item/control_group_name" />
                                                </xsl:otherwise>
                                        </xsl:choose>
                                        </dd>
@@ -108,7 +109,7 @@
                                                        </select>
                                                </xsl:when>
                                                <xsl:otherwise>
-                                                       <xsl:value-of 
select="control_item/control_area_id" />
+                                                       <xsl:value-of 
select="control_item/control_area_name" />
                                                </xsl:otherwise>
                                        </xsl:choose>
                                        </dd>                           




reply via email to

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