[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Fmsystem-commits] [13178] Syncromind: Merge 12988:13177 from trunk
From: |
Sigurd Nes |
Subject: |
[Fmsystem-commits] [13178] Syncromind: Merge 12988:13177 from trunk |
Date: |
Sun, 10 May 2015 18:19:26 +0000 |
Revision: 13178
http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=13178
Author: sigurdne
Date: 2015-05-10 18:19:25 +0000 (Sun, 10 May 2015)
Log Message:
-----------
Syncromind: Merge 12988:13177 from trunk
Modified Paths:
--------------
branches/dev-syncromind/controller/inc/class.socheck_list.inc.php
branches/dev-syncromind/controller/inc/class.socontrol.inc.php
branches/dev-syncromind/controller/inc/class.uicomponent.inc.php
branches/dev-syncromind/controller/inc/component/class.check_list_status_manager.inc.php
branches/dev-syncromind/controller/inc/component/class.year_calendar.inc.php
branches/dev-syncromind/controller/inc/model/class.check_list.inc.php
branches/dev-syncromind/controller/setup/phpgw_no.lang
branches/dev-syncromind/controller/setup/setup.inc.php
branches/dev-syncromind/controller/setup/tables_current.inc.php
branches/dev-syncromind/controller/setup/tables_update.inc.php
branches/dev-syncromind/controller/templates/base/component.xsl
branches/dev-syncromind/property/inc/class.boentity.inc.php
branches/dev-syncromind/property/inc/class.bolookup.inc.php
branches/dev-syncromind/property/inc/class.soinvoice.inc.php
branches/dev-syncromind/property/inc/class.sotts.inc.php
branches/dev-syncromind/property/inc/class.uientity.inc.php
branches/dev-syncromind/property/inc/class.uilookup.inc.php
branches/dev-syncromind/property/js/portico/entity.edit.js
branches/dev-syncromind/property/setup/tables_current.inc.php
branches/dev-syncromind/property/setup/tables_update.inc.php
branches/dev-syncromind/property/templates/base/entity.xsl
branches/dev-syncromind/rental/inc/class.uibilling.inc.php
Property Changed:
----------------
branches/dev-syncromind/
Property changes on: branches/dev-syncromind
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/stavangerkommune:12743-12875,12986
/trunk:12111-12211,12213-12246,12250-12363,12366-12405,12407-12435,12437-12462,12464-12527,12530-12602,12604-12670,12672-12683,12686-12750,12753-12785,12787-12974,12987
+ /branches/stavangerkommune:12743-12875,12986
/trunk:12111-12211,12213-12246,12250-12363,12366-12405,12407-12435,12437-12462,12464-12527,12530-12602,12604-12670,12672-12683,12686-12750,12753-12785,12787-12974,12987,12989-13177
Modified: branches/dev-syncromind/controller/inc/class.socheck_list.inc.php
===================================================================
--- branches/dev-syncromind/controller/inc/class.socheck_list.inc.php
2015-05-09 17:49:21 UTC (rev 13177)
+++ branches/dev-syncromind/controller/inc/class.socheck_list.inc.php
2015-05-10 18:19:25 UTC (rev 13178)
@@ -629,16 +629,19 @@
* @param $repeat_type_expr repeat type expression
* @return array with check list objects
*/
- function get_check_lists_for_control_and_component( $control_id,
$location_id, $component_id, $from_date_ts, $to_date_ts, $repeat_type = null )
+ function get_check_lists_for_control_and_component( $control_id,
$location_id, $component_id, $from_date_ts, $to_date_ts, $repeat_type = null,
$user_id=0 )
{
$control_id = (int) $control_id;
$location_id = (int) $location_id;
$component_id = (int) $component_id;
+ $user_id = (int) $user_id;
- $sql = "SELECT cl.id as cl_id, cl.status as cl_status,
cl.comment as cl_comment, deadline, planned_date, completed_date, assigned_to,
";
- $sql .= "cl.component_id as cl_component_id, cl.location_id as
cl_location_id, cl.location_code as cl_location_code, num_open_cases,
num_pending_cases ,cl.serie_id ";
+ $sql = "SELECT cl.id as cl_id, cl.status as cl_status,
cl.comment as cl_comment, deadline, planned_date, completed_date,
cl.assigned_to, ";
+ $sql .= "cl.component_id as cl_component_id, cl.location_id as
cl_location_id,"
+ . " cl.location_code as cl_location_code, num_open_cases,
num_pending_cases ,cl.serie_id, cs.repeat_type ";
$sql .= "FROM controller_check_list cl ";
$sql .= "LEFT JOIN controller_control c on cl.control_id = c.id
";
+ $sql .= "LEFT JOIN controller_control_serie cs on cl.serie_id =
cs.id ";
$sql .= "WHERE cl.control_id = {$control_id} ";
$sql .= "AND cl.component_id = {$component_id} ";
$sql .= "AND cl.location_id = {$location_id} ";
@@ -647,9 +650,14 @@
{
$sql .= "AND c.repeat_type = $repeat_type ";
}
+
+// if($user_id)
+// {
+// $sql .= " AND assigned_to = {$user_id} ";
+// }
$sql .= "AND deadline BETWEEN $from_date_ts AND $to_date_ts ";
-
+// _debug_array($sql);
$this->db->query($sql);
$check_lists_array = array();
@@ -668,6 +676,8 @@
$check_list->set_num_pending_cases($this->unmarshal($this->db->f('num_pending_cases'),
'int'));
$check_list->set_assigned_to($this->unmarshal($this->db->f('assigned_to'),
'int'));
$check_list->set_serie_id($this->db->f('serie_id'));
+
$check_list->set_repeat_type($this->db->f('repeat_type'));
+
$check_lists_array[] = $check_list;
}
Modified: branches/dev-syncromind/controller/inc/class.socontrol.inc.php
===================================================================
--- branches/dev-syncromind/controller/inc/class.socontrol.inc.php
2015-05-09 17:49:21 UTC (rev 13177)
+++ branches/dev-syncromind/controller/inc/class.socontrol.inc.php
2015-05-10 18:19:25 UTC (rev 13178)
@@ -657,16 +657,17 @@
* @param $control_id control id
* @return array with arrays of component info
*/
- function get_components_for_control($control_id, $location_id =
0, $component_id = 0, $serie_id = 0)
+ function get_components_for_control($control_id, $location_id =
0, $component_id = 0, $serie_id = 0, $user_id = 0)
{
$control_id = (int) $control_id;
$serie_id = (int) $serie_id;
+ $user_id = (int) $user_id;
$controls_array = array();
$sql = "SELECT ccl.control_id, ccl.component_id as
component_id,"
. " ccl.location_id as location_id, ccs.id as serie_id,
ccs.assigned_to, ccs.start_date,"
- . " ccs.repeat_type, ccs.repeat_interval,
ccs.service_time, ccs.controle_time,"
+ . " ccs.repeat_type, ccs.repeat_interval,
ccs.service_time, ccs.controle_time, ccs.enabled as serie_enabled,"
. " bim_type.description, bim_item.location_code ";
$sql .= "FROM controller_control_component_list
ccl,controller_control_serie ccs, fm_bim_item bim_item, fm_bim_type bim_type ";
@@ -686,7 +687,11 @@
{
$sql .= " AND ccs.id = {$serie_id}";
}
-
+ if($user_id)
+ {
+ $sql .= " AND ccs.assigned_to = {$user_id}";
+ }
+// _debug_array($sql);
$this->db->query($sql);
while($this->db->next_record())
@@ -699,7 +704,8 @@
'repeat_type' =>
$this->db->f('repeat_type'),
'repeat_interval' =>
$this->db->f('repeat_interval'),
'service_time' =>
$this->db->f('service_time'),
- 'controle_time' =>
$this->db->f('controle_time')
+ 'controle_time' =>
$this->db->f('controle_time'),
+ 'serie_enabled' =>
(int)$this->db->f('serie_enabled')
);
$component = new controller_component();
@@ -715,7 +721,7 @@
$components_array[] = $component;
}
-
+// _debug_array($components_array);
if( count( $components_array ) > 0 )
{
return $components_array;
@@ -895,9 +901,39 @@
$sql .= "AND component_id =
{$component_id}";
$this->db->query($sql, __LINE__,
__FILE__);
-
- if(!$this->db->next_record() ||
$duplicate)
+ $this->db->next_record();
+ $relation_id = $this->db->f('id');
+ if(!$relation_id || $duplicate)
{
+ if($relation_id)
+ {
+ $sql = "SELECT * FROM
controller_control_serie"
+ . " WHERE
control_relation_id = {$relation_id}"
+ . " AND repeat_type =
{$repeat_type}";
+ //. " AND
repeat_interval = {$repeat_interval}";
+ $this->db->query($sql,
__LINE__, __FILE__);
+
$this->db->next_record();
+ $serie_id =
$this->db->f('id');
+ if($serie_id)
+ {
+
$this->update_control_serie($data = array(
+ 'ids'
=> array($serie_id),
+
'action' => 'edit',
+
'assigned_to' => $assigned_to,
+
'start_date' => $start_date,
+
'repeat_type' => $repeat_type,
+
'repeat_interval' => $repeat_interval,
+
'controle_time' => $controle_time,
+
'service_time' => $service_time,
+ ));
+ $ret =
$this->update_control_serie($data = array(
+ 'ids'
=> array($serie_id),
+
'action' => 'enable',
+ ));
+ continue;
+ }
+ }
+
$values_insert = array
(
'control_id'
=> $control_id,
@@ -992,6 +1028,7 @@
$sql = "SELECT controller_control_component_list.* ,"
. " controller_control.title,
controller_control.enabled as control_enabled,"
. " controller_control_component_list.enabled as
relation_enabled,"
+ . " controller_control_serie.enabled as serie_enabled,"
. " controller_control_serie.id as serie_id,"
. "
controller_control_serie.assigned_to,controller_control_serie.start_date,"
. "
controller_control_serie.repeat_type,controller_control_serie.repeat_interval,"
@@ -1020,6 +1057,7 @@
'repeat_interval' =>
$this->db->f('repeat_interval'),
'control_enabled' =>
$this->db->f('control_enabled'),
'relation_enabled' =>
$this->db->f('relation_enabled'),
+ 'serie_enabled' =>
$this->db->f('serie_enabled'),
'service_time' =>
(float)$this->db->f('service_time'),
'controle_time' =>
(float)$this->db->f('controle_time'),
);
@@ -1348,4 +1386,64 @@
return $result;
}
}
+ function update_control_serie($data = array())
+ {
+ if(!isset($data['ids']) || !$data['ids'])
+ {
+ throw new
Exception("controller_socontrol::update_control_serie - Missing ids in input");
+ }
+ if(!isset($data['action']) || !$data['action'])
+ {
+ throw new
Exception("controller_socontrol::update_control_serie - Missing action in
input");
+ }
+
+ $ids = $data['ids'];
+ $action = $data['action'];
+ $value_set = array();
+ switch($action)
+ {
+ case 'enable':
+ $value_set['enabled'] = 1;
+ break;
+ case 'disable':
+ $value_set['enabled'] = 0;
+ break;
+ case 'edit':
+ if($data['assigned_to'])
+ {
+ $value_set['assigned_to']
= $data['assigned_to'];
+ }
+ if($data['start_date'])
+ {
+ $value_set['start_date']
= $data['start_date'];
+ }
+ if($data['repeat_type'])
+ {
+ $value_set['repeat_type']
= $data['repeat_type'];
+ }
+ if($data['repeat_interval'])
+ {
+ $value_set['repeat_interval']
= $data['repeat_interval'];
+ }
+ if($data['controle_time'])
+ {
+ $value_set['controle_time']
= $data['controle_time'];
+ }
+ if($data['service_time'])
+ {
+ $value_set['service_time']
= $data['service_time'];
+ }
+ break;
+ default:
+ throw new
Exception("controller_socontrol::update_control_serie - not av valid action:
'{$action}'");
+ break;
+ }
+ $value_set_update =
$this->db->validate_update($value_set);
+
+ $sql = "UPDATE controller_control_serie SET
{$value_set_update} WHERE id IN (" . implode(',', $ids) . ')';
+ if($this->db->query($sql,__LINE__,__FILE__))
+ {
+ return PHPGW_ACL_EDIT; // Bit - edit
+ }
+ }
}
Modified: branches/dev-syncromind/controller/inc/class.uicomponent.inc.php
===================================================================
--- branches/dev-syncromind/controller/inc/class.uicomponent.inc.php
2015-05-09 17:49:21 UTC (rev 13177)
+++ branches/dev-syncromind/controller/inc/class.uicomponent.inc.php
2015-05-10 18:19:25 UTC (rev 13178)
@@ -4,7 +4,8 @@
*
* @author Erink Holm-Larsen <address@hidden>
* @author Torstein Vadla <address@hidden>
- * @copyright Copyright (C) 2011,2012 Free Software Foundation, Inc.
http://www.fsf.org/
+ * @author Sigurd Nes <address@hidden>
+ * @copyright Copyright (C) 2015 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
@@ -97,6 +98,7 @@
$component_type =
'';//phpgwapi_cache::session_get('controller', 'component_type');
+ $sort_key = array();
if(!$component_type)
{
$this->soadmin_entity =
CreateObject('property.soadmin_entity');
@@ -111,14 +113,23 @@
if($category['enable_controller'])
{
+ $sort_arr = explode('
', $category['name']);
$component_type[] =
array
(
'id' =>
$category['location_id'],
- 'name'=>
"{$entry['name']}::{$category['name']}"
+ 'name'=>
"{$entry['name']}::{$category['name']}",
+ 'sort_key' =>
trim($sort_arr[0])
);
}
}
}
+ // Obtain a list of columns
+ foreach ($component_type as $key => $row)
+ {
+ $id[$key] = $row['sort_key'];
+ }
+
+ array_multisort($id,SORT_ASC, SORT_STRING,
$component_type);
array_unshift($component_type, array('id' =>
'', 'name' => lang('select value')));
// phpgwapi_cache::session_set('controller',
'component_type', $component_type);
}
@@ -134,6 +145,7 @@
'selected' => $this->account ==
$user['account_id'] ? 1 : 0
);
}
+ array_unshift($user_list, array('id' => '', 'name' =>
lang('select')));
// Sigurd: Start categories
$cats =
CreateObject('phpgwapi.categories', -1, 'controller', '.control');
@@ -158,7 +170,20 @@
array_unshift($district_list, array('id' => '', 'name'
=> lang('no district')));
// end district
+ $year_list = array();
+ $year = date('Y');
+ for ( $_year= ($year - 2); $_year < ($year + 5);
$_year++ )
+ {
+ $year_list[] = array
+ (
+ 'id' => $_year,
+ 'name' => $_year,
+ 'selected' => $_year == $year ? 1
: 0
+ );
+ }
+
+
$data = array(
'datatable_name' => lang('status components'),
'form' => array(
@@ -178,18 +203,24 @@
'text' =>
lang('Control_area'),
'list' =>
$control_areas_array,
'onchange'
=> 'update_table();'
- ),
+ ),*/
array('type' =>
'filter',
'name' =>
'user_id',
'text' =>
lang('User'),
'list' =>
$user_list,
'onchange'
=> 'update_table();'
- ),*/
+ ),
array('type' =>
'filter',
'name' =>
'district_id',
'text' =>
lang('district'),
'list' =>
$district_list,
'onchange'
=> 'update_table();'
+ ),
+ array('type' =>
'filter',
+ 'name' =>
'year',
+ 'text' =>
lang('year'),
+ 'list' =>
$year_list,
+ 'onchange'
=> 'update_table();'
),/*
array('type' =>
'text',
'text' =>
lang('searchfield'),
@@ -234,62 +265,62 @@
),
array(
'key' => '1',
- 'label' => lang('jan'),
+ 'label' => lang('month 1'),
'sortable' => true,
),
array(
'key' => '2',
- 'label' => lang('feb'),
+ 'label' => lang('month 2'),
'sortable' => true,
),
array(
'key' => '3',
- 'label' => lang('mar'),
+ 'label' => lang('month 3'),
'sortable' => true,
),
array(
'key' => '4',
- 'label' => lang('apr'),
+ 'label' => lang('month 4'),
'sortable' => true,
),
array(
'key' => '5',
- 'label' => lang('may'),
+ 'label' => lang('month 5'),
'sortable' => true,
),
array(
'key' => '6',
- 'label' => lang('june'),
+ 'label' => lang('month 6'),
'sortable' => true,
),
array(
'key' => '7',
- 'label' => lang('july'),
+ 'label' => lang('month 7'),
'sortable' => true,
),
array(
'key' => '8',
- 'label' => lang('aug'),
+ 'label' => lang('month 8'),
'sortable' => true,
),
array(
'key' => '9',
- 'label' => lang('sept'),
+ 'label' => lang('month 9'),
'sortable' => true,
),
array(
'key' => '10',
- 'label' => lang('oct'),
+ 'label' => lang('month 10'),
'sortable' => true,
),
array(
'key' => '11',
- 'label' => lang('nov'),
+ 'label' => lang('month 11'),
'sortable' => true,
),
array(
'key' => '12',
- 'label' => lang('dec'),
+ 'label' => lang('month 12'),
'sortable' => true,
),
);
@@ -319,19 +350,25 @@
$to_date_ts =
execMethod('controller.uicalendar.get_end_date_year_ts',$year);
$components =
execMethod('property.soentity.read',array('location_id' => $location_id,
'district_id' => $district_id, 'allrows' => true));
+ $total_records = count($components);
$all_components = array();
$components_with_calendar_array = array();
-
+// _debug_array($components);
foreach($components as $_component)
{
$component_id = $_component['id'];
$all_components[$component_id] = $_component;
$controls =
execMethod('controller.socontrol.get_controls_at_component',
array('location_id' => $location_id, 'component_id' => $component_id));
+//_debug_array($controls);
foreach($controls as $_control)
{
+ if(!$_control['serie_enabled'])
+ {
+ // continue;
+ }
$control_id
= $_control['control_id'];
$control
= $so_control->get_single($_control['control_id']);
- $components_for_control_array =
$so_control->get_components_for_control($control_id, $location_id,
$component_id);
+ $components_for_control_array =
$so_control->get_components_for_control($control_id, $location_id,
$component_id,0);//,$user_id);
// LOCATIONS: Process aggregated values
for controls with repeat type day or week
if($control->get_repeat_type() <=
controller_control::REPEAT_TYPE_WEEK)
@@ -413,7 +450,7 @@
$component->set_xml_short_desc($short_desc_arr);
$repeat_type
= $control->get_repeat_type();
-
$component_with_check_lists =
$this->so->get_check_lists_for_control_and_component($control_id,
$component->get_location_id(), $component->get_id(), $from_date_ts,
$to_date_ts, $repeat_type);
+
$component_with_check_lists =
$this->so->get_check_lists_for_control_and_component($control_id,
$component->get_location_id(), $component->get_id(), $from_date_ts,
$to_date_ts, $repeat_type);// ,$user_id);
$check_lists_array =
$component_with_check_lists["check_lists_array"];
@@ -439,10 +476,18 @@
$control->set_repeat_interval($control_relation['repeat_interval']);
}
+
if(!$control_relation['serie_enabled'])
+ {
+ //
$control->set_repeat_interval(1000);
+ }
+
/*
* End override control
with data from serie
*/
-
+ if($check_lists_array)
+ {
+//
_debug_array($component_with_check_lists);
+ }
$year_calendar = new
year_calendar($control, $year, $component, null, "component",
$control_relation);
$calendar_array =
$year_calendar->build_calendar($check_lists_array);
@@ -450,13 +495,11 @@
"calendar_array" => $calendar_array);
}
}
-
-
-
}
}
+ _debug_array($components_with_calendar_array);
unset($component_id);
- _debug_array($components_with_calendar_array[1]);
+// _debug_array($components_with_calendar_array[1]);
// _debug_array($components);
//
_debug_array(array_keys($components_with_calendar_array));
$repeat_type_array = array
@@ -488,6 +531,9 @@
foreach($entry as $dataset)
{
$repeat_type =
(int)$dataset['component']['control_relation']['repeat_type'];
+ $service_time =
$dataset['component']['control_relation']['service_time'];
+ $controle_time =
$dataset['component']['control_relation']['controle_time'];
+
if($repeat_type > $max_repeat_type)
{
$max_repeat_type = $repeat_type;
@@ -496,6 +542,8 @@
{
if($calendar)
{
+
$calendar['info']['service_time'] = $calendar['info']['service_time'] ?
$calendar['info']['service_time'] : $service_time;
+
$calendar['info']['controle_time'] = $calendar['info']['controle_time'] ?
$calendar['info']['controle_time'] : $controle_time;
$_data[$month][$repeat_type] = $calendar;
}
}
@@ -569,8 +617,11 @@
}
//_debug_array($values);
$data_set = array();
+ $total_time = array();
foreach ($values as $entry)
{
+ $row = array();
+ $row_sum = array();
$row['component_id'] = $entry['component_id'];
$row['year'] = '';
$row['descr'] = '';
@@ -584,16 +635,24 @@
for ( $_month=1; $_month < 13; $_month++ )
{
$row[$_month] =
$this->translate_calendar_info($entry[$_month],$year, $_month);
+ if( !$user_id ||
$entry[$_month]['info']['assigned_to'] == $user_id)
+ {
+ $row_sum[$_month] =
$entry[$_month]['info']['service_time'] +
$entry[$_month]['info']['controle_time'];
+ }
+ else
+ {
+ $row_sum[$_month] = 0;
+ }
}
-
+ $total_time[] = $row_sum;
$data_set[] = $row;
}
$fields = $this->get_fields();
-
+ $class = '';
$tbody = '';
foreach($data_set as $row_data )
{
- $tbody .= '<tr>';
+ $tbody .= "<tr {$class}>";
foreach($fields as $field )
{
$tbody .= '<td>';
@@ -601,12 +660,40 @@
$tbody .= '</td>';
}
$tbody .= '</tr>';
+ $class = $class ? '' : 'class="alt"';
+
}
$result = array
(
'tbody' => $tbody
);
+
+ unset($_month);
+
+ $sum_year = 0;
+
+ if(!$total_time)
+ {
+ for ( $_month=1; $_month < 13; $_month++ )
+ {
+ $result['time_sum'][$_month] = 0;
+ }
+ }
+ else
+ {
+ foreach ($total_time as $_row)
+ {
+ for ( $_month=1; $_month < 13;
$_month++ )
+ {
+ $result['time_sum'][$_month] +=
$_row[$_month];
+ $sum_year += $_row[$_month];
+ }
+ }
+ }
+ $result['time_sum'][0] = $sum_year;
+ $result['total_records'] = $total_records;
+
return $result;
}
Modified:
branches/dev-syncromind/controller/inc/component/class.check_list_status_manager.inc.php
===================================================================
---
branches/dev-syncromind/controller/inc/component/class.check_list_status_manager.inc.php
2015-05-09 17:49:21 UTC (rev 13177)
+++
branches/dev-syncromind/controller/inc/component/class.check_list_status_manager.inc.php
2015-05-10 18:19:25 UTC (rev 13178)
@@ -35,10 +35,14 @@
private $check_list;
private $type;
- public function __construct($check_list, $type)
+ public function __construct($check_list, $type = '')
{
$this->check_list = $check_list;
$this->type = $type;
+ if(!$type)
+ {
+ $check_list->get_component_id() ? 'component' :
'';
+ }
}
function get_status_for_check_list()
Modified:
branches/dev-syncromind/controller/inc/component/class.year_calendar.inc.php
===================================================================
---
branches/dev-syncromind/controller/inc/component/class.year_calendar.inc.php
2015-05-09 17:49:21 UTC (rev 13177)
+++
branches/dev-syncromind/controller/inc/component/class.year_calendar.inc.php
2015-05-10 18:19:25 UTC (rev 13178)
@@ -38,8 +38,13 @@
{
$this->calendar_array[$i] = null;
}
-
- $ctr_start_date_ts = $this->control->get_start_date();
+
+ if($this->control_relation &&
!$this->control_relation['serie_enabled'])
+ {
+ return;
+ }
+
+ $ctr_start_date_ts = $this->control->get_start_date();
$ctr_end_date_ts = $this->control->get_end_date();
$period_start_date_ts = $this->get_start_date_year_ts($this->year);
$period_end_date_ts = $this->get_start_date_year_ts($this->year+1);
@@ -56,7 +61,8 @@
$check_list = new controller_check_list();
$check_list->set_deadline( $date_ts );
$check_list->set_control_id( $this->control->get_id() );
-
+
$check_list->set_assigned_to($this->control_relation['assigned_to']);
+
if($this->type == "component")
{
$check_list->set_component_id(
$this->component->get_id() );
@@ -68,9 +74,9 @@
$check_list->set_location_code( $this->location_code );
$check_list_status_manager = new
check_list_status_manager( $check_list, "location" );
}
+
+ $check_list_status_info =
$check_list_status_manager->get_status_for_check_list();
- $check_list_status_info =
$check_list_status_manager->get_status_for_check_list();
-
$month_nr = date("n", $date_ts);
$this->calendar_array[ $month_nr ]["status"] =
$check_list_status_info->get_status();
@@ -93,8 +99,13 @@
$month_nr = date("n",
$check_list_status_info->get_deadline_date_ts());
- $this->calendar_array[ $month_nr ]["status"] =
$check_list_status_info->get_status();
- $this->calendar_array[ $month_nr ]["info"] =
$check_list_status_info->serialize();
+ $repeat_type = $check_list->get_repeat_type();
+ if( !isset($this->calendar_array[ $month_nr ]) ||
$repeat_type > $this->calendar_array[ $month_nr ]['repeat_type'])
+ {
+ $this->calendar_array[ $month_nr
]['repeat_type'] = $repeat_type;
+ $this->calendar_array[ $month_nr ]["status"] =
$check_list_status_info->get_status();
+ $this->calendar_array[ $month_nr ]["info"] =
$check_list_status_info->serialize();
+ }
}
return $this->calendar_array;
Modified: branches/dev-syncromind/controller/inc/model/class.check_list.inc.php
===================================================================
--- branches/dev-syncromind/controller/inc/model/class.check_list.inc.php
2015-05-09 17:49:21 UTC (rev 13177)
+++ branches/dev-syncromind/controller/inc/model/class.check_list.inc.php
2015-05-10 18:19:25 UTC (rev 13178)
@@ -43,6 +43,7 @@
protected $description;//
protected $control_id;
protected $serie_id;
+ protected $repeat_type;
protected $status;
protected $comment;
protected $deadline;
@@ -205,7 +206,16 @@
{
return $this->serie_id;
}
+ public function set_repeat_type($repeat_type)
+ {
+ $this->repeat_type = $repeat_type;
+ }
+ public function get_repeat_type()
+ {
+ return $this->repeat_type;
+ }
+
public function get_num_open_cases() { return
$this->num_open_cases; }
public function set_num_open_cases($num_open_cases)
Modified: branches/dev-syncromind/controller/setup/phpgw_no.lang
===================================================================
--- branches/dev-syncromind/controller/setup/phpgw_no.lang 2015-05-09
17:49:21 UTC (rev 13177)
+++ branches/dev-syncromind/controller/setup/phpgw_no.lang 2015-05-10
18:19:25 UTC (rev 13178)
@@ -23,6 +23,8 @@
Choose_building_type controller no Velg byggtype
Choose_building_category controller no Velg byggkategori
Choose_district controller no Velg distrikt
+district controller no Distrikt
+user controller no Bruker
Choose_part_of_town controller no Velg bydel
DATATABLE_MSG_EMPTY controller no Ingen data
DATATABLE_MSG_ERROR controller no Datafeil
@@ -373,4 +375,7 @@
Status not done controller no Status: Ikke utført
Status done controller no Status: Utført
planned date common no Planlagt Dato
-status components controller no Status komponenter
\ No newline at end of file
+status components controller no Status komponenter
+controle time common no Kontrolltid
+service time common no Servicetid
+total time common no Totaltid
\ No newline at end of file
Modified: branches/dev-syncromind/controller/setup/setup.inc.php
===================================================================
--- branches/dev-syncromind/controller/setup/setup.inc.php 2015-05-09
17:49:21 UTC (rev 13177)
+++ branches/dev-syncromind/controller/setup/setup.inc.php 2015-05-10
18:19:25 UTC (rev 13178)
@@ -1,6 +1,6 @@
<?php
$setup_info['controller']['name'] = 'controller';
- $setup_info['controller']['version'] = '0.1.51';
+ $setup_info['controller']['version'] = '0.1.52';
$setup_info['controller']['app_order'] = 100;
$setup_info['controller']['enable'] = 1;
$setup_info['controller']['app_group'] = 'office';
Modified: branches/dev-syncromind/controller/setup/tables_current.inc.php
===================================================================
--- branches/dev-syncromind/controller/setup/tables_current.inc.php
2015-05-09 17:49:21 UTC (rev 13177)
+++ branches/dev-syncromind/controller/setup/tables_current.inc.php
2015-05-10 18:19:25 UTC (rev 13178)
@@ -167,6 +167,7 @@
'repeat_interval' =>
array('type' => 'int', 'precision' => '4', 'nullable' => true),
'service_time' =>
array('type' => 'decimal','precision' => '20','scale' => '2','nullable' =>
True,'default' => '0.00'),
'controle_time' =>
array('type' => 'decimal','precision' => '20','scale' => '2','nullable' =>
True,'default' => '0.00'),
+ 'enabled'
=> array('type' => 'int', 'precision' => 2, 'nullable' => True,'default' => 1)
),
'pk' => array('id'),
'fk' => array(),
Modified: branches/dev-syncromind/controller/setup/tables_update.inc.php
===================================================================
--- branches/dev-syncromind/controller/setup/tables_update.inc.php
2015-05-09 17:49:21 UTC (rev 13177)
+++ branches/dev-syncromind/controller/setup/tables_update.inc.php
2015-05-10 18:19:25 UTC (rev 13178)
@@ -1082,3 +1082,18 @@
$GLOBALS['setup_info']['controller']['currentver'] = '0.1.51';
return $GLOBALS['setup_info']['controller']['currentver'];
}
+
+ $test[] = '0.1.51';
+ function controller_upgrade0_1_51()
+ {
+
$GLOBALS['phpgw_setup']->oProc->AddColumn('controller_control_serie','enabled',array(
+ 'type' => 'int',
+ 'precision' => '2',
+ 'nullable' => true,
+ 'default' => 1,
+ )
+ );
+
+ $GLOBALS['setup_info']['controller']['currentver'] = '0.1.52';
+ return $GLOBALS['setup_info']['controller']['currentver'];
+ }
Modified: branches/dev-syncromind/controller/templates/base/component.xsl
===================================================================
--- branches/dev-syncromind/controller/templates/base/component.xsl
2015-05-09 17:49:21 UTC (rev 13177)
+++ branches/dev-syncromind/controller/templates/base/component.xsl
2015-05-10 18:19:25 UTC (rev 13178)
@@ -145,8 +145,34 @@
</xsl:template>
<xsl:template match="datatable">
- <div id="paginator"/>
- <div id="datatable-container"/>
+<style>
+#components {
+ font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
+ width: 100%;
+ border-collapse: collapse;
+}
+
+#components td, #components th {
+ font-size: 1em;
+ border: 1px solid #98bf21;
+ padding: 3px 7px 2px 7px;
+}
+
+#components th {
+ font-size: 1.1em;
+ text-align: left;
+ padding-top: 5px;
+ padding-bottom: 4px;
+ background-color: green;
+ color: #ffffff;
+}
+
+#components tr.alt td {
+ color: #000000;
+ background-color: #EAF2D3;
+}
+</style>
+
<xsl:call-template name="datasource-definition" />
</xsl:template>
@@ -167,6 +193,23 @@
if( data != null)
{
$("#tbody").html(data.tbody);
+ var time_sum = data.time_sum;
+
+
$("#total_records").html(data.total_records);
+ $("#sum_text").html('Sum');
+ $("#month0").html(time_sum[0]);
+ $("#month1").html(time_sum[1]);
+ $("#month2").html(time_sum[2]);
+ $("#month3").html(time_sum[3]);
+ $("#month4").html(time_sum[4]);
+ $("#month5").html(time_sum[5]);
+ $("#month6").html(time_sum[6]);
+ $("#month7").html(time_sum[7]);
+ $("#month8").html(time_sum[8]);
+ $("#month9").html(time_sum[9]);
+
$("#month10").html(time_sum[10]);
+
$("#month11").html(time_sum[11]);
+
$("#month12").html(time_sum[12]);
}
}
});
@@ -174,9 +217,43 @@
};
]]>
</script>
- <table id="datatable-container" class="display cell-border compact
responsive no-wrap" width="100%">
+ <table id="components">
<thead>
<tr>
+ <td id='total_records'>
+ </td>
+ <td id='sum_text'>
+ </td>
+ <td id='month0'>
+ </td>
+ <td id='month1'>
+ </td>
+ <td id='month2'>
+ </td>
+ <td id='month3'>
+ </td>
+ <td id='month4'>
+ </td>
+ <td id='month5'>
+ </td>
+ <td id='month6'>
+ </td>
+ <td id='month7'>
+ </td>
+ <td id='month8'>
+ </td>
+ <td id='month9'>
+ </td>
+ <td id='month10'>
+ </td>
+ <td id='month11'>
+ </td>
+ <td id='month12'>
+ </td>
+ </tr>
+ </thead>
+ <thead>
+ <tr>
<xsl:for-each select="//datatable/field">
<th>
<xsl:value-of select="label"/>
Modified: branches/dev-syncromind/property/inc/class.boentity.inc.php
===================================================================
--- branches/dev-syncromind/property/inc/class.boentity.inc.php 2015-05-09
17:49:21 UTC (rev 13177)
+++ branches/dev-syncromind/property/inc/class.boentity.inc.php 2015-05-10
18:19:25 UTC (rev 13178)
@@ -56,12 +56,13 @@
var $public_functions = array
(
- 'read' => true,
- 'read_single' => true,
- 'save' => true,
- 'delete' => true,
- 'check_perms' => true,
- 'add_control' => true
+ 'read' => true,
+ 'read_single' => true,
+ 'save' => true,
+ 'delete' => true,
+ 'check_perms' => true,
+ 'add_control' => true,
+ 'update_control_serie' => true
);
var $type_app = array();
@@ -998,7 +999,7 @@
'service_time'
=> $service_time,
'duplicate'
=> true
);
- _debug_array($values);
+ // _debug_array($values);
if($add =
$so_control->register_control_to_component($values))
{
if($add == PHPGW_ACL_ADD)
@@ -1070,4 +1071,50 @@
}
}
+ function update_control_serie()
+ {
+ if($start_date = phpgw::get_var('control_start_date',
'string'))
+ {
+ phpgw::import_class('phpgwapi.datetime');
+ $start_date =
phpgwapi_datetime::date_to_timestamp($start_date);
+ }
+
+ $so_control = CreateObject('controller.socontrol');
+
+ $values = array
+ (
+ 'ids' =>
phpgw::get_var('ids', 'int'),
+ 'action' =>
phpgw::get_var('action', 'string'),
+ 'assigned_to' =>
phpgw::get_var('control_responsible', 'int'),
+ 'start_date' => $start_date,
+ 'repeat_type' =>
phpgw::get_var('repeat_type', 'int'),
+ 'repeat_interval' =>
phpgw::get_var('repeat_interval', 'int'),
+ 'controle_time' =>
phpgw::get_var('controle_time', 'float'),
+ 'service_time' =>
phpgw::get_var('service_time', 'float')
+ );
+ $ret = $so_control->update_control_serie($values);
+
+ if($ret)
+ {
+ $result = array
+ (
+ 'status_kode'=> 'ok',
+ 'status' => 'Ok',
+ 'msg' => lang('updated')
+
+ );
+ }
+ else
+ {
+ $result = array
+ (
+ 'status_kode'=> 'error',
+ 'status' => lang('error'),
+ 'msg' => 'Noe gikk galt'
+ );
+ }
+
+ return $result;
+
+ }
}
Modified: branches/dev-syncromind/property/inc/class.bolookup.inc.php
===================================================================
--- branches/dev-syncromind/property/inc/class.bolookup.inc.php 2015-05-09
17:49:21 UTC (rev 13177)
+++ branches/dev-syncromind/property/inc/class.bolookup.inc.php 2015-05-10
18:19:25 UTC (rev 13178)
@@ -288,6 +288,23 @@
function read_phpgw_user($data = array())
{
+ if($data['acl_app'] && $data['acl_location'] &&
$data['acl_required'])
+ {
+ $users =
$GLOBALS['phpgw']->acl->get_user_list_right($data['acl_required'],
$data['acl_location'], $data['acl_app']);
+ $user_list = array();
+ foreach($users as $user)
+ {
+ $user_list[] = array
+ (
+ 'id' =>
$user['account_id'],
+ 'last_name' =>
$user['account_lastname'],
+ 'first_name' =>
$user['account_firstname'],
+ );
+ }
+ $this->total_record = count($user_list);
+ return $user_list;
+ }
+
$phpgw_user = $this->so->read_phpgw_user($data);
$this->total_records = $this->so->total_records;
Modified: branches/dev-syncromind/property/inc/class.soinvoice.inc.php
===================================================================
--- branches/dev-syncromind/property/inc/class.soinvoice.inc.php
2015-05-09 17:49:21 UTC (rev 13177)
+++ branches/dev-syncromind/property/inc/class.soinvoice.inc.php
2015-05-10 18:19:25 UTC (rev 13178)
@@ -2037,6 +2037,19 @@
$local_error = false;
if($condition)
{
+ /*
+ * Look for roles at lower level
+ */
+
+ $this->db->query("SELECT * FROM fm_ecobilag
{$condition}", __LINE__, __FILE__);
+ $this->db->next_record();
+ $oppsynsigndato =
$this->db->f('oppsynsigndato');
+ $oppsynsmannid =
$this->db->f('oppsynsmannid');
+ $saksigndato =
$this->db->f('saksigndato');
+ $saksbehandlerid =
$this->db->f('saksbehandlerid');
+ $budsjettansvarligid =
$this->db->f('budsjettansvarligid');
+
+
//start check
$check_count =
$this->check_count($data['voucher_id']);
@@ -2101,9 +2114,21 @@
{
case 'is_janitor':
$value_set['oppsynsigndato'] = null;
+ if($oppsynsmannid ==
$saksbehandlerid)
+ {
+
$value_set['oppsynsmannid'] = null;
+ }
+ if($saksbehandlerid
==$budsjettansvarligid)
+ {
+
$value_set['oppsynsmannid'] = null;
+ }
break;
case 'is_supervisor':
$value_set['saksigndato'] = null;
+ if($saksbehandlerid
==$budsjettansvarligid)
+ {
+
$value_set['saksbehandlerid'] = null;
+ }
break;
case 'is_budget_responsible':
$value_set['budsjettsigndato'] = null;
@@ -2119,10 +2144,25 @@
case 'is_supervisor':
$value_set['saksigndato'] =
date($this->db->datetime_format());
$value_set['saksbehandlerid'] = $data['my_initials'];
+
if($data['forward']['oppsynsmannid'] == $data['my_initials'] && $oppsynsmannid
== $data['my_initials'])
+ {
+
$value_set['oppsynsmannid'] = '';
+
$value_set['oppsynsigndato'] = '';
+ }
break;
case 'is_budget_responsible':
$value_set['budsjettsigndato'] = date($this->db->datetime_format());
$value_set['budsjettansvarligid'] = $data['my_initials'];
+ if(
$data['forward']['saksbehandlerid'] == $data['my_initials'] && $saksbehandlerid
== $data['my_initials'])
+ {
+
$value_set['saksbehandlerid'] = '';
+
$value_set['saksigndato'] = '';
+ }
+
if($data['forward']['oppsynsmannid'] == $data['my_initials'] && $oppsynsmannid
== $data['my_initials'])
+ {
+
$value_set['oppsynsmannid'] = '';
+
$value_set['oppsynsigndato'] = '';
+ }
break;
}
}
Modified: branches/dev-syncromind/property/inc/class.sotts.inc.php
===================================================================
--- branches/dev-syncromind/property/inc/class.sotts.inc.php 2015-05-09
17:49:21 UTC (rev 13177)
+++ branches/dev-syncromind/property/inc/class.sotts.inc.php 2015-05-10
18:19:25 UTC (rev 13178)
@@ -398,21 +398,19 @@
{
$order_add =
$GLOBALS['phpgw']->acl->check('.ticket.order', PHPGW_ACL_ADD, 'property');
$order_edit =
$GLOBALS['phpgw']->acl->check('.ticket.order', PHPGW_ACL_EDIT, 'property');
+ $_end_date = $end_date + 3600 * 16 +
phpgwapi_datetime::user_timezone();
+ $_start_date = $start_date - 3600 * 8 +
phpgwapi_datetime::user_timezone();
+ $filtermethod .= " $where
fm_tts_tickets.entry_date >= $_start_date AND fm_tts_tickets.entry_date <=
$_end_date ";
if($order_add || $order_edit)
{
$end_period = date('Ym', $end_date);
$start_period = date('Ym',
$start_date);
- $date_join = "JOIN fm_tts_payments ON (
fm_tts_tickets.id=fm_tts_payments.ticket_id AND fm_tts_payments.period >=
$start_period AND fm_tts_payments.period <= $end_period )";
+ $date_join = "LEFT JOIN fm_tts_payments
ON ( fm_tts_tickets.id=fm_tts_payments.ticket_id AND fm_tts_payments.period >=
$start_period AND fm_tts_payments.period <= $end_period )";
$actual_cost_field =
'SUM(fm_tts_payments.amount) AS actual_cost';
$actual_cost_group_field = '';
+
}
- else
- {
- $_end_date = $end_date + 3600 * 16
+ phpgwapi_datetime::user_timezone();
- $_start_date = $start_date - 3600 *
8 + phpgwapi_datetime::user_timezone();
- $filtermethod .= " $where
fm_tts_tickets.entry_date >= $_start_date AND fm_tts_tickets.entry_date <=
$_end_date ";
- }
$where= 'AND';
}
Modified: branches/dev-syncromind/property/inc/class.uientity.inc.php
===================================================================
--- branches/dev-syncromind/property/inc/class.uientity.inc.php 2015-05-09
17:49:21 UTC (rev 13177)
+++ branches/dev-syncromind/property/inc/class.uientity.inc.php 2015-05-10
18:19:25 UTC (rev 13178)
@@ -2059,21 +2059,54 @@
array('key' =>
'assigned_to_name','label'=>lang('user'),'sortable'=>false,'resizeable'=>true),
array('key' =>
'start_date','label'=>lang('start date'),'sortable'=>false,'resizeable'=>true),
array('key' =>
'repeat_type','label'=>lang('repeat
type'),'sortable'=>false,'resizeable'=>true),
- array('key' =>
'repeat_interval','label'=>lang('repeat
interval'),'sortable'=>false,'resizeable'=>true),
+ array('key' =>
'repeat_interval','label'=>lang('interval'),'sortable'=>false,'resizeable'=>true),
array('key' =>
'controle_time','label'=>lang('controle
time'),'sortable'=>false,'resizeable'=>true),
array('key' =>
'service_time','label'=>lang('service
time'),'sortable'=>false,'resizeable'=>true),
array('key' =>
'total_time','label'=>lang('total time'),'sortable'=>false,'resizeable'=>true),
- array('key' =>
'relation_enabled','label'=>lang('enabled'),'sortable'=>false,'resizeable'=>true),
+ array('key' =>
'serie_enabled','label'=>lang('enabled'),'sortable'=>false,'resizeable'=>true),
+// array('key' =>
'select','label'=>lang('select'),'sortable'=>false,'resizeable'=>true),
array('key' =>
'location_id','hidden'=>true),
array('key' =>
'component_id','hidden'=>true),
array('key' => 'id','hidden'=>true),
array('key' =>
'assigned_to','hidden'=>true),
);
+ $tabletools = array
+ (
+ array(
+ 'my_name' => 'add',
+ 'text' => lang('add'),
+ 'type' => 'custom',
+ 'custom_code' => "
+
add_control();"
+ ),
+ array(
+ 'my_name' => 'enable',
+ 'text' => lang('enable'),
+ 'type' => 'custom',
+ 'custom_code' => "
+
onActionsClick('enable');"
+ ),
+ array(
+ 'my_name' => 'disable',
+ 'text' => lang('disable'),
+ 'type' => 'custom',
+ 'custom_code' => "
+
onActionsClick('disable');"
+ ),
+ array(
+ 'my_name' => 'edit',
+ 'text' => lang('edit'),
+ 'type' => 'custom',
+ 'custom_code' => "
+
onActionsClick('edit');"
+ )
+ );
$datatable_def[] = array
(
'container' =>
'datatable-container_4',
'requestUrl' => "''",
+ 'tabletools' => $tabletools,
'ColumnDefs' => $controls_def,
'data' =>
json_encode($_controls),
'config' => array(
@@ -2183,8 +2216,8 @@
$msgbox_data =
$this->bocommon->msgbox_data($this->receipt);
$repeat_types = array();
- $repeat_types[] = array('id'=> -1, 'name' =>
lang('day'));
- $repeat_types[] = array('id'=> 1, 'name' =>
lang('weekly'));
+// $repeat_types[] = array('id'=> -1, 'name' =>
lang('day'));
+// $repeat_types[] = array('id'=> 1, 'name' =>
lang('weekly'));
$repeat_types[] = array('id'=> 2, 'name' =>
lang('month'));
$repeat_types[] = array('id'=> 3, 'name' =>
lang('year'));
@@ -3137,6 +3170,7 @@
$entry['start_date'] =
$GLOBALS['phpgw']->common->show_date($entry['start_date'],$GLOBALS['phpgw_info']['user']['preferences']['common']['dateformat']);
$entry['repeat_type'] =
$repeat_type_array[$entry['repeat_type']];
$entry['total_time'] = $entry['service_time'] +
$entry['controle_time'];
+// $entry['select'] = "<input type='checkbox'
class='mychecks' value='{$entry['serie_id']}'></input>";
}
if (phpgw::get_var('phpgw_return_as') != 'json')
Modified: branches/dev-syncromind/property/inc/class.uilookup.inc.php
===================================================================
--- branches/dev-syncromind/property/inc/class.uilookup.inc.php 2015-05-09
17:49:21 UTC (rev 13177)
+++ branches/dev-syncromind/property/inc/class.uilookup.inc.php 2015-05-10
18:19:25 UTC (rev 13178)
@@ -1161,6 +1161,9 @@
function phpgw_user()
{
$column = phpgw::get_var('column');
+ $acl_app = phpgw::get_var('acl_app');
+ $acl_location = phpgw::get_var('acl_location');
+ $acl_required = phpgw::get_var('acl_required', 'int');
if( phpgw::get_var('phpgw_return_as') == 'json' )
{
@@ -1191,7 +1194,10 @@
'sort' => $order[0]['dir'],
'dir' => $order[0]['dir'],
'cat_id' => phpgw::get_var('cat_id',
'int', 'REQUEST', 0),
- 'allrows' => phpgw::get_var('length',
'int') == -1
+ 'allrows' => phpgw::get_var('length',
'int') == -1,
+ 'acl_app' => $acl_app,
+ 'acl_location' => $acl_location,
+ 'acl_required' => $acl_required
);
$values = $this->bo->read_phpgw_user($params);
@@ -1241,7 +1247,10 @@
'query'
=> $this->query,
'filter'
=> $this->filter,
'column'
=> $column,
- 'phpgw_return_as' =>
'json'
+ 'acl_app'
=> $acl_app,
+ 'acl_location'
=> $acl_location,
+ 'acl_required'
=> $acl_required,
+ 'phpgw_return_as'
=> 'json'
)),
'allrows' => false,
'editor_action' => '',
Modified: branches/dev-syncromind/property/js/portico/entity.edit.js
===================================================================
--- branches/dev-syncromind/property/js/portico/entity.edit.js 2015-05-09
17:49:21 UTC (rev 13177)
+++ branches/dev-syncromind/property/js/portico/entity.edit.js 2015-05-10
18:19:25 UTC (rev 13178)
@@ -51,7 +51,148 @@
var api = oTable3.api();
api.ajax.url( requestUrl ).load();
}
-
+
+ this.onActionsClick=function(action)
+ {
+ $("#controller_receipt").html("");
+ if(action === 'add')
+ {
+ add_control();
+ }
+
+ var oTT = TableTools.fnGetInstance( 'datatable-container_4' );
+ var selected = oTT.fnGetSelectedData();
+ var numSelected = selected.length;
+
+ if (numSelected ==0){
+ alert('None selected');
+ return false;
+ }
+ var ids = [];
+ for ( var n = 0; n < selected.length; ++n )
+ {
+ var aData = selected[n];
+ ids.push(aData['serie_id']);
+ }
+
+ if(ids.length > 0)
+ {
+ var data = {"ids": ids, "action": action};
+ data.repeat_interval = $("#repeat_interval").val();
+ data.controle_time = $("#controle_time").val();
+ data.service_time = $("#service_time").val();
+ data.control_responsible =
$("#control_responsible").val();
+ data.control_start_date =
$("#control_start_date").val();
+ data.repeat_type = $("#repeat_type").val();
+
+ var formUrl = $("#form").attr("action");
+ var Url = parseURL(formUrl);
+ oArgs = Url.searchObject;
+ delete oArgs.click_history;
+ oArgs.menuaction =
'property.boentity.update_control_serie';
+
+ var requestUrl = phpGWLink('index.php', oArgs, true);
+
+ $.ajax({
+ type: 'POST',
+ dataType: 'json',
+ url: requestUrl,
+ data: data,
+ success: function(data) {
+ if( data != null)
+ {
+
$("#controller_receipt").html(data.status + '::' + data.msg);
+ if(data.status_kode == 'ok')
+ {
+
+ }
+ }
+ }
+ });
+
+
+ var oArgs2 =
{menuaction:'property.uientity.get_controls_at_component', type:oArgs.type,
entity_id:oArgs.entity_id, cat_id:oArgs.cat_id, id: oArgs.id};
+ var requestUrl2 = phpGWLink('index.php', oArgs2, true);
+
JqueryPortico.updateinlineTableHelper('datatable-container_4', requestUrl2);
+ }
+ }
+
+ function parseURL(url)
+ {
+ var parser = document.createElement('a'),
+ searchObject = {},
+ queries, split, i;
+ // Let the browser do the work
+ parser.href = url;
+ // Convert query string to object
+ queries = parser.search.replace(/^\?/, '').split('&');
+ for( i = 0; i < queries.length; i++ ) {
+ split = queries[i].split('=');
+ searchObject[split[0]] = split[1];
+ }
+ return {
+ protocol: parser.protocol,
+ host: parser.host,
+ hostname: parser.hostname,
+ port: parser.port,
+ pathname: parser.pathname,
+ search: parser.search,
+ searchObject: searchObject,
+ hash: parser.hash
+ };
+ }
+
+ add_control = function()
+ {
+ var formUrl = $("#form").attr("action");
+ var Url = parseURL(formUrl);
+ oArgs = Url.searchObject;
+ delete oArgs.click_history;
+ oArgs.menuaction = 'property.boentity.add_control';
+ oArgs.control_id = $("#control_id").val();
+ oArgs.control_responsible = $("#control_responsible").val();
+ oArgs.control_start_date = $("#control_start_date").val();
+ oArgs.repeat_type = $("#repeat_type").val();
+ if(!oArgs.repeat_type)
+ {
+ alert('velg type serie');
+ return;
+ }
+
+ oArgs.repeat_interval = $("#repeat_interval").val();
+ oArgs.controle_time = $("#controle_time").val();
+ oArgs.service_time = $("#service_time").val();
+ var requestUrl = phpGWLink('index.php', oArgs, true);
+//
alert(requestUrl);
+
+ $("#controller_receipt").html("");
+
+ $.ajax({
+ type: 'POST',
+ dataType: 'json',
+ url: requestUrl,
+ success: function(data) {
+ if( data != null)
+ {
+
$("#controller_receipt").html(data.status + '::' + data.msg);
+ if(data.status_kode == 'ok')
+ {
+ $("#control_id").val('');
+ $("#control_name").val('');
+
$("#control_responsible").val('');
+
$("#control_responsible_user_name").val('');
+
$("#control_start_date").val('');
+ }
+ }
+ }
+ });
+
+ var oArgs2 =
{menuaction:'property.uientity.get_controls_at_component', type:oArgs.type,
entity_id:oArgs.entity_id, cat_id:oArgs.cat_id, id: oArgs.id};
+ var requestUrl2 = phpGWLink('index.php', oArgs2, true);
+ JqueryPortico.updateinlineTableHelper('datatable-container_4',
requestUrl2);
+ };
+
+
var documents = null;
var requestUrlDoc = null;
Modified: branches/dev-syncromind/property/setup/tables_current.inc.php
===================================================================
--- branches/dev-syncromind/property/setup/tables_current.inc.php
2015-05-09 17:49:21 UTC (rev 13177)
+++ branches/dev-syncromind/property/setup/tables_current.inc.php
2015-05-10 18:19:25 UTC (rev 13178)
@@ -997,7 +997,7 @@
'pk' => array('id'),
'fk' => array(),
'ix' => array(),
- 'uc' => array('name')
+ 'uc' => array('num')
),
'fm_tts_status' => array(
'fd' => array(
Modified: branches/dev-syncromind/property/setup/tables_update.inc.php
===================================================================
--- branches/dev-syncromind/property/setup/tables_update.inc.php
2015-05-09 17:49:21 UTC (rev 13177)
+++ branches/dev-syncromind/property/setup/tables_update.inc.php
2015-05-10 18:19:25 UTC (rev 13178)
@@ -7852,7 +7852,7 @@
{
$GLOBALS['phpgw_setup']->oProc->m_odb->transaction_begin();
- $GLOBALS['phpgw_setup']->oProc->query("ALTER TABLE fm_budget
DROP CONSTRAINT fm_budget_year_key");
+ $GLOBALS['phpgw_setup']->oProc->query("ALTER TABLE fm_budget
DROP CONSTRAINT fm_budget_year_b_account_id_district_id_revision_key");
$GLOBALS['phpgw_setup']->oProc->query("ALTER TABLE fm_budget
ADD CONSTRAINT fm_budget_year_key UNIQUE(year , b_account_id , district_id ,
revision, ecodimb ,category)");
$GLOBALS['phpgw_setup']->oProc->AlterColumn('fm_department','name',
array('type' => 'varchar','precision' => '200','nullable' => False));
Modified: branches/dev-syncromind/property/templates/base/entity.xsl
===================================================================
--- branches/dev-syncromind/property/templates/base/entity.xsl 2015-05-09
17:49:21 UTC (rev 13177)
+++ branches/dev-syncromind/property/templates/base/entity.xsl 2015-05-10
18:19:25 UTC (rev 13178)
@@ -498,7 +498,7 @@
<script
type="text/javascript">
lookup_control_responsible = function()
{
- var oArgs =
{menuaction:'property.uilookup.phpgw_user', column:'control_responsible'};
+ var oArgs =
{menuaction:'property.uilookup.phpgw_user', column:'control_responsible',
acl_app:'controller', acl_location: '.control', acl_required:4};
var requestUrl
= phpGWLink('index.php', oArgs);
TINY.box.show({iframe:requestUrl,
boxid:"frameless",width:750,height:450,fixed:false,maskid:"darkmask",maskopacity:40,
mask:true, animate:true, close: true});
}
@@ -509,82 +509,7 @@
var requestUrl
= phpGWLink('index.php', oArgs);
TINY.box.show({iframe:requestUrl,
boxid:"frameless",width:750,height:450,fixed:false,maskid:"darkmask",maskopacity:40,
mask:true, animate:true, close: true});
}
-<![CDATA[
- function parseURL(url)
- {
- var parser =
document.createElement('a'),
-
searchObject = {},
-
queries, split, i;
- // Let the
browser do the work
- parser.href =
url;
- // Convert
query string to object
- queries =
parser.search.replace(/^\?/, '').split('&');
- for( i = 0; i <
queries.length; i++ ) {
- split =
queries[i].split('=');
-
searchObject[split[0]] = split[1];
- }
- return {
-
protocol: parser.protocol,
- host:
parser.host,
-
hostname: parser.hostname,
- port:
parser.port,
-
pathname: parser.pathname,
- search:
parser.search,
-
searchObject: searchObject,
- hash:
parser.hash
- };
- }
-]]>
- add_control = function()
- {
- var formUrl =
$("#form").attr("action");
- var Url =
parseURL(formUrl);
- oArgs =
Url.searchObject;
- delete
oArgs.click_history;
-
oArgs.menuaction = 'property.boentity.add_control';
-
oArgs.control_id = $("#control_id").val();
-
oArgs.control_responsible = $("#control_responsible").val();
-
oArgs.control_start_date = $("#control_start_date").val();
-
oArgs.repeat_type = $("#repeat_type").val();
-
if(!oArgs.repeat_type)
- {
-
alert('velg type serie');
- return;
- }
-
oArgs.repeat_interval = $("#repeat_interval").val();
-
oArgs.controle_time = $("#controle_time").val();
-
oArgs.service_time = $("#service_time").val();
- var requestUrl
= phpGWLink('index.php', oArgs, true);
-//
alert(requestUrl);
-
-
$("#controller_receipt").html("");
-
- $.ajax({
- type:
'POST',
-
dataType: 'json',
- url:
requestUrl,
-
success: function(data) {
-
if( data != null)
-
{
-
$("#controller_receipt").html(data.status + '::' + data.msg);
-
if(data.status_kode == 'ok')
-
{
-
$("#control_id").val('');
-
$("#control_name").val('');
-
$("#control_responsible").val('');
-
$("#control_responsible_user_name").val('');
-
$("#control_start_date").val('');
-
}
-
}
- }
- });
-
- var oArgs2 =
{menuaction:'property.uientity.get_controls_at_component', type:oArgs.type,
entity_id:oArgs.entity_id, cat_id:oArgs.cat_id, id: oArgs.id};
- var requestUrl2
= phpGWLink('index.php', oArgs2, true);
-
JqueryPortico.updateinlineTableHelper('datatable-container_4', requestUrl2);
- };
-
</script>
<div
id="controller_receipt"></div>
<fieldset>
@@ -653,10 +578,6 @@
<input
type="text" name="service_time" id="service_time" value="" size="">
</input>
</div>
- <div
class="pure-control-group">
- <input
type="button" name="" value="{$lang_add}" title="{$lang_add}"
onClick="add_control();">
- </input>
- </div>
</fieldset>
<div
class="pure-control-group">
<label>
Modified: branches/dev-syncromind/rental/inc/class.uibilling.inc.php
===================================================================
--- branches/dev-syncromind/rental/inc/class.uibilling.inc.php 2015-05-09
17:49:21 UTC (rev 13177)
+++ branches/dev-syncromind/rental/inc/class.uibilling.inc.php 2015-05-10
18:19:25 UTC (rev 13178)
@@ -464,7 +464,7 @@
//set is_billed on invoice price items to false
$billing_job_invoices =
rental_soinvoice::get_instance()->get(null, null, null, null, null, null,
array('billing_id' => phpgw::get_var('id')));
foreach($billing_job_invoices as $invoice){
- $price_items =
rental_socontract_price_item::get_instance()->get(null, null, null, null, null,
null, array('contract_id' => $invoice->get_contract_id(), 'one_time' => true));
+ $price_items =
rental_socontract_price_item::get_instance()->get(null, null, null, null, null,
null, array('contract_id' => $invoice->get_contract_id(), 'one_time' => true,
'include_billed' => true));
foreach($price_items as $price_item){
if($price_item->get_date_start() >=
$invoice->get_timestamp_start() && $price_item->get_date_start() <=
$invoice->get_timestamp_end()){
$price_item->set_is_billed(false);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Fmsystem-commits] [13178] Syncromind: Merge 12988:13177 from trunk,
Sigurd Nes <=