fmsystem-commits
[Top][All Lists]
Advanced

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

[Fmsystem-commits] [9219] property: s agreement


From: Sigurd Nes
Subject: [Fmsystem-commits] [9219] property: s agreement
Date: Tue, 24 Apr 2012 13:21:48 +0000

Revision: 9219
          http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=9219
Author:   sigurdne
Date:     2012-04-24 13:21:31 +0000 (Tue, 24 Apr 2012)
Log Message:
-----------
property: s agreement

Modified Paths:
--------------
    trunk/property/inc/class.sos_agreement.inc.php
    trunk/property/inc/class.uis_agreement.inc.php
    trunk/property/js/yahoo/uis_agreement.edit.js
    trunk/property/templates/base/s_agreement.xsl

Modified: trunk/property/inc/class.sos_agreement.inc.php
===================================================================
--- trunk/property/inc/class.sos_agreement.inc.php      2012-04-24 11:05:47 UTC 
(rev 9218)
+++ trunk/property/inc/class.sos_agreement.inc.php      2012-04-24 13:21:31 UTC 
(rev 9219)
@@ -361,7 +361,7 @@
 
                        if ($member_id > 0  && !$detail)
                        {
-                               $filtermethod .= " $where 
$entity_table.member_of $this->like '%,$member_id,%' ";
+                               $filtermethod .= " $where fm_vendor.member_of 
{$this->like} '%,$member_id,%' ";
                                $where= 'AND';
                        }
 

Modified: trunk/property/inc/class.uis_agreement.inc.php
===================================================================
--- trunk/property/inc/class.uis_agreement.inc.php      2012-04-24 11:05:47 UTC 
(rev 9218)
+++ trunk/property/inc/class.uis_agreement.inc.php      2012-04-24 13:21:31 UTC 
(rev 9219)
@@ -32,6 +32,7 @@
         * @package property
         */
 
+       phpgw::import_class('phpgwapi.jquery');
        phpgw::import_class('phpgwapi.yui');
 
        class property_uis_agreement
@@ -46,16 +47,17 @@
 
                var $public_functions = array
                        (
-                               'index'                 => true,
-                               'view'                  => true,
-                               'edit'                  => true,
-                               'delete'                => true,
-                               'columns'               => true,
-                               'edit_item'             => true,
-                               'view_item'             => true,
-                               'view_file'             => true,
-                               'download'              => true,
-                               'import'                => true
+                               'index'                                 => true,
+                               'view'                                  => true,
+                               'edit'                                  => true,
+                               'delete'                                => true,
+                               'columns'                               => true,
+                               'edit_item'                             => true,
+                               'view_item'                             => true,
+                               'view_file'                             => true,
+                               'download'                              => true,
+                               'import'                                => true,
+                               'get_vendor_member_info'=> true
                        );
 
                function property_uis_agreement()
@@ -776,6 +778,7 @@
                                
$GLOBALS['phpgw']->redirect_link('/index.php',array('menuaction'=> 
'property.uis_agreement.view', 'id'=> $id));
                        }
 
+                       phpgwapi_jquery::load_widget('core');
                        $values                 = phpgw::get_var('values');
                        $delete_item    = phpgw::get_var('delete_item');
                        $item_id                = phpgw::get_var('item_id');
@@ -1045,19 +1048,13 @@
 
                        if($values['vendor_id'])
                        {
-
-                               $generic        = 
CreateObject('property.bogeneric');
-                               $generic->get_location_info('vendor');
-                               $vendor = $generic->read_single(array('id' => 
$values['vendor_id']));
-                               $member_of = explode(',', 
trim($vendor['member_of'],','));
+                               $member_of_list = 
$this->get_vendor_member_info($values['vendor_id']);
                        }
                        else
                        {
-                               $member_of      = array();
+                               $member_of_list = array();
                        }
 
-                       $member_of_data = 
$this->cats->formatted_xslt_list(array('selected' => $member_of,'globals' => 
true));
-
                        $table_add[] = array
                                (
                                        'lang_add'                              
=> lang('add detail'),
@@ -1544,9 +1541,7 @@
                                        'select_name'                           
                => 'values[cat_id]',
                                        'cat_list'                              
                        => 
$this->bocommon->select_category_list(array('format'=>'select','selected' => 
$this->cat_id,'type' =>'s_agreement','order'=>'descr')),
 
-                                       'lang_member_of'                        
                => lang('member of'),
-                                       'member_of_name'                        
                => 'member_id',
-                                       'member_of_list2'                       
                => $member_of_data['cat_list'],
+                                       'member_of_list2'                       
                => $member_of_list,
 
                                        'attributes_group'                      
                => $attributes,
                                        'lookup_functions'                      
                => $values['lookup_functions'],
@@ -1626,6 +1621,22 @@
                        $GLOBALS['phpgw']->js->validate_file( 'yahoo', 
'uis_agreement.edit', 'property' );
                }
 
+
+               function get_vendor_member_info($vendor_id = 0)
+               {
+                       if(!$vendor_id)
+                       {
+                               $vendor_id =  phpgw::get_var('vendor_id', 
'int');
+                       }
+                       $generic        = CreateObject('property.bogeneric');
+                       $generic->get_location_info('vendor');
+                       $vendor = $generic->read_single(array('id' => 
$vendor_id));
+                       $member_of = explode(',', 
trim($vendor['member_of'],','));
+                       $member_of_data = 
$this->cats->formatted_xslt_list(array('selected' => $member_of,'globals' => 
true));
+                       return isset($member_of_data['cat_list']) && 
$member_of_data['cat_list'] ? $member_of_data['cat_list'] : array();
+               }
+
+
                function download()
                {
                        if(!$this->acl_read)

Modified: trunk/property/js/yahoo/uis_agreement.edit.js
===================================================================
--- trunk/property/js/yahoo/uis_agreement.edit.js       2012-04-24 11:05:47 UTC 
(rev 9218)
+++ trunk/property/js/yahoo/uis_agreement.edit.js       2012-04-24 13:21:31 UTC 
(rev 9219)
@@ -239,3 +239,82 @@
 });
 
 
