fmsystem-commits
[Top][All Lists]
Advanced

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

[Fmsystem-commits] [14316] list activity on add application from resourc


From: Sigurd Nes
Subject: [Fmsystem-commits] [14316] list activity on add application from resource
Date: Tue, 10 Nov 2015 12:01:26 +0000

Revision: 14316
          http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=14316
Author:   sigurdne
Date:     2015-11-10 12:01:20 +0000 (Tue, 10 Nov 2015)
Log Message:
-----------
list activity on add application from resource

Modified Paths:
--------------
    branches/dev-syncromind/booking/inc/class.uiapplication.inc.php
    branches/dev-syncromind/booking/inc/class.uireports.inc.php
    branches/dev-syncromind/booking/js/booking/application.js
    branches/dev-syncromind/bookingfrontend/inc/class.bosearch.inc.php
    branches/dev-syncromind/bookingfrontend/inc/class.uiresource.inc.php
    branches/dev-syncromind/bookingfrontend/inc/class.uisearch.inc.php
    branches/dev-syncromind/bookingfrontend/templates/base/application_new.xsl
    branches/dev-syncromind/bookingfrontend/templates/base/search.xsl
    branches/dev-syncromind/phpgwapi/inc/class.jasper_wrapper.inc.php

Added Paths:
-----------
    branches/dev-syncromind/bookingfrontend/js/bookingfrontend/search.js

Modified: branches/dev-syncromind/booking/inc/class.uiapplication.inc.php
===================================================================
--- branches/dev-syncromind/booking/inc/class.uiapplication.inc.php     
2015-11-10 07:40:41 UTC (rev 14315)
+++ branches/dev-syncromind/booking/inc/class.uiapplication.inc.php     
2015-11-10 12:01:20 UTC (rev 14316)
@@ -718,8 +718,15 @@
                        else 
                        {
                                 $resources = 
explode(",",phpgw::get_var('resource', 'GET'));
-                                array_set_default($application, 'resources', 
$resources);
+                                                               if($resources)
+                                                               {
+                                                                       
$resources_id = $resources[0];
+                                                                       
$resource = $this->resource_bo->read_single($resources_id);
+                                                                       
$activity_id = $resource['activity_id'];
+                                                               }
 
+                                                               
array_set_default($application, 'resources', $resources);
+
                        }
                        array_set_default($application, 'building_id', 
phpgw::get_var('building_id', 'GET'));
 
@@ -752,7 +759,10 @@
                        {
                                $application['cancel_link'] = 
self::link(array('menuaction' => 'bookingfrontend.uibuilding.schedule', 'id' => 
phpgw::get_var('building_id', 'GET')));
                        }
-                       $activity_id = phpgw::get_var('activity_id', 'int', 
'REQUEST', -1);
+                       if(!$activity_id)
+                       {
+                               $activity_id = phpgw::get_var('activity_id', 
'int', 'REQUEST', -1);
+                       }
                        $activity_path   = 
$this->activity_bo->get_path($activity_id);
                        $top_level_activity = $activity_path ? 
$activity_path[0]['id'] : -1;
                         array_set_default($application, 'activity_id', 
$activity_id);

