fmsystem-commits
[Top][All Lists]
Advanced

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

[Fmsystem-commits] [9469] controller: control_location


From: Sigurd Nes
Subject: [Fmsystem-commits] [9469] controller: control_location
Date: Wed, 30 May 2012 13:46:45 +0000

Revision: 9469
          http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=9469
Author:   sigurdne
Date:     2012-05-30 13:46:44 +0000 (Wed, 30 May 2012)
Log Message:
-----------
controller: control_location

Modified Paths:
--------------
    trunk/controller/inc/class.socontrol.inc.php
    trunk/controller/inc/class.uicontrol_location.inc.php
    trunk/controller/js/controller/ajax.js
    
trunk/controller/templates/base/control_location/register_control_to_location.xsl
    
trunk/controller/templates/base/control_location/view_locations_for_control.xsl

Added Paths:
-----------
    trunk/controller/js/yahoo/register_control_to_location.js

Modified: trunk/controller/inc/class.socontrol.inc.php
===================================================================
--- trunk/controller/inc/class.socontrol.inc.php        2012-05-30 12:44:24 UTC 
(rev 9468)
+++ trunk/controller/inc/class.socontrol.inc.php        2012-05-30 13:46:44 UTC 
(rev 9469)
@@ -167,6 +167,7 @@
 
                function get_controls_by_control_area($control_area_id)
                {
+                       $control_area_id = (int) $control_area_id;
                        $controls_array = array();
 
                        $sql = "SELECT * FROM controller_control WHERE 
control_area_id=$control_area_id";
@@ -235,15 +236,16 @@
 
                function get_control_location($control_id, $location_code)
                {
+                       $control_id = (int)$control_id;
                        $sql =  "SELECT * FROM controller_control_location_list 
WHERE control_id = $control_id AND location_code = '$location_code'";
                        
                        $this->db->limit_query($sql, 0, __LINE__, __FILE__, 1);
                        
                        if($this->db->next_record()){
-                               $control_location = new 
controller_control_location($this->unmarshal($this->db->f('id', true), 'int'));
+                               $control_location = new 
controller_control_location($this->unmarshal($this->db->f('id'), 'int'));
        
                                
$control_location->set_location_code($this->unmarshal($this->db->f('location_code',
 true), 'string'));
-                               
$control_location->set_control_id($this->unmarshal($this->db->f('control_id', 
true), 'int'));
+                               
$control_location->set_control_id($this->unmarshal($this->db->f('control_id'), 
'int'));
                                                        
                                return $control_location;
                        }
@@ -253,11 +255,48 @@
                        }
                }
                
-               function register_control_to_location($control_id, 
$location_code)
+               function register_control_to_location($control_id, $data)
                {
-                       $sql =  "INSERT INTO controller_control_location_list 
(control_id, location_code) values($control_id, $location_code)";
+
+                       $control_id = (int) $control_id;
+                       $delete_location = array();
+                       $add_location = array();
+                       foreach($data['control_location_orig'] as 
$location_code)
+                       {
+                               if(!in_array($location_code, 
$data['control_location']))
+                               {
+                                       $delete_location[] = $location_code;
+                               }
+                       }
+
+                       foreach($data['control_location'] as $location_code)
+                       {
+                               if(!in_array($location_code, 
$data['control_location_orig']))
+                               {
+                                       $add_location[] = $location_code;
+                               }
+                       }
+
+                       $this->db->transaction_begin();
+                       foreach ($delete_location as $location_code)
+                       {
+                               $sql =  "DELETE FROM 
controller_control_location_list  WHERE control_id = {$control_id} AND 
location_code = '{$location_code}'";
+                               $this->db->query($sql);
+                       }
+
+                       foreach ($add_location as $location_code)
+                       {
+                               $sql =  "SELECT * FROM 
controller_control_location_list WHERE control_id = {$control_id} AND 
location_code = '$location_code'";
+                               $this->db->query($sql, __LINE__, __FILE__);
                        
-                       return $this->db->query($sql);
+                               if(!$this->db->next_record())
+                               {
+                                       $sql =  "INSERT INTO 
controller_control_location_list (control_id, location_code) VALUES ( 
{$control_id}, '{$location_code}')";
+                                       $this->db->query($sql);
+                               }
+                       }
+
+                       return $this->db->transaction_commit();
                }
 
                function add_component_to_control($control_id, $component_id)