+       this.onDOMAttrModified = function(e)
+       {
+               var attr = e.attrName || e.propertyName
+               var target = e.target || e.srcElement;
+               if (attr.toLowerCase() == 'vendor_id')
+               {
+                       update_member_info();
+               }
+       }
+
+
+       this.update_member_info=function()
+       {
+               var vendor_id = $("#vendor_id").val();
+               if(!vendor_id)
+               {
+                       return;
+               }
+               var oArgs = 
{menuaction:'property.uis_agreement.get_vendor_member_info'};
+               var requestUrl = phpGWLink('index.php', oArgs, true);
+
+               var htmlString = "";
+
+               $.ajax({
+                       type: 'POST',
+                       dataType: 'json',
+                       url: requestUrl + "&vendor_id=" + vendor_id,
+                       success: function(data) {
+                               if( data != null)
+                               {
+                                       if(data.sessionExpired)
+                                       {
+                                               alert('Sesjonen er utløpt - du 
må logge inn på nytt');
+                                               return;
+                                       }
+
+                                       var checked = "";
+                                       var obj = data;
+
+                                       $.each(obj, function(i) {
+
+                                               if(obj[i].selected != '')
+                                               {
+                                                       checked = 
"checked=\"checked\"";                                        
+                                               }
+                                               htmlString  += "<input 
type=\"checkbox\" " + checked + "name=\"values[member_of][]\" value=\"" + 
obj[i].cat_id + "\"></input>";
+                                               htmlString  += obj[i].name;
+                                               htmlString  += "<br/>";
+                                               checked = "";
+                               });
+
+                                       $("#member_of").html( htmlString );
+                               }
+                               else
+                               {
+                                       $("#member_of").html( htmlString );
+                               }
+                       }
+                       });
+               $("#member_of").html( htmlString );
+       }
+
+YAHOO.util.Event.addListener(window, "load", function()
+{
+       d = document.getElementById('vendor_id');
+       if(d)
+       {
+               if (d.attachEvent)
+               {
+                       d.attachEvent('onpropertychange', onDOMAttrModified, 
false);
+               }
+               else
+               {
+                       d.addEventListener('DOMAttrModified', 
onDOMAttrModified, false);
+               }
+       }
+});
+
+

Modified: trunk/property/templates/base/s_agreement.xsl
===================================================================
--- trunk/property/templates/base/s_agreement.xsl       2012-04-24 11:05:47 UTC 
(rev 9218)
+++ trunk/property/templates/base/s_agreement.xsl       2012-04-24 13:21:31 UTC 
(rev 9219)
@@ -287,11 +287,9 @@
                                                                        
<xsl:value-of select="lang_descr"/>
                                                                </td>
                                                                <td>
-                                                                       
<textarea cols="60" rows="6" name="values[descr]" 
onMouseout="window.status='';return true;">
-                                                                               
<xsl:attribute name="onMouseover">
-                                                                               
        <xsl:text>window.status='</xsl:text>
+                                                                       
<textarea cols="60" rows="6" name="values[descr]">
+                                                                               
<xsl:attribute name="title">
                                                                                
        <xsl:value-of select="lang_descr_statustext"/>
-                                                                               
        <xsl:text>'; return true;</xsl:text>
                                                                                
</xsl:attribute>
                                                                                
<xsl:value-of select="value_descr"/>
                                                                        
</textarea>
@@ -306,6 +304,20 @@
                                                                </td>
                                                        </tr>
                                                        <xsl:call-template 
name="vendor_form"/>
+                                                       <xsl:choose>
+                                                               <xsl:when 
test="member_of_list2 != ''">
+                                                                       <tr>
+                                                                               
<td valign="top">
+                                                                               
        <xsl:value-of select="php:function('lang', 'member of')"/>
+                                                                               
</td>
+                                                                               
<td valign="top">
+                                                                               
        <div id="member_of">
+                                                                               
                <xsl:apply-templates select="member_of_list2"/>
+                                                                               
        </div>
+                                                                               
</td>
+                                                                       </tr>
+                                                               </xsl:when>
+                                                       </xsl:choose>
                                                        <tr>
                                                                <td 
valign="top">
                                                                        
<xsl:value-of select="lang_budget"/>
@@ -376,22 +388,6 @@
                                                                        </input>
                                                                </td>
                                                        </tr>
-                                                       <xsl:choose>
-                                                               <xsl:when 
test="member_of_list2 != ''">
-                                                                       <tr>
-                                                                               
<div id="member_of">
-                                                                               
        <td valign="top">
-                                                                               
                <xsl:value-of select="php:function('lang', 'member of')"/>
-                                                                               
        </td>
-                                                                               
        <td valign="top">
-                                                                               
                <p style="height: 80px; overflow: auto; border: 5px solid #eee; 
background: #eee; color: #000; margin-bottom: 1.5em;">
-                                                                               
                        <xsl:apply-templates select="member_of_list2"/>
-                                                                               
                </p>
-                                                                               
        </td>
-                                                                               
</div>
-                                                                       </tr>
-                                                               </xsl:when>
-                                                       </xsl:choose>
                                                        <tr>
                                                                <td width="19%" 
align="left" valign="top">
                                                                        
<xsl:value-of select="lang_budget"/>




reply via email to

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