[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Fmsystem-commits] [16178] more on eventplanner
From: |
sigurdne |
Subject: |
[Fmsystem-commits] [16178] more on eventplanner |
Date: |
Sat, 21 Jan 2017 11:44:36 -0500 (EST) |
Revision: 16178
http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=16178
Author: sigurdne
Date: 2017-01-21 11:44:36 -0500 (Sat, 21 Jan 2017)
Log Message:
-----------
more on eventplanner
Modified Paths:
--------------
trunk/eventplanner/inc/class.menu.inc.php
trunk/eventplanner/inc/model/class.vendor_report.inc.php
trunk/eventplanner/setup/phpgw_no.lang
trunk/eventplanner/templates/base/application_info.xsl
trunk/eventplanner/templates/base/booking.xsl
trunk/eventplanner/templates/base/vendor_report.xsl
Added Paths:
-----------
trunk/eventplanner/inc/class.uievents.inc.php
trunk/eventplanner/templates/base/events.xsl
Modified: trunk/eventplanner/inc/class.menu.inc.php
===================================================================
--- trunk/eventplanner/inc/class.menu.inc.php 2017-01-21 14:31:12 UTC (rev
16177)
+++ trunk/eventplanner/inc/class.menu.inc.php 2017-01-21 16:44:36 UTC (rev
16178)
@@ -157,10 +157,10 @@
'text' => lang('application'),
'url' =>
$GLOBALS['phpgw']->link('/index.php', array('menuaction' =>
'eventplanner.uiapplication.index'))
),
- 'resource' => array(
- 'text' => lang('resource'),
- 'url' =>
$GLOBALS['phpgw']->link('/index.php', array('menuaction' =>
"eventplanner.uiresource.index")),
- 'image' => array('resource', 'navbar'),
+ 'events' => array(
+ 'text' => lang('events'),
+ 'url' =>
$GLOBALS['phpgw']->link('/index.php', array('menuaction' =>
"eventplanner.uievents.index")),
+ 'image' => array('events', 'navbar'),
),
'customer' => array(
'text' => lang('customer'),
Added: trunk/eventplanner/inc/class.uievents.inc.php
===================================================================
--- trunk/eventplanner/inc/class.uievents.inc.php
(rev 0)
+++ trunk/eventplanner/inc/class.uievents.inc.php 2017-01-21 16:44:36 UTC
(rev 16178)
@@ -0,0 +1,272 @@
+<?php
+/**
+ * phpGroupWare - eventplanner: a part of a Facilities Management
System.
+ *
+ * @author Sigurd Nes <address@hidden>
+ * @copyright Copyright (C) 2016 Free Software Foundation, Inc.
http://www.fsf.org/
+ * This file is part of phpGroupWare.
+ *
+ * phpGroupWare is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * phpGroupWare is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with phpGroupWare; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
02110-1301 USA
+ *
+ * @license http://www.gnu.org/licenses/gpl.html GNU General Public
License
+ * @internal Development of this application was funded by
http://www.bergen.kommune.no/
+ * @package eventplanner
+ * @subpackage events
+ * @version $Id: $
+ */
+ phpgw::import_class('phpgwapi.uicommon');
+ phpgw::import_class('phpgwapi.datetime');
+
+ include_class('eventplanner', 'application', 'inc/model/');
+
+ class eventplanner_uievents extends phpgwapi_uicommon
+ {
+ public $public_functions = array(
+ 'index' => true,
+ 'query' => true,
+ 'edit' => true,
+ );
+
+ protected
+ $fields,
+ $permissions;
+
+ public function __construct()
+ {
+ parent::__construct();
+ self::set_active_menu('eventplanner::uievents');
+ $GLOBALS['phpgw_info']['flags']['app_header'] .= '::' .
lang('events');
+ $this->bo = createObject('eventplanner.boapplication');
+ $this->cats = & $this->bo->cats;
+ $this->fields = eventplanner_application::get_fields();
+ $this->permissions =
eventplanner_application::get_instance()->get_permission_array();
+ }
+
+ private function get_status_options( $selected = 0 )
+ {
+ $status_options = array();
+ $status_list =
eventplanner_application::get_status_list();
+
+ foreach ($status_list as $_key => $_value)
+ {
+ $status_options[] = array(
+ 'id' => $_key,
+ 'name' => $_value,
+ 'selected' => $_key == $selected ? 1 : 0
+ );
+ }
+ return $status_options;
+ }
+
+ private function _get_filters()
+ {
+ $combos = array();
+ $combos[] = array(
+ 'type' => 'autocomplete',
+ 'name' => 'vendor',
+ 'app' => 'eventplanner',
+ 'ui' => 'vendor',
+ 'label_attr' => 'name',
+ 'text' => lang('vendor') . ':',
+ 'requestGenerator' => 'requestWithVendorFilter'
+ );
+
+ $categories =
$this->cats->formatted_xslt_list(array('format' => 'filter',
+ 'selected' => $this->cat_id, 'globals'
=> true, 'use_acl' => $this->_category_acl));
+ $default_value = array('cat_id' => '', 'name' =>
lang('no category'));
+ array_unshift($categories['cat_list'], $default_value);
+
+ $_categories = array();
+ foreach ($categories['cat_list'] as $_category)
+ {
+ $_categories[] = array('id' =>
$_category['cat_id'], 'name' => $_category['name']);
+ }
+
+ $combos[] = array('type' => 'filter',
+ 'name' => 'filter_category_id',
+ 'extra' => '',
+ 'text' => lang('category'),
+ 'list' => $_categories
+ );
+
+ return $combos;
+
+ }
+ public function index()
+ {
+ if (empty($this->permissions[PHPGW_ACL_READ]))
+ {
+ phpgw::no_access();
+ }
+
+ if (phpgw::get_var('phpgw_return_as') == 'json')
+ {
+ return $this->query();
+ }
+
+ phpgwapi_jquery::load_widget('autocomplete');
+
+ $function_msg = lang('application');
+
+ $data = array(
+ 'datatable_name' => $function_msg,
+ 'form' => array(
+ 'toolbar' => array(
+ 'item' => array(
+ )
+ )
+ ),
+ 'datatable' => array(
+ 'source' => self::link(array(
+ 'menuaction' =>
'eventplanner.uievents.index',
+ 'phpgw_return_as' => 'json'
+ )),
+ 'allrows' => true,
+ 'editor_action' => '',
+ 'field' => parent::_get_fields()
+ )
+ );
+
+ $filters = $this->_get_filters();
+
+ foreach ($filters as $filter)
+ {
+ array_unshift($data['form']['toolbar']['item'],
$filter);
+ }
+
+ $parameters = array(
+ 'parameter' => array(
+ array(
+ 'name' => 'id',
+ 'source' => 'id'
+ )
+ )
+ );
+
+ $data['datatable']['actions'][] = array
+ (
+ 'my_name' => 'view',
+ 'text' => lang('show'),
+ 'action' =>
$GLOBALS['phpgw']->link('/index.php', array
+ (
+ 'menuaction' =>
'eventplanner.uiapplication.view'
+ )),
+ 'parameters' => json_encode($parameters)
+ );
+
+ self::add_javascript('eventplanner', 'portico',
'application.index.js');
+ phpgwapi_jquery::load_widget('numberformat');
+
+ self::render_template_xsl('datatable_jquery', $data);
+ }
+
+
+ public function edit( )
+ {
+ $active_tab = !empty($values['active_tab']) ?
$values['active_tab'] : phpgw::get_var('active_tab', 'string', 'REQUEST',
'first_tab');
+ $GLOBALS['phpgw_info']['flags']['app_header'] .= '::' .
lang('show');
+ if (empty($this->permissions[PHPGW_ACL_READ]))
+ {
+ phpgw::no_access();
+ }
+
+ $id = phpgw::get_var('id', 'int');
+ $application = $this->bo->read_single($id);
+
+ $tabs = array();
+ $tabs['first_tab'] = array(
+ 'label' => lang('event'),
+ 'link' => '#first_tab',
+ 'function' => "set_tab('first_tab')"
+ );
+
+
+ $dates_def = array(
+ array('key' => 'id', 'label' => lang('id'),
'sortable' => true, 'resizeable' => true,'formatter' =>
'JqueryPortico.formatLink'),
+ array('key' => 'from_', 'label' =>
lang('From'), 'sortable' => false, 'resizeable' => true),
+ array('key' => 'to_', 'label' => lang('To'),
'sortable' => false, 'resizeable' => true),
+ array('key' => 'status', 'label' =>
lang('status'), 'sortable' => false, 'resizeable' => true),
+ array('key' => 'customer_name', 'label' =>
lang('who'), 'sortable' => true, 'resizeable' => true),
+ array('key' => 'location', 'label' =>
lang('location'), 'sortable' => false, 'resizeable' => true),
+ array('key' => 'comment', 'label' =>
lang('Note'), 'sortable' => false, 'resizeable' => true),
+ array('key' => 'application_id', 'hidden' =>
true),
+ );
+
+
+
+ $datatable_def[] = array(
+ 'container' => 'datatable-container_0',
+ 'requestUrl' =>
json_encode(self::link(array('menuaction' => 'eventplanner.uibooking.query',
+ 'filter_application_id' => $id,
+ // 'filter_active' => 1,
+ 'phpgw_return_as' => 'json'))),
+ 'ColumnDefs' => $dates_def,
+ 'data' => json_encode(array()),
+ 'config' => array(
+ array('disableFilter' => true),
+ array('disablePagination' => true)
+ )
+ );
+
+ $application_type_list =
execMethod('eventplanner.bogeneric.get_list', array('type' =>
'application_type'));
+ $types = (array)$application->types;
+ if($types)
+ {
+ foreach ($application_type_list as
&$application_type)
+ {
+ foreach ($types as $type)
+ {
+ if((!empty($type['type_id']) &&
$type['type_id'] == $application_type['id']) || ($type ==
$application_type['id']))
+ {
+
$application_type['selected'] = 1;
+ break;
+ }
+ }
+ }
+ }
+
+ $category =
$this->cats->return_single($application->category_id);
+
+ $data = array(
+ 'datatable_def' => $datatable_def,
+ 'cancel_url' =>
$GLOBALS['phpgw']->link('/index.php', array('menuaction' =>
'eventplanner.uievents.index',)),
+ 'application' => $application,
+ 'category_name' => $category[0]['name'],
+ 'status_list' => array('options' =>
$this->get_status_options($application->status)),
+ 'application_type_list' =>
$application_type_list,
+ 'tabs' =>
phpgwapi_jquery::tabview_generate($tabs, $active_tab),
+ 'value_active_tab' => $active_tab
+ );
+ self::render_template_xsl(array('events',
'application_info', 'datatable_inline'), array('edit' => $data));
+ }
+
+
+ public function save()
+ {
+ //Nothing to do here
+ return false;
+ }
+
+
+ public function query()
+ {
+ $params = $this->bo->build_default_read_params();
+ $params['filters']['status'] =
eventplanner_application::STATUS_APPROVED;
+ $values = $this->bo->read($params);
+ array_walk($values["results"], array($this,
"_add_links"),
"{$this->called_class_arr[0]}.{$this->called_class_arr[1]}.edit");
+
+ return $this->jquery_results($values);
+ }
+ }
\ No newline at end of file
Modified: trunk/eventplanner/inc/model/class.vendor_report.inc.php
===================================================================
--- trunk/eventplanner/inc/model/class.vendor_report.inc.php 2017-01-21
14:31:12 UTC (rev 16177)
+++ trunk/eventplanner/inc/model/class.vendor_report.inc.php 2017-01-21
16:44:36 UTC (rev 16178)
@@ -149,8 +149,6 @@
if (!$entity->get_id())
{
$entity->created = time();
- $entity->owner_id =
$GLOBALS['phpgw_info']['user']['account_id'];
- $entity->status =
eventplanner_vendor_report::STATUS_REGISTERED;
$entity->secret = self::generate_secret();
}
}
Modified: trunk/eventplanner/setup/phpgw_no.lang
===================================================================
--- trunk/eventplanner/setup/phpgw_no.lang 2017-01-21 14:31:12 UTC (rev
16177)
+++ trunk/eventplanner/setup/phpgw_no.lang 2017-01-21 16:44:36 UTC (rev
16178)
@@ -94,4 +94,7 @@
maximum of granted events are reached eventplanner no Maksimalt
antall arrangement er nådd
did not validate eventplanner no Feil med datasettet
date is outside the scope eventplanner no Dato ligger utenfor
tillat tidsrom
-can not delete booking with customer eventplanner no Kan ikke slette
booking som er koplet med mottakersted
\ No newline at end of file
+can not delete booking with customer eventplanner no Kan ikke slette
booking som er koplet med mottakersted
+report eventplanner no Rapport
+events eventplanner no Arrangementer
+event eventplanner no Arrangement
\ No newline at end of file
Modified: trunk/eventplanner/templates/base/application_info.xsl
===================================================================
--- trunk/eventplanner/templates/base/application_info.xsl 2017-01-21
14:31:12 UTC (rev 16177)
+++ trunk/eventplanner/templates/base/application_info.xsl 2017-01-21
16:44:36 UTC (rev 16178)
@@ -11,7 +11,7 @@
</div>
<div class="pure-control-group">
<label>
- <xsl:value-of select="php:function('lang',
'application')"/>
+ <xsl:value-of select="php:function('lang', 'event')"/>
</label>
<xsl:value-of select="application/title"/>
</div>
@@ -44,7 +44,7 @@
</div>
<div class="pure-control-group">
<label>
- <xsl:value-of select="php:function('lang', 'type')"/>
+ <xsl:value-of select="php:function('lang', 'program
type')"/>
</label>
<div class="pure-custom">
<table class="pure-table pure-table-bordered"
border="0" cellspacing="2" cellpadding="2">
@@ -51,10 +51,9 @@
<thead>
<tr>
<th>
- <xsl:value-of
select="php:function('lang', 'select')"/>
</th>
<th>
- <xsl:value-of
select="php:function('lang', 'type')"/>
+ <xsl:value-of
select="php:function('lang', 'program type')"/>
</th>
</tr>
</thead>
@@ -74,6 +73,13 @@
</tbody>
</table>
</div>
+ <div class="pure-control-group">
+ <label>
+ <xsl:value-of select="php:function('lang',
'event timespan')"/>
+ </label>
+ <xsl:value-of select="application/timespan"/>
+ </div>
+
</div>
</xsl:template>
Modified: trunk/eventplanner/templates/base/booking.xsl
===================================================================
--- trunk/eventplanner/templates/base/booking.xsl 2017-01-21 14:31:12 UTC
(rev 16177)
+++ trunk/eventplanner/templates/base/booking.xsl 2017-01-21 16:44:36 UTC
(rev 16178)
@@ -134,7 +134,7 @@
</div>
<div class="pure-control-group">
<label>
- <xsl:value-of
select="php:function('lang', 'type')"/>
+ <xsl:value-of
select="php:function('lang', 'program type')"/>
</label>
<div
class="pure-custom">
<table
class="pure-table pure-table-bordered" border="0" cellspacing="2"
cellpadding="2">
@@ -144,7 +144,7 @@
<xsl:value-of select="php:function('lang', 'select')"/>
</th>
<th>
-
<xsl:value-of select="php:function('lang', 'type')"/>
+
<xsl:value-of select="php:function('lang', 'program type')"/>
</th>
</tr>
</thead>
@@ -166,10 +166,6 @@
</div>
</div>
-
-
-
-
</fieldset>
<fieldset>
Added: trunk/eventplanner/templates/base/events.xsl
===================================================================
--- trunk/eventplanner/templates/base/events.xsl
(rev 0)
+++ trunk/eventplanner/templates/base/events.xsl 2017-01-21 16:44:36 UTC
(rev 16178)
@@ -0,0 +1,138 @@
+
+<!-- $Id: price_item.xsl 12604 2015-01-15 17:06:11Z nelson224 $ -->
+<xsl:template match="data">
+ <xsl:choose>
+ <xsl:when test="edit">
+ <xsl:apply-templates select="edit" />
+ </xsl:when>
+ <xsl:when test="view">
+ <xsl:apply-templates select="view" />
+ </xsl:when>
+ </xsl:choose>
+
+</xsl:template>
+
+<!-- add / edit -->
+<xsl:template xmlns:php="http://php.net/xsl" match="edit">
+ <xsl:variable name="date_format">
+ <xsl:value-of select="php:function('get_phpgw_info',
'user|preferences|common|dateformat')" />
+ <xsl:text> H:i</xsl:text>
+ </xsl:variable>
+ <xsl:variable name="form_action">
+ <xsl:value-of select="form_action"/>
+ </xsl:variable>
+ <xsl:variable name="mode">
+ <xsl:value-of select="mode"/>
+ </xsl:variable>
+
+ <div>
+ <script type="text/javascript">
+ var lang = <xsl:value-of
select="php:function('js_lang', 'Name or company is required')"/>;
+ </script>
+ <form id="form" name="form" method="post"
action="{$form_action}" class="pure-form pure-form-aligned">
+ <div id="tab-content">
+ <xsl:value-of disable-output-escaping="yes"
select="tabs"/>
+ <input type="hidden" id="active_tab"
name="active_tab" value="{value_active_tab}"/>
+ <div id="first_tab">
+ <xsl:if test="booking/id > 0">
+ <div class="pure-control-group">
+ <label>
+ <a
href="{booking_url}">
+
<xsl:value-of select="php:function('lang', 'booking')"/>
+ </a>
+ </label>
+ <input type="hidden"
name="booking_id" value="{booking/id}"/>
+ <xsl:value-of
select="booking/id"/>
+ </div>
+ </xsl:if>
+ <xsl:if test="vendor_report/id > 0">
+ <div class="pure-control-group">
+ <label>
+ <xsl:value-of
select="php:function('lang', 'report')"/>
+ </label>
+ <input type="hidden"
name="id" value="{vendor_report/id}"/>
+ <xsl:value-of
select="vendor_report/id"/>
+ </div>
+ </xsl:if>
+ <xsl:call-template
name="application_info">
+ <xsl:with-param
name="application" select ='application'/>
+ <xsl:with-param
name="application_type_list" select ='application_type_list'/>
+ </xsl:call-template>
+
+ <div class="pure-control-group">
+ <label>
+ <xsl:value-of
select="php:function('lang', 'category')"/>
+ </label>
+ <xsl:value-of
select="category_name"/>
+ </div>
+
+
+ <div class="pure-control-group">
+ <label>
+ <xsl:value-of
select="php:function('lang', 'event dates')"/>
+ </label>
+ <div class="pure-custom">
+ <xsl:for-each
select="datatable_def">
+ <xsl:if
test="container = 'datatable-container_0'">
+
<xsl:call-template name="table_setup">
+
<xsl:with-param name="container" select ='container'/>
+
<xsl:with-param name="requestUrl" select ='requestUrl'/>
+
<xsl:with-param name="ColumnDefs" select ='ColumnDefs'/>
+
<xsl:with-param name="tabletools" select ='tabletools'/>
+
<xsl:with-param name="data" select ='data'/>
+
<xsl:with-param name="config" select ='config'/>
+
</xsl:call-template>
+ </xsl:if>
+ </xsl:for-each>
+ </div>
+ </div>
+
+ </div>
+ </div>
+ <div class="proplist-col">
+ <!--input type="submit" class="pure-button
pure-button-primary" name="save">
+ <xsl:attribute name="value">
+ <xsl:value-of
select="php:function('lang', 'save')"/>
+ </xsl:attribute>
+ </input-->
+ <xsl:variable name="cancel_url">
+ <xsl:value-of select="cancel_url"/>
+ </xsl:variable>
+ <input type="button" class="pure-button
pure-button-primary" name="cancel" onClick="window.location = '{cancel_url}';">
+ <xsl:attribute name="value">
+ <xsl:value-of
select="php:function('lang', 'cancel')"/>
+ </xsl:attribute>
+ </input>
+ </div>
+ </form>
+ </div>
+</xsl:template>
+
+<xsl:template match="options">
+ <option value="{id}">
+ <xsl:if test="selected != 0">
+ <xsl:attribute name="selected" value="selected"/>
+ </xsl:if>
+ <xsl:value-of disable-output-escaping="yes" select="name"/>
+ </option>
+</xsl:template>
+
+
+<xsl:template xmlns:php="http://php.net/xsl" match="view">
+ <div>
+ <form id="form" name="form" method="post" action=""
class="pure-form pure-form-aligned">
+ <div id="tab-content">
+ <xsl:value-of disable-output-escaping="yes"
select="tabs"/>
+ <div id="showing">
+
+ </div>
+ </div>
+ <div class="proplist-col">
+ <xsl:variable name="cancel_url">
+ <xsl:value-of select="cancel_url"/>
+ </xsl:variable>
+ <input type="button" class="pure-button
pure-button-primary" name="cancel" value="{lang_cancel}"
onMouseout="window.status='';return true;" onClick="window.location =
'{cancel_url}';"/>
+ </div>
+ </form>
+ </div>
+</xsl:template>
Modified: trunk/eventplanner/templates/base/vendor_report.xsl
===================================================================
--- trunk/eventplanner/templates/base/vendor_report.xsl 2017-01-21 14:31:12 UTC
(rev 16177)
+++ trunk/eventplanner/templates/base/vendor_report.xsl 2017-01-21 16:44:36 UTC
(rev 16178)
@@ -67,12 +67,6 @@
</label>
<xsl:value-of
select="php:function('show_date', number(booking/from_), $date_format)"/>
</div>
- <div class="pure-control-group">
- <label>
- <xsl:value-of
select="php:function('lang', 'event timespan')"/>
- </label>
- <xsl:value-of
select="application/timespan"/>
- </div>
<div class="pure-control-group">
<label>
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Fmsystem-commits] [16178] more on eventplanner,
sigurdne <=