Modified: trunk/controller/inc/class.uicontrol_location.inc.php
===================================================================
--- trunk/controller/inc/class.uicontrol_location.inc.php       2012-05-30 
12:44:24 UTC (rev 9468)
+++ trunk/controller/inc/class.uicontrol_location.inc.php       2012-05-30 
13:46:44 UTC (rev 9469)
@@ -109,10 +109,10 @@
                        
                        $control_areas = 
$cats->formatted_xslt_list(array('format'=>'filter','globals' => true,'use_acl' 
=> $this->_category_acl));
                                                        
-                       $control_areas_array2 = array();
+                       $control_areas_array = array();
                        foreach($control_areas['cat_list'] as $cat_list)
                        {
-                               $control_areas_array2[] = array
+                               $control_areas_array[] = array
                                (
                                        'id'    => $cat_list['cat_id'],
                                        'name'  => $cat_list['name'],
@@ -130,7 +130,7 @@
                        $data = array(
                                'tabs'                                  => 
$GLOBALS['phpgw']->common->create_tabs($tabs, 0),
                                'view'                                  => 
"view_locations_for_control",
-                               'control_areas_array2'  => 
$control_areas_array2,
+                               'control_areas_array'   => $control_areas_array,
                                'locations_table' => array(
                                        'source' => 
self::link(array('menuaction' => 
'controller.uicontrol_location.get_locations_for_control', 'control_id' => 
$control_id ,'phpgw_return_as' => 'json')),
                                        'field' => array(
@@ -183,40 +183,26 @@
                
                function register_control_to_location()
                {
+                       $control_id = phpgw::get_var('control_id');
                        if(phpgw::get_var('save_location'))
                        {
+                               $values = phpgw::get_var('values');
                                //add component to control using component item 
ID
-                               $items_checked = array();
-                               $items = phpgw::get_var('values_assign');
-                               $item_arr = explode('|',$items);
-                               foreach($item_arr as $item)
-                               {
-                                       $items_checked[] = explode(';',$item);
-                               }
-                               //var_dump($items_checked);
+                               $values['control_location'] = 
isset($values['control_location']) && $values['control_location'] ? 
array_unique($values['control_location']) : array();
+                               $values['control_location_orig'] = 
isset($values['control_location_orig']) && $values['control_location_orig'] ? 
array_unique($values['control_location_orig']) : array();
 
-                               $control_id = phpgw::get_var('control_id');
-                               //$location_code = 
phpgw::get_var('location_code');
-                               
-                               $control_location  = null;
-                               $control_location_id = 0;
-                               
-                               foreach($items_checked as $location_code)
+                               $ok = 
$this->so_control->register_control_to_location($control_id, $values);
+
+/*                             if($ok)
                                {
-                                       $control_location = 
$this->so_control->get_control_location($control_id, $location_code[0]);
-                                       
-                                       if($control_location == null )
-                                       {                                       
-                                               $control_location_id = 
$this->so_control->register_control_to_location($control_id, $location_code[0]);
-                                       }
+                                       return json_encode( array( "status" => 
"saved" ) );
                                }
-                               
-/*                             if($control_location_id > 0)
-                                       return json_encode( array( "status" => 
"saved" ) );
                                else
+                               {
                                        return json_encode( array( "status" => 
"not_saved" ) );
+                               }
 */
-                               $GLOBALS['phpgw']->redirect_link('/index.php', 
array('menuaction' => 'controller.uicontrol_location.index'));
+                               $GLOBALS['phpgw']->redirect_link('/index.php', 
array('menuaction' => 
'controller.uicontrol_location.register_control_to_location', 'control_id' => 
$control_id));
 
                        }
                        else
@@ -258,24 +244,31 @@
                                $default_value = array 
('id'=>'','name'=>lang('no role'));
                                array_unshift 
($responsibility_roles,$default_value);
                                
-                               // Sigurd: START as categories
                                $cats   = CreateObject('phpgwapi.categories', 
-1, 'controller', '.control');
                                $cats->supress_info     = true;
                                
                                $control_areas = 
$cats->formatted_xslt_list(array('format'=>'filter','globals' => true,'use_acl' 
=> $this->_category_acl));
                                                                
-                               $control_areas_array2 = array();
+                               $control_areas_array = array();
                                foreach($control_areas['cat_list'] as $cat_list)
                                {
-                                       $control_areas_array2[] = array
+                                       $control_areas_array[] = array
                                        (
                                                'id'    => $cat_list['cat_id'],
                                                'name'  => $cat_list['name'],
                                        );              
                                }
-                               // END as categories
-                               
-                               
+
+                               $control_info = 
execMethod('controller.socontrol.get_single', $control_id);
+                               if($control_info)
+                               {
+                                       $control_array = array
+                                       (
+                                               'id' => $control_id,
+                                               'title' => 
$control_info->get_title()
+                                       );
+                               }
+
                                $tabs = array( array(
                                                        'label' => 
lang('View_locations_for_control'),
                                                        'link'  => 
$GLOBALS['phpgw']->link('/index.php', array('menuaction' => 
'controller.uicontrol_location.index'))
@@ -287,8 +280,9 @@
                                $data = array(
                                        'tabs'                                  
        => $GLOBALS['phpgw']->common->create_tabs($tabs, 1),
                                        'view'                                  
        => "register_control_to_location",
+                                       'control_id'                            
=> $control_id,
                                        'control_filters'                       
=> array(
-                                               'control_areas_array2'  => 
$control_areas_array2,
+                                               'control_areas_array'   => 
$control_areas_array,
                                                'control_array'                 
        => $control_array
                                        ),
                                        'filter_form'                           
=> array(
@@ -298,9 +292,13 @@
                                                'part_of_town_list'             
=> $part_of_town_list
                                        ),
                                        'datatable' => array(
-                                               'source' => 
self::link(array('menuaction' => 'controller.uicontrol_location.index', 
'phpgw_return_as' => 'json', 'view_type' => 'register_control')),
+                                               'source' => 
self::link(array('menuaction' => 'controller.uicontrol_location.index', 
'phpgw_return_as' => 'json', 'view_type' => 
'register_control','control_id_init'    => $control_id)),
                                                'field' => array(
                                                        array(
+                                                               'key' => 
'location_registered',
+                                                               'hidden' => true
+                                                       ),
+                                                       array(
                                                                'key' => 
'location_code',
                                                                'label' => 
lang('Property'),
                                                                'sortable'      
=> true,
@@ -322,10 +320,15 @@
                                                                'sortable'      
=> false
                                                        ),
                                                        array(
+                                                               'key' => 
'control_name',
+                                                               'label' => 
lang('control'),
+                                                               'sortable'      
=> false
+                                                       ),
+                                                       array(
                                                                        'key' 
=> 'checked',
                                                                        'label' 
=> 'Velg',
                                                                        
'sortable' => false,
-                                                                       
'formatter' => 'YAHOO.widget.DataTable.formatCheckbox',
+                                                                       
'formatter' => 'formatterCheckLocation',
                                                                        
'className' => 'mychecks'
                                                        ),
                                                        array(
@@ -351,6 +354,7 @@
                                
                                self::add_javascript('controller', 
'controller', 'jquery.js');
                                self::add_javascript('controller', 
'controller', 'ajax.js');
+                               self::add_javascript('controller', 'yahoo', 
'register_control_to_location.js');
        
                                
self::render_template_xsl(array('control_location/control_location_tabs', 
'control_location/register_control_to_location', 'common'), $data);
                        }               
@@ -383,8 +387,25 @@
                }
                
                public function query(){
-                       $type_id = phpgw::get_var('type_id');
-                       //var_dump($type_id);
+                       $type_id = phpgw::get_var('type_id', 'int');
+                       $control_id = phpgw::get_var('control_id', 'int');
+                       $control_id_init = phpgw::get_var('control_id_init', 
'int');
+                       $control_area_id = phpgw::get_var('control_area_id', 
'int');
+
+                       $control_id = $control_id ? $control_id : 
$control_id_init;
+                       
+                       if($control_area_id && 
!execMethod('controller.socontrol.get_controls_by_control_area',$control_area_id))
+                       {
+                               $control_id = 0;
+                       }
+
+                       $control_info = 
execMethod('controller.socontrol.get_single', $control_id);
+                       $control_name = '';
+                       if($control_info)
+                       {
+                               $control_name = $control_info->get_title();
+                       }
+
                        $view_type = phpgw::get_var('view_type');
                        $return_results = phpgw::get_var('results', 'int', 
'REQUEST', 0);
                        
@@ -397,15 +418,15 @@
                        
                        $location_list = $this->bo->read(array('user_id' => 
$user_id, 'role_id' =>$role_id, 
'type_id'=>$type_id,'lookup_tenant'=>$lookup_tenant,
                                                                                
                   'lookup'=>$lookup,'allrows'=>$this->allrows,'dry_run' 
=>$dry_run, 'results' => $return_results));
-//_debug_array($location_list);
-                       $rows_total = $this->bo->read(array('type_id' => 
$type_id, 'allrows' => true));
-                       
-                       foreach($location_list as $location)
+
+                       foreach($location_list as &$location)
                        {
+                               $location['control_name'] = $control_name;
+                               $location['location_registered'] = 
!!$this->so_control->get_control_location($control_id, 
$location['location_code']);
                                $results['results'][]= $location;       
                        }
                        
-                       $results['total_records'] = count($rows_total);
+                       $results['total_records'] = $this->bo->total_records;
                        $results['start'] = $this->start;
                        $results['sort'] = 'location_code';
                        $results['dir'] = "ASC";

Modified: trunk/controller/js/controller/ajax.js
===================================================================
--- trunk/controller/js/controller/ajax.js      2012-05-30 12:44:24 UTC (rev 
9468)
+++ trunk/controller/js/controller/ajax.js      2012-05-30 13:46:44 UTC (rev 
9469)
@@ -219,10 +219,11 @@
        
        $("#control_area_list").change(function () {
                var control_area_id = $(this).val();
-                var oArgs = 
{menuaction:'controller.uicontrol.get_controls_by_control_area', 
phpgw_return_as:'json'};
+                var oArgs = 
{menuaction:'controller.uicontrol.get_controls_by_control_area'};
                 var requestUrl = phpGWLink('index.php', oArgs, true);
-         //var requestUrl = 
"index.php?menuaction=controller.uicontrol.get_controls_by_control_area&phpgw_return_as=json"
          
+               $("#hidden_control_area_id").val( control_area_id );
+         var control_id_init = $("#hidden_control_id").val();
          var htmlString = "";
          
          $.ajax({
@@ -235,19 +236,33 @@
                                          var obj = jQuery.parseJSON(data);
                                                
                                          $.each(obj, function(i) {
-                                                 htmlString  += "<option 
value='" + obj[i].id + "'>" + obj[i].title + "</option>";
+
+                                               var selected = '';
+                                               if(obj[i].id == control_id_init)
+                                               {
+                                                       selected = ' selected';
+                                               }
+                                                       htmlString  += "<option 
value='" + obj[i].id + "'" + selected + ">" + obj[i].title + "</option>";
                                        });
                                                                                
                          
                                          $("#control_id").html( htmlString );
-                                       }else {
+                                       }
+                                       else
+                                       {
                                        htmlString  += "<option>Ingen 
kontroller</option>"
                                        $("#control_id").html( htmlString );
+                                               
$("#hidden_control_id").val(-1); //reset
                                }
                          }  
                        });
                        
     });
 
+       $("#control_id").change(function () {
+               var control_id = $(this).val();
+               $("#hidden_control_id").val( control_id );
+    });
+
        // file: uicheck_list.xsl
        // When control area is selected, controls are fetched from db and 
control select list is populated
        $("#control_group_area_list").change(function () {
@@ -1046,4 +1061,4 @@
        
        // Updating order number in front of row
        $(span_order_nr).text(updated_order_nr);
-}
\ No newline at end of file
+}

Added: trunk/controller/js/yahoo/register_control_to_location.js
===================================================================
--- trunk/controller/js/yahoo/register_control_to_location.js                   
        (rev 0)
+++ trunk/controller/js/yahoo/register_control_to_location.js   2012-05-30 
13:46:44 UTC (rev 9469)
@@ -0,0 +1,187 @@
+
+       function saveLocationToControl_old()
+       {
+               var control_id_value = 
document.getElementById('control_id').value;
+               
+               if( !(control_id_value > 0) ){
+                       var choose_control_elem = 
document.getElementById('choose_control');
+                       var error_elem = 
YAHOO.util.Dom.getElementsByClassName('error_msg')[0];
+                                               
+                       error_elem.style.display = 'block';
+                       
+                       return false;
+               }else{
+                       var error_elem = 
YAHOO.util.Dom.getElementsByClassName('error_msg')[0];
+                       error_elem.style.display = 'none';
+               }
+                               
+               var divs = 
YAHOO.util.Dom.getElementsByClassName('location_submit');
+               var mydiv = divs[divs.length-1];
+
+               // styles for dont show
+               
+
+               valuesForPHP = 
YAHOO.util.Dom.getElementsByClassName('mychecks');
+               var values_return = ""; //new Array(); 
+                       
+               for(i=0;i<valuesForPHP.length;i++)
+               {
+                       if(valuesForPHP[i].children[0].children[0].checked)
+                       {
+                               if(values_return != "")
+                                       values_return 
+="|"+valuesForPHP[i].parentNode.firstChild.firstChild.firstChild.firstChild.nodeValue+';'+valuesForPHP[i].children[0].children[0].value;
+                               else
+                                       values_return += 
valuesForPHP[i].parentNode.firstChild.firstChild.firstChild.firstChild.nodeValue+';'+valuesForPHP[i].children[0].children[0].value;
+                       }
+               }
+               
+               if( !(values_return.length > 0) ){
+                       var datatable_container_elem = 
document.getElementById('datatable-container');
+                       var error_elem = 
YAHOO.util.Dom.getElementsByClassName('error_msg')[1];
+                                               
+                       error_elem.style.display = 'block';
+                       
+                       return false;
+               }else{
+                       var error_elem = 
YAHOO.util.Dom.getElementsByClassName('error_msg')[1];
+                       error_elem.style.display = 'none';
+               }
+
+               mydiv.style.display = "none";
+
+               var returnfield = document.createElement('input');
+               returnfield.setAttribute('name', 'values_assign');
+               returnfield.setAttribute('type', 'text');
+               returnfield.setAttribute('value', values_return);
+               mydiv.appendChild(returnfield);
+               
+               var control_id_field = document.createElement('input');
+               control_id_field.setAttribute('name', 'control_id');
+               control_id_field.setAttribute('type', 'text');
+               control_id_field.setAttribute('value', control_id_value);
+               mydiv.appendChild(control_id_field);
+       }
+
+//----------
+       var oArgs_edit = {menuaction:'registration.uipending.edit'};
+       var edit_Url = phpGWLink('index.php', oArgs_edit);
+
+       formatLinkPending = function(elCell, oRecord, oColumn, oData)
+       {
+               var id = oRecord.getData(oColumn.key);
+               elCell.innerHTML = '<a href="' + edit_Url + '&id=' + id + '">' 
+ lang['edit'] + '</a>'; 
+       };
+
+
+       var formatterCheckLocation = function(elCell, oRecord, oColumn, oData)
+       {
+               var checked = '';
+               var hidden = '';
+               if(oRecord.getData('location_registered'))
+               {
+                       checked = "checked = 'checked'";
+                       hidden = "<input type=\"hidden\" class=\"orig_check\"  
name=\"values[control_location_orig][]\" 
value=\""+oRecord.getData('location_code')+"\"/>";
+               }
+               elCell.innerHTML = hidden + "<center><input type=\"checkbox\" 
class=\"mychecks\"" + checked + "value=\""+oRecord.getData('location_code')+"\" 
name=\"values[control_location][]\"/></center>";
+       }
+
+       var FormatterCenter = function(elCell, oRecord, oColumn, oData)
+       {
+               elCell.innerHTML = "<center>"+oData+"</center>";
+       }
+
+       function checkAll(myclass)
+       {
+               controls = YAHOO.util.Dom.getElementsByClassName(myclass);
+               for(i=0;i<controls.length;i++)
+               {
+                       if(!controls[i].disabled)
+                       {
+                               //for class=transfer_idClass, they have to be 
interchanged
+                               if(myclass=="mychecks")
+                               {
+                                       if(controls[i].checked)
+                                       {
+                                               controls[i].checked = false;
+                                       }
+                                       else
+                                       {
+                                               controls[i].checked = true;
+                                       }
+                               }
+                               //for the rest, always id checked
+                               else
+                               {
+                                       controls[i].checked = true;
+                               }
+                       }
+               }
+       }
+       
+       function saveLocationToControl()
+       {
+               var control_id_value = 
document.getElementById('control_id').value;
+               
+               if( !(control_id_value > 0) )
+               {
+                       var choose_control_elem = 
document.getElementById('choose_control');
+                       var error_elem = 
YAHOO.util.Dom.getElementsByClassName('error_msg')[0];
+                                               
+                       error_elem.style.display = 'block';
+                       
+                       return false;
+               }
+               else
+               {
+                       var error_elem = 
YAHOO.util.Dom.getElementsByClassName('error_msg')[0];
+                       error_elem.style.display = 'none';
+               }
+
+               var divs = 
YAHOO.util.Dom.getElementsByClassName('location_submit');
+               var mydiv = divs[divs.length-1];
+
+               // styles for dont show
+
+               valuesForPHP            = 
YAHOO.util.Dom.getElementsByClassName('mychecks');                    
+               valuesForPHP_orig       = 
YAHOO.util.Dom.getElementsByClassName('orig_check');
+
+               var myclone = null;
+               //add all control to form
+               for(i=0;i<valuesForPHP.length;i++)
+               {
+                       myclone = valuesForPHP[i].cloneNode(true);
+                       mydiv.appendChild(myclone);
+               }
+               
+               for(i=0;i<valuesForPHP_orig.length;i++)
+               {
+                       myclone = valuesForPHP_orig[i].cloneNode(true);
+                       mydiv.appendChild(myclone);
+               }
+
+
+               var control_id_field = document.createElement('input');
+               control_id_field.setAttribute('name', 'control_id');
+               control_id_field.setAttribute('type', 'text');
+               control_id_field.setAttribute('value', control_id_value);
+               mydiv.appendChild(control_id_field);
+
+/*
+               if( !(true) )
+               {
+                       var datatable_container_elem = 
document.getElementById('datatable-container');
+                       var error_elem = 
YAHOO.util.Dom.getElementsByClassName('error_msg')[0];
+
+                       error_elem.style.display = 'block';
+
+                       return false;
+               }
+               else
+               {
+                       var error_elem = 
YAHOO.util.Dom.getElementsByClassName('error_msg')[0];
+                       error_elem.style.display = 'none';
+               }
+*/
+               mydiv.style.display = "none";
+       }
+

Modified: 
trunk/controller/templates/base/control_location/register_control_to_location.xsl
===================================================================
--- 
trunk/controller/templates/base/control_location/register_control_to_location.xsl
   2012-05-30 12:44:24 UTC (rev 9468)
+++ 
trunk/controller/templates/base/control_location/register_control_to_location.xsl
   2012-05-30 13:46:44 UTC (rev 9469)
@@ -41,9 +41,9 @@
                        The ajax opearation is handled in ajax.js 
                -->
                 <div class="error_msg">Du må velge kontroll før du kan legge 
til bygg</div> 
-                <select style="float:left;" id="control_area_list" 
name="control_area_list">
+                <select style="float:left;" id="control_area_list" 
name="control_area_id">
                        <option value="">Velg kontrollområde</option>
-                       <xsl:for-each select="control_areas_array2">
+                       <xsl:for-each select="control_areas_array">
                                <option value="{id}">
                                        <xsl:value-of 
disable-output-escaping="yes" select="name"/>
                                </option>
@@ -92,6 +92,15 @@
 <xsl:template name="filter_list" xmlns:php="http://php.net/xsl";>
          <ul id="filters">
                <li>
+                       <input type="hidden" id="hidden_control_id" 
name="control_id">
+                               <xsl:attribute name="value">
+                                       <xsl:value-of select="//control_id"/>
+                               </xsl:attribute>
+                       </input>
+
+                       <input type="hidden" id="hidden_control_area_id" 
name="control_area_id">
+                       </input>
+               
                  <select id="type_id" name="type_id">
                        <xsl:for-each select="building_types">
                                <xsl:variable 
name="building_type_id"><xsl:value-of select="id"/></xsl:variable>
@@ -144,98 +153,6 @@
 </xsl:template>
 
 <xsl:template match="datatable" xmlns:php="http://php.net/xsl";>
-       <script type="text/javascript">
-       <![CDATA[
-       function checkAll(myclass)
-       {
-               controls = YAHOO.util.Dom.getElementsByClassName(myclass);
-               for(i=0;i<controls.length;i++)
-               {
-                       //for class=mychecks, they have to be interchanged
-                       //checkbox is located within td->div->input. To get the 
input-object, use controls[i].children[0].children[0]
-                       if(myclass=='mychecks')
-                       {
-                               if(controls[i].children[0].children[0].checked)
-                               {
-                                       
controls[i].children[0].children[0].checked = false;
-                               }
-                               else
-                               {
-                                       
controls[i].children[0].children[0].checked = true;
-                               }
-                       }
-                       //for the rest, always id checked
-                       else
-                       {
-                               controls[i].children[0].children[0].checked = 
true;
-                       }
-               }
-       }
-       
-       function saveLocationToControl()
-       {
-               var control_id_value = 
document.getElementById('control_id').value;
-               
-               if( !(control_id_value > 0) ){
-                       var choose_control_elem = 
document.getElementById('choose_control');
-                       var error_elem = 
YAHOO.util.Dom.getElementsByClassName('error_msg')[0];
-                                               
-                       error_elem.style.display = 'block';
-                       
-                       return false;
-               }else{
-                       var error_elem = 
YAHOO.util.Dom.getElementsByClassName('error_msg')[0];
-                       error_elem.style.display = 'none';
-               }
-                               
-               var divs = 
YAHOO.util.Dom.getElementsByClassName('location_submit');
-               var mydiv = divs[divs.length-1];
-
-               // styles for dont show
-               
-
-               valuesForPHP = 
YAHOO.util.Dom.getElementsByClassName('mychecks');
-               var values_return = ""; //new Array(); 
-                       
-               for(i=0;i<valuesForPHP.length;i++)
-               {
-                       if(valuesForPHP[i].children[0].children[0].checked)
-                       {
-                               if(values_return != "")
-                                       values_return 
+="|"+valuesForPHP[i].parentNode.firstChild.firstChild.firstChild.firstChild.nodeValue+';'+valuesForPHP[i].children[0].children[0].value;
-                               else
-                                       values_return += 
valuesForPHP[i].parentNode.firstChild.firstChild.firstChild.firstChild.nodeValue+';'+valuesForPHP[i].children[0].children[0].value;
-                       }
-               }
-               
-               if( !(values_return.length > 0) ){
-                       var datatable_container_elem = 
document.getElementById('datatable-container');
-                       var error_elem = 
YAHOO.util.Dom.getElementsByClassName('error_msg')[1];
-                                               
-                       error_elem.style.display = 'block';
-                       
-                       return false;
-               }else{
-                       var error_elem = 
YAHOO.util.Dom.getElementsByClassName('error_msg')[1];
-                       error_elem.style.display = 'none';
-               }
-
-               mydiv.style.display = "none";
-
-               var returnfield = document.createElement('input');
-               returnfield.setAttribute('name', 'values_assign');
-               returnfield.setAttribute('type', 'text');
-               returnfield.setAttribute('value', values_return);
-               mydiv.appendChild(returnfield);
-               
-               var control_id_field = document.createElement('input');
-               control_id_field.setAttribute('name', 'control_id');
-               control_id_field.setAttribute('type', 'text');
-               control_id_field.setAttribute('value', control_id_value);
-               mydiv.appendChild(control_id_field);
-       }
-       ]]>
-       </script>
        <div id="data_paginator"/>
        <div class="error_msg" style="margin-left:20px;">Du må velge bygg før 
du kan legge til en kontroll</div>
        <div id="datatable-container"/>
@@ -276,7 +193,7 @@
                var main_source = '<xsl:value-of select="source"/>';
                var main_columnDefs = YAHOO.controller.columnDefs;
                var main_form = 'queryForm';
-               var main_filters = ['type_id', 'cat_id', 'district_id', 
'part_of_town_id', 'responsibility_roles_list'];
+               var main_filters = ['type_id', 'cat_id', 'district_id', 
'part_of_town_id', 'responsibility_roles_list', 'control_area_list', 
'control_id'];
                var main_container = 'datatable-container';
                var main_table_id = 'datatable';
                var main_pag = 'data_paginator';

Modified: 
trunk/controller/templates/base/control_location/view_locations_for_control.xsl
===================================================================
--- 
trunk/controller/templates/base/control_location/view_locations_for_control.xsl 
    2012-05-30 12:44:24 UTC (rev 9468)
+++ 
trunk/controller/templates/base/control_location/view_locations_for_control.xsl 
    2012-05-30 13:46:44 UTC (rev 9469)
@@ -31,7 +31,7 @@
                                 --> 
                                 <select style="float:left;" 
id="control_area_list" name="control_area_list">
                                        <option value="">Velg 
kontrollområde</option>
-                                       <xsl:for-each 
select="control_areas_array2">
+                                       <xsl:for-each 
select="control_areas_array">
                                                <option value="{id}">
                                                        <xsl:value-of 
disable-output-escaping="yes" select="name"/>
                                                </option>
@@ -122,4 +122,4 @@
                
        </script>
         
-</xsl:template>
\ No newline at end of file
+</xsl:template>




reply via email to

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