fmsystem-commits
[Top][All Lists]
Advanced

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

[Fmsystem-commits] [11165] controller: add component to control group


From: Sigurd Nes
Subject: [Fmsystem-commits] [11165] controller: add component to control group
Date: Tue, 11 Jun 2013 13:07:33 +0000

Revision: 11165
          http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=11165
Author:   sigurdne
Date:     2013-06-11 13:07:32 +0000 (Tue, 11 Jun 2013)
Log Message:
-----------
controller: add component to control group

Modified Paths:
--------------
    trunk/controller/inc/class.socontrol_group_list.inc.php
    trunk/controller/inc/class.uicase.inc.php
    trunk/controller/inc/class.uicontrol_group.inc.php
    trunk/controller/templates/base/case/add_case.xsl
    trunk/controller/templates/base/control_group/control_group.xsl
    trunk/property/inc/class.soentity.inc.php

Modified: trunk/controller/inc/class.socontrol_group_list.inc.php
===================================================================
--- trunk/controller/inc/class.socontrol_group_list.inc.php     2013-06-11 
08:32:51 UTC (rev 11164)
+++ trunk/controller/inc/class.socontrol_group_list.inc.php     2013-06-11 
13:07:32 UTC (rev 11165)
@@ -223,6 +223,7 @@
                                
$control_group->set_procedure_id($this->unmarshal($this->db->f('procedure_id'), 
'int'));
                                
$control_group->set_control_area_id($this->unmarshal($this->db->f('control_area_id'),
 'int'));
                                
$control_group->set_building_part_id($this->unmarshal($this->db->f('building_part_id'),
 'int'));
+                               
$control_group->set_component_location_id($this->unmarshal($this->db->f('component_location_id'),
 'int'));
 
                                if($returnType == "array")
                                {

Modified: trunk/controller/inc/class.uicase.inc.php
===================================================================
--- trunk/controller/inc/class.uicase.inc.php   2013-06-11 08:32:51 UTC (rev 
11164)
+++ trunk/controller/inc/class.uicase.inc.php   2013-06-11 13:07:32 UTC (rev 
11165)
@@ -138,18 +138,54 @@
                                $type = 'location';
                        }
                        
+//_debug_array($saved_control_groups);
                        //Populating array with saved control items for each 
group
                        foreach ($saved_control_groups as $control_group)
                        {       
                                $saved_control_items = 
$this->so_control_item_list->get_control_items_and_options_by_control_and_group($control->get_id(),
 $control_group->get_id(), "return_array");
 
+//_debug_array($control_group);
                                if(count($saved_control_items) > 0)
                                {                               
-                                       $control_groups_with_items_array[] = 
array("control_group" => $control_group->toArray(), "control_items" => 
$saved_control_items);
+                                       $component_location_id = 
$control_group->get_component_location_id();
+                                       if($component_location_id)
+                                       {
+                                               //// start components
+                                               $criterias_array = array();
+                                               $loc_arr = 
$GLOBALS['phpgw']->locations->get_name($component_location_id);
+                                               $criterias_array['location_id'] 
= $component_location_id;
+                                               
$criterias_array['location_code'] = $location_code;
+                                               $criterias_array['allrows'] = 
true;
+                                               $components_at_location = 
execMethod('property.soentity.get_eav_list', $criterias_array);
+                                               /// end components
+
+                                               if($components_at_location)
+                                               {
+                                                       
$control_groups_with_items_array[] = array
+                                                       (
+                                                               'control_group' 
                        => $control_group->toArray(),
+                                                               'control_items' 
                        => $saved_control_items,
+                                                               
'components_at_location'        => array('component_options' => 
$components_at_location)
+                                                       );
+                                               }
+                                       }
+                                       else
+                                       {
+                                               
$control_groups_with_items_array[] = array
+                                               (
+                                                       'control_group' => 
$control_group->toArray(),
+                                                       'control_items' => 
$saved_control_items
+                                               );
+                                       }
                                }
+
+
+//_debug_array($control_groups_with_items_array);
+//_debug_array($components_at_location);
+//die();
+                       
                        }
                        
-                       
                        $level = 
$this->location_finder->get_location_level($location_code);
                        $year = date("Y", $check_list->get_deadline());
                        $month = date("n", $check_list->get_deadline());
@@ -158,7 +194,7 @@
 
                        // Fetches buildings on property
                        $buildings_on_property = 
$this->location_finder->get_buildings_on_property($user_role, $location_code, 
$level);
-      
+
                        $data = array
                        (
                                'control'                                       
                => $control,

Modified: trunk/controller/inc/class.uicontrol_group.inc.php
===================================================================
--- trunk/controller/inc/class.uicontrol_group.inc.php  2013-06-11 08:32:51 UTC 
(rev 11164)
+++ trunk/controller/inc/class.uicontrol_group.inc.php  2013-06-11 13:07:32 UTC 
(rev 11165)
@@ -459,6 +459,7 @@
                                        (
                                                'id'    => $cat_list['cat_id'],
                                                'name'  => $cat_list['name'],
+                                               'selected' => 
$control_group->get_control_area_id() == $cat_list['cat_id'] ? 1 : 0
                                        );
                                }
                                // END as categories
@@ -472,46 +473,15 @@
                                        $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()
-                                               );
-                                       }
+                                       $procedure_options[] = array
+                                       (
+                                               'id'    => $procedure->get_id(),
+                                               'name'  => 
$procedure->get_title(),
+                                               'selected' => 
$procedure->get_id() == $control_group->get_procedure_id() ? 1 : 0
+                                       );
                                }
                                array_unshift($procedure_options,array 
('id'=>'','name'=> lang('select value')));
 