Modified: branches/dev-syncromind/booking/inc/class.uireports.inc.php
===================================================================
--- branches/dev-syncromind/booking/inc/class.uireports.inc.php 2015-11-10 
07:40:41 UTC (rev 14315)
+++ branches/dev-syncromind/booking/inc/class.uireports.inc.php 2015-11-10 
12:01:20 UTC (rev 14316)
@@ -359,7 +359,7 @@
                public function get_participants_per_agegroupe($data)
                {
 
-                       $output_type = 'XLS';//'XLS';
+                       $output_type = 'XHTML';//'XLS';
                        $db                      = & $GLOBALS['phpgw']->db;
 
                        $resources = array();

Modified: branches/dev-syncromind/booking/js/booking/application.js
===================================================================
--- branches/dev-syncromind/booking/js/booking/application.js   2015-11-10 
07:40:41 UTC (rev 14315)
+++ branches/dev-syncromind/booking/js/booking/application.js   2015-11-10 
12:01:20 UTC (rev 14316)
@@ -6,7 +6,13 @@
                                                   'field_building_name', 
'field_building_id', 'building_container');
 
     $("#field_activity").change(function(){
-        var oArgs = 
{menuaction:'bookingfrontend.uiapplication.get_activity_data', 
activity_id:$(this).val()};
+               var building_id = $('#field_building_id').val();
+               if(building_id)
+               {
+                       populateTableChkResources(building_id, 
initialSelection);
+               }
+
+               var oArgs = 
{menuaction:'bookingfrontend.uiapplication.get_activity_data', 
activity_id:$(this).val()};
         var requestUrl = phpGWLink('index.php', oArgs, true);
 
         $.ajax({
@@ -208,7 +214,8 @@
 }
 
 function populateTableChkResources (building_id, selection) {
-    var url = 
'index.php?menuaction=bookingfrontend.uiresource.index_json&sort=name&filter_building_id='
 +  building_id + '&phpgw_return_as=json&';
+       oArgs = {menuaction: 'bookingfrontend.uiresource.index_json', 
sort:'name', filter_building_id:building_id, sub_activity_id: 
$("#field_activity").val()};
+       var url = phpGWLink('index.php', oArgs, true);
     var container = 'resources_container';
     var colDefsResources = [{label: '', object: [{type: 'input', attrs: 
[{name: 'type', value: 'checkbox'},{name: 'name', value: 'resources[]'},{name: 
'class', value: 'chkRegulations'},{name: 'data-validation', value: 
'checkbox_group'},{name: 'data-validation-qty', value: 'min1'},{name: 
'data-validation-error-msg', value: 'Please choose at least 1 resource'}]}], 
value: 'id', checked: selection},{key: 'name', label: lang['Name']}, {key: 
'type', label: lang['Resource Type']}];
     populateTableResources(url, container, colDefsResources);

Modified: branches/dev-syncromind/bookingfrontend/inc/class.bosearch.inc.php
===================================================================
--- branches/dev-syncromind/bookingfrontend/inc/class.bosearch.inc.php  
2015-11-10 07:40:41 UTC (rev 14315)
+++ branches/dev-syncromind/bookingfrontend/inc/class.bosearch.inc.php  
2015-11-10 12:01:20 UTC (rev 14316)
@@ -12,10 +12,14 @@
                        $this->soevent = CreateObject('booking.soevent');
                }
                
-               function search($searchterm)
+               function search($searchterm, $activity_top_level, $building_id)
                {
-                       if($type = phpgw::get_var('type', 'GET'))
+                       if($activity_top_level)
                        {
+                               $types = array('resource');
+                       }
+                       else if($type = phpgw::get_var('type', 'string','GET'))
+                       {
                                $types = array($type);
                        }
                        else
@@ -58,7 +62,18 @@
 
                        if(in_array('resource', $types))
                        {
-                $res_result = 
$this->soresource->read(array("query"=>$searchterm, "sort"  => "name", "dir" => 
"asc",  "filters" => array("active" => "1")));
+                               $_filter_resource = array("active" => "1");
+
+                               if($activity_top_level)
+                               {
+                                       $_filter_resource['activity_id'] = 
$activity_top_level;
+                               }
+                               if($building_id)
+                               {
+                                       $_filter_resource['building_id'] = 
$building_id;
+                               }
+               
+                               $res_result = 
$this->soresource->read(array("query"=>$searchterm, "sort"  => "name", "dir" => 
"asc",  "filters" => $_filter_resource ));
                 foreach($res_result['results'] as &$res)
                 {
                     $res['name'] = $res['building_name']. ' / ' . $res['name'];

Modified: branches/dev-syncromind/bookingfrontend/inc/class.uiresource.inc.php
===================================================================
--- branches/dev-syncromind/bookingfrontend/inc/class.uiresource.inc.php        
2015-11-10 07:40:41 UTC (rev 14315)
+++ branches/dev-syncromind/bookingfrontend/inc/class.uiresource.inc.php        
2015-11-10 12:01:20 UTC (rev 14316)
@@ -23,6 +23,12 @@
                
                public function index_json()
                {
+                       if ($sub_activity_id = 
phpgw::get_var('sub_activity_id'))
+                       {
+                               $activity_path = 
ExecMethod('booking.boactivity.get_path',$sub_activity_id);
+                               $top_level_activity = $activity_path ? 
$activity_path[0]['id'] : -1;
+                               $_REQUEST['filter_activity_id'] = 
$top_level_activity;
+                       }
                        return 
$this->bo->populate_grid_data("bookingfrontend.uiresource.show");
                }
 

Modified: branches/dev-syncromind/bookingfrontend/inc/class.uisearch.inc.php
===================================================================
--- branches/dev-syncromind/bookingfrontend/inc/class.uisearch.inc.php  
2015-11-10 07:40:41 UTC (rev 14315)
+++ branches/dev-syncromind/bookingfrontend/inc/class.uisearch.inc.php  
2015-11-10 12:01:20 UTC (rev 14316)
@@ -20,28 +20,55 @@
                
                function index()
                {
+                       phpgwapi_jquery::load_widget('autocomplete');
+
+                       self::add_javascript('bookingfrontend', 
'bookingfrontend', 'search.js');
                        $config = CreateObject('phpgwapi.config','booking');
                        $config->read();
                        $searchterm = trim(phpgw::get_var('searchterm', 
'string', null));
-                       $type = phpgw::get_var('type', 'GET', null);
+                       $type = phpgw::get_var('type','string', 'GET', null);
+                       $activity_top_level = 
phpgw::get_var('activity_top_level', 'int', 'REQUEST', null);
+                       $building_id = phpgw::get_var('building_id', 'int', 
'REQUEST', null);
+
                        $search = null;
                        if ($config->config_data['frontpagetext'] != '')
                        {
                                $frontpagetext = 
$config->config_data['frontpagetext'];
-                       } else {
+                       }
+                       else
+                       {
                                $frontpagetext = 'Velkommen til AktivBy.<br 
/>Her finner du informasjon om idrettsanlegg som leies ut<br />av 
idrettsavdelingen.';
                        }
                        
-                       if (strlen($searchterm) || $type)
+                       if (strlen($searchterm) || $type || $activity_top_level)
                        {
                                $search = array(
-                                       'results'    => 
$this->bo->search($searchterm),
-                                       'searchterm' => $searchterm
+                                       'results'    => 
$this->bo->search($searchterm, $activity_top_level, $building_id),
+                                       'searchterm' => $searchterm,
+                                       'activity_top_level'=> 
$activity_top_level
                                );
                        }
                        
-                       $params = is_null($search) ? array('baseurl' => 
"{$GLOBALS['phpgw_info']['server']['webserver_url']}", 'frontimage' => 
"{$GLOBALS['phpgw_info']['server']['webserver_url']}/phpgwapi/templates/bkbooking/images/newlayout/forsidebilde.jpg",
 'frontpagetext' => $frontpagetext) : array('search' => $search);
+                       $params         = is_null($search) ? array('baseurl' => 
"{$GLOBALS['phpgw_info']['server']['webserver_url']}", 'frontimage' => 
"{$GLOBALS['phpgw_info']['server']['webserver_url']}/phpgwapi/templates/bkbooking/images/newlayout/forsidebilde.jpg",
 'frontpagetext' => $frontpagetext) : array('search' => $search);
+                       $params['activity_top_level'] = $activity_top_level;
 
+                       $bobuilding = CreateObject('booking.bobuilding');
+                       $building = $bobuilding->read_single($building_id);
+                       $params['building_name'] = $building['name'];
+
+                       $activities     = 
ExecMethod('booking.boactivity.get_top_level');
+
+                       foreach($activities as &$activity)
+                       {
+                               $activity['search_url'] = self::link(array(
+                                       'menuaction'                    => 
'bookingfrontend.uisearch.index',
+                                       'activity_top_level'    => 
$activity['id'],
+                                       'building_id'                   => 
$building_id
+                               ));
+                       }
+
+                       $params['activities']   = $activities;
+
 //                     self::render_template('search', $params);
             self::render_template_xsl('search', $params);
 

Added: branches/dev-syncromind/bookingfrontend/js/bookingfrontend/search.js
===================================================================
--- branches/dev-syncromind/bookingfrontend/js/bookingfrontend/search.js        
                        (rev 0)
+++ branches/dev-syncromind/bookingfrontend/js/bookingfrontend/search.js        
2015-11-10 12:01:20 UTC (rev 14316)
@@ -0,0 +1,31 @@
+var building_id_selection = "";
+$(document).ready(function () {
+       oArgs = {menuaction: 'bookingfrontend.uibuilding.index'};
+       var requestUrl = phpGWLink('bookingfrontend/', oArgs, true);
+       JqueryPortico.autocompleteHelper(requestUrl, 'field_building_name', 
'field_building_id', 'building_container');
+});
+
+$(window).load(function () {
+       var building_id = $('#field_building_id').val();
+       if (building_id > 0) {
+               populateTableChkResources(building_id, initialSelection);
+               building_id_selection = building_id;
+       }
+       $("#field_building_name").on("autocompleteselect", function (event, ui) 
{
+               var building_id = ui.item.value;
+               if (building_id != building_id_selection) {
+
+       //              var menuaction = $('#menuaction').val();
+                       var activity_top_level = $('#activity_top_level').val();
+
+                       oArgs = {menuaction: 'bookingfrontend.uisearch.index', 
activity_top_level: activity_top_level, building_id: building_id};
+                       var requestUrl = phpGWLink('bookingfrontend/', oArgs);
+
+                       window.location.href = requestUrl;
+
+//                     populateTableChkResources(building_id, []);
+
+                       building_id_selection = building_id;
+               }
+       });
+});

Modified: 
branches/dev-syncromind/bookingfrontend/templates/base/application_new.xsl
===================================================================
--- branches/dev-syncromind/bookingfrontend/templates/base/application_new.xsl  
2015-11-10 07:40:41 UTC (rev 14315)
+++ branches/dev-syncromind/bookingfrontend/templates/base/application_new.xsl  
2015-11-10 12:01:20 UTC (rev 14316)
@@ -25,7 +25,7 @@
                         </xsl:if-->
                     </dt>
                     <dd>
-                        <select name="activity_id" id="field_activity">
+                                               <select name="activity_id" 
id="field_activity">
                             <option value=""><xsl:value-of 
select="php:function('lang', '-- select an activity --')" /></option>
                             <xsl:for-each select="activities">
                                 <option>

Modified: branches/dev-syncromind/bookingfrontend/templates/base/search.xsl
===================================================================
--- branches/dev-syncromind/bookingfrontend/templates/base/search.xsl   
2015-11-10 07:40:41 UTC (rev 14315)
+++ branches/dev-syncromind/bookingfrontend/templates/base/search.xsl   
2015-11-10 12:01:20 UTC (rev 14316)
@@ -15,9 +15,10 @@
 
 <xsl:template match="data" xmlns:php="http://php.net/xsl";>
        <!--xsl:call-template name="yui_booking_i18n"/-->
-  <div id="content">
+<div id="content">
     <form action="" method="GET" id="search">
-      <input type="hidden" name="menuaction" 
value="bookingfrontend.uisearch.index" />
+      <input type="hidden" id="menuaction" name="menuaction" 
value="bookingfrontend.uisearch.index" />
+      <input type="hidden" id="activity_top_level" name="activity_top_level" 
value="{activity_top_level}" />
       <xsl:choose>
         <xsl:when test="search and string-length(search/searchterm) &gt; 0">
           <input id="search" type="text" name="searchterm" 
value="{search/searchterm}"/>
@@ -26,11 +27,41 @@
           <input id="search" type="text" name="searchterm" value="Søk hall, 
klubb eller aktivitet" onclick="value=''" />
         </xsl:otherwise>
       </xsl:choose>
-      <xsl:text> </xsl:text><input type="submit" value="{php:function('lang', 
'Search')}"/>
+               <div id="building_container">
+                       <input id="field_building_id" name="building_id" 
type="hidden">
+                               <xsl:attribute name="value">
+                                       <xsl:value-of select="building_id"/>
+                               </xsl:attribute>
+                       </input>
+                       <input id="field_building_name" name="building_name" 
type="text">
+                               <xsl:attribute name="value">
+                                       <xsl:value-of select="building_name"/>
+                               </xsl:attribute>
+                       </input>
+               </div>
+      <!--xsl:text> </xsl:text><input type="submit" 
value="{php:function('lang', 'Search')}"/-->
       <div class="hint">
         F.eks. "<i>Haukelandshallen</i>", "<i>Nordnes bydelshus</i>", 
"<i>idrett</i>" eller "<i>kor</i>".
       </div>
     </form>
+       <ul>
+               <xsl:for-each select="activities">
+                       <li>
+                               <a href="{search_url}">
+                                       <xsl:choose>
+                                               <xsl:when 
test="../activity_top_level = id">
+                                                       <xsl:text>[</xsl:text>
+                                                       <xsl:value-of 
select="name"/>
+                                                       <xsl:text>]</xsl:text>
+                                               </xsl:when>
+                                               <xsl:otherwise>
+                                                       <xsl:value-of 
select="name"/>
+                                               </xsl:otherwise>
+                                       </xsl:choose>
+                               </a>
+                       </li>
+               </xsl:for-each>
+       </ul>
        
        <xsl:if test="not(search)">     
                <div id="cloud">
@@ -89,11 +120,11 @@
                                </xsl:otherwise>
                              </xsl:choose>
                                                <div id="{img_container}"/>
-                                               <script type="text/javascript">
+                                               <!--script 
type="text/javascript">
                                                
YAHOO.util.Event.addListener(window, "load", function() {
                                                        
YAHOO.booking.inlineImages('<xsl:value-of select="img_container"/>', 
'<xsl:value-of select="img_url"/>');
                                                });
-                                               </script>
+                                               </script-->
 
                            </dd>
                            <xsl:if test="string-length(homepage) &gt; 1">

Modified: branches/dev-syncromind/phpgwapi/inc/class.jasper_wrapper.inc.php
===================================================================
--- branches/dev-syncromind/phpgwapi/inc/class.jasper_wrapper.inc.php   
2015-11-10 07:40:41 UTC (rev 14315)
+++ branches/dev-syncromind/phpgwapi/inc/class.jasper_wrapper.inc.php   
2015-11-10 12:01:20 UTC (rev 14316)
@@ -46,7 +46,7 @@
                        } 
                        elseif ($GLOBALS['phpgw_info']['server']['db_type'] == 
"mysql") 
                        {
-                               $this->connection_string = 
"jdbc:postgresql://".$db_host.":3306/".$db_name;
+                               $this->connection_string = 
"jdbc:mysql://".$db_host.":3306/".$db_name;
                        }
                }
 
@@ -274,6 +274,10 @@
                                $browser = CreateObject('phpgwapi.browser');
                                
$browser->content_header($filename,$mime,strlen($output));
                                echo $output;
+                               if($output)
+                               {
+                                       $GLOBALS['phpgw']->common->phpgw_exit();
+                               }
                                return false;
                        }
                }




reply via email to

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