@@ -574,8 +544,8 @@
 
                                $data = array
                                (
-                                       'entities'                              
        => $entity_list,
-                                       'categories'                            
=> $category_list,
+                                       'entities'                              
        => array('options' => $entity_list),
+                                       'categories'                            
=> array('options' => $category_list),
 
                                        'tabs'                                  
        => phpgwapi_yui::tabview_generate($tabs, $tab_to_display),
                                        'value_id'                              
        => !empty($control_group) ? $control_group->get_id() : 0,

Modified: trunk/controller/templates/base/case/add_case.xsl
===================================================================
--- trunk/controller/templates/base/case/add_case.xsl   2013-06-11 08:32:51 UTC 
(rev 11164)
+++ trunk/controller/templates/base/case/add_case.xsl   2013-06-11 13:07:32 UTC 
(rev 11165)
@@ -24,9 +24,13 @@
                                        <li>
                                                <h3 class="expand-trigger"><img 
src="controller/images/arrow_right.png" /><xsl:value-of 
select="control_group/group_name"/></h3>                                
                                                <ul class="expand_list" 
style="display:none;">
+                                                               <select 
name="component_id" id="component_id">
+                                                                       
<xsl:apply-templates select="components_at_location/component_options"/>
+                                                               </select>
+
                                                        <xsl:for-each 
select="control_items">
                                                                <li>
-                                                                       
<h4><img src="controller/images/arrow_right.png" /><span><xsl:value-of 
select="title"/></span></h4>     
+                                                                       
<h4><img src="controller/images/arrow_right.png" /><span><xsl:value-of 
select="title"/></span></h4>
                                                                                
<xsl:choose>
                                                                                
        <xsl:when test="type = 'control_item_type_1'">
                                                                                
                <form class="frm_register_case expand_item" 
action="{$action_url}" method="post">
@@ -188,3 +192,13 @@
 </div>
 </div>
 </xsl:template>
+
+<xsl:template match="component_options">
+       <option value="{id}">
+               <xsl:if test="selected != 0">
+                       <xsl:attribute name="selected" value="selected" />
+               </xsl:if>
+               <xsl:value-of select="id"/> - <xsl:value-of 
disable-output-escaping="yes" select="short_description"/>
+       </option>
+</xsl:template>
+

Modified: trunk/controller/templates/base/control_group/control_group.xsl
===================================================================
--- trunk/controller/templates/base/control_group/control_group.xsl     
2013-06-11 08:32:51 UTC (rev 11164)
+++ trunk/controller/templates/base/control_group/control_group.xsl     
2013-06-11 13:07:32 UTC (rev 11165)
@@ -74,14 +74,7 @@
                                                        </dt>
                                                        <dd>
                                                                <select 
name="entity_id" id="entity_id">
-                                                                       
<xsl:for-each select="entities">
-                                                                               
<option value="{id}">
-                                                                               
        <xsl:if test="selected">
-                                                                               
                <xsl:attribute name="selected" value="selected" />
-                                                                               
        </xsl:if>
-                                                                               
        <xsl:value-of select="name"/>
-                                                                               
</option>
-                                                                       
</xsl:for-each>
+                                                                       
<xsl:apply-templates select="entities/options"/>
                                                                </select>
                                                        </dd>
                                                        <dt>
@@ -89,14 +82,7 @@
                                                        </dt>
                                                        <dd>
                                                                <select 
name="category_id" id="category_id">
-                                                                       
<xsl:for-each select="categories">
-                                                                               
<option value="{id}">
-                                                                               
        <xsl:if test="selected">
-                                                                               
                <xsl:attribute name="selected" value="selected" />
-                                                                               
        </xsl:if>
-                                                                               
        <xsl:value-of select="name"/>
-                                                                               
</option>
-                                                                       
</xsl:for-each>
+                                                                       
<xsl:apply-templates select="categories/options"/>
                                                                </select>
                                                        </dd>
                                                </xsl:when>

Modified: trunk/property/inc/class.soentity.inc.php
===================================================================
--- trunk/property/inc/class.soentity.inc.php   2013-06-11 08:32:51 UTC (rev 
11164)
+++ trunk/property/inc/class.soentity.inc.php   2013-06-11 13:07:32 UTC (rev 
11165)
@@ -231,6 +231,7 @@
                        $results                = isset($data['results']) && 
$data['results'] ? (int)$data['results'] : 0;
                        $location_id    = isset($data['location_id']) && 
$data['location_id'] ? (int)$data['location_id'] : 0;
                        $conditions             = isset($data['conditions']) && 
$data['conditions'] ? $data['conditions'] : array();
+                       $location_code  = isset($data['location_code']) ? 
$data['location_code'] : '';
                        $query                  = isset($data['query']) ? 
$data['query'] : '';
                        $allrows                = isset($data['allrows']) ? 
$data['allrows'] : '';
 
@@ -243,6 +244,10 @@
                        $__querymethod = array();
 
 //                     $__querymethod = array("fm_bim_item.id = -1"); // block 
query waiting for conditions
+                       if($location_code)
+                       {
+                               $__querymethod = 
array("fm_bim_item.location_code {$this->like} '{$location_code}%'");
+                       }
 
                        $attribute_table = 'phpgw_cust_attribute';
 




reply via email to

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