[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Fmsystem-commits] [7937]
From: |
Erik Holm-Larsen |
Subject: |
[Fmsystem-commits] [7937] |
Date: |
Wed, 26 Oct 2011 05:12:53 +0000 |
Revision: 7937
http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=7937
Author: erikhl
Date: 2011-10-26 05:12:53 +0000 (Wed, 26 Oct 2011)
Log Message:
-----------
Modified Paths:
--------------
trunk/controller/inc/class.socontrol.inc.php
trunk/controller/inc/class.soprocedure.inc.php
trunk/controller/inc/class.uiprocedure.inc.php
trunk/controller/inc/model/class.procedure.inc.php
trunk/controller/setup/phpgw_no.lang
trunk/controller/templates/base/procedure_item.xsl
Modified: trunk/controller/inc/class.socontrol.inc.php
===================================================================
--- trunk/controller/inc/class.socontrol.inc.php 2011-10-25 09:03:40 UTC
(rev 7936)
+++ trunk/controller/inc/class.socontrol.inc.php 2011-10-26 05:12:53 UTC
(rev 7937)
@@ -168,7 +168,7 @@
}
else
{
- $cols = 'controller_control.id,
controller_control.title, controller_control.description,
controller_control.start_date, controller_control.end_date, procedure_id,
control_area_id, requirement_id, costresponsibility_id, responsibility_id,
equipment_type_id, equipment_id, location_code, repeat_type, repeat_interval,
enabled, controller_control_area.title AS control_area_name,
controller_procedure.title AS procedure_name ';
+ $cols = 'controller_control.id,
controller_control.title, controller_control.description,
controller_control.start_date, controller_control.end_date,
controller_control.procedure_id, controller_control.control_area_id,
controller_control.requirement_id, controller_control.costresponsibility_id,
controller_control.responsibility_id, controller_control.equipment_type_id,
controller_control.equipment_id, controller_control.location_code,
controller_control.repeat_type, controller_control.repeat_interval,
controller_control.enabled, controller_control_area.title AS control_area_name,
controller_procedure.title AS procedure_name ';
}
$dir = $ascending ? 'ASC' : 'DESC';
Modified: trunk/controller/inc/class.soprocedure.inc.php
===================================================================
--- trunk/controller/inc/class.soprocedure.inc.php 2011-10-25 09:03:40 UTC
(rev 7936)
+++ trunk/controller/inc/class.soprocedure.inc.php 2011-10-26 05:12:53 UTC
(rev 7937)
@@ -191,6 +191,33 @@
return $results;
}
+ function get_old_revisions($id)
+ {
+ $results = array();
+
+ $sql = "SELECT * FROM controller_procedure WHERE procedure_id =
{$id} ORDER BY end_date DESC";
+ $this->db->limit_query($sql, $start, __LINE__, __FILE__,
$limit);
+
+ while ($this->db->next_record()) {
+ $procedure = new
controller_procedure($this->unmarshal($this->db->f('id', true), 'int'));
+
$procedure->set_title($this->unmarshal($this->db->f('title', true), 'string'));
+
$procedure->set_purpose($this->unmarshal($this->db->f('purpose', true),
'string'));
+
$procedure->set_responsibility($this->unmarshal($this->db->f('responsibility',
true), 'string'));
+
$procedure->set_description($this->unmarshal($this->db->f('description', true),
'string'));
+
$procedure->set_reference($this->unmarshal($this->db->f('reference', true),
'string'));
+
$procedure->set_attachment($this->unmarshal($this->db->f('attachment', true),
'string'));
+
$procedure->set_start_date(date($GLOBALS['phpgw_info']['user']['preferences']['common']['dateformat'],
$this->unmarshal($this->db->f('start_date'), 'int')));
+
$procedure->set_end_date(date($GLOBALS['phpgw_info']['user']['preferences']['common']['dateformat'],
$this->unmarshal($this->db->f('end_date'), 'int')));
+
$procedure->set_procedure_id($this->unmarshal($this->db->f('procedure_id'),
'int'));
+
$procedure->set_revision_no($this->unmarshal($this->db->f('revision_no'),
'int'));
+
$procedure->set_revision_date(date($GLOBALS['phpgw_info']['user']['preferences']['common']['dateformat'],
$this->unmarshal($this->db->f('revision_date'), 'int')));
+
+ $results[] = $procedure->toArray();;
+ }
+
+ return $results;
+ }
+
function get_id_field_name($extended_info = false)
{
@@ -230,97 +257,20 @@
}
$filter_clauses = array();
- /*switch($filters['is_active']){
- case "active":
- $filter_clauses[] = "rental_composite.is_active
= TRUE";
- break;
+ $filter_clauses[] = "controller_procedure.end_date IS NULL";
+ /*
+ switch($filters['is_active']){
case "non_active":
- $filter_clauses[] = "rental_composite.is_active
= FALSE";
+ $filter_clauses[] = "NOT
controller_procedure.end_date IS NULL";
break;
- case "both":
+ default:
+ $filter_clauses[] =
"controller_procedure.end_date IS NULL";
break;
- }*/
- /*
- $special_query = false; //specify if the query should use
distinct on rental_composite.id (used for selecting composites that has an
active or inactive contract)
- $ts_query = strtotime(date('Y-m-d')); // timestamp for query
(today)
- $availability_date_from = $ts_query;
- $availability_date_to = $ts_query;
-
- if(isset($filters['availability_date_from']) &&
$filters['availability_date_from'] != ''){
- $availability_date_from =
strtotime($filters['availability_date_from']);
}
-
- if(isset($filters['availability_date_to']) &&
$filters['availability_date_to'] != ''){
- $availability_date_to =
strtotime($filters['availability_date_to']);
- }
*/
- /*switch($filters['has_contract']){
- case "has_contract":
- $filter_clauses[] = "NOT
rental_contract_composite.contract_id IS NULL"; // Composite must have a
contract
- $filter_clauses[] = "NOT
rental_contract.date_start IS NULL"; // The contract must have start date
- */
- /* The contract's start date not after the end
of the period if there is no end date */
-/* $filter_clauses[] = "
- ((NOT rental_contract.date_start >
$availability_date_to AND rental_contract.date_end IS NULL)
- OR
- (NOT rental_contract.date_start >
$availability_date_to AND NOT rental_contract.date_end IS NULL AND NOT
rental_contract.date_end < $availability_date_from))";
- $special_query=true;
- break;
- case "has_no_contract":
- $filter_clauses[] = "
- (
- rental_contract_composite.contract_id
IS NULL OR
- NOT rental_composite.id IN
- (
- SELECT rental_composite.id FROM
rental_composite
- LEFT JOIN
rental_contract_composite ON (rental_contract_composite.composite_id =
rental_composite.id)
- LEFT JOIN rental_contract ON
(rental_contract.id = rental_contract_composite.contract_id)
- WHERE
- (
- NOT
rental_contract_composite.contract_id IS NULL AND
- NOT
rental_contract.date_start IS NULL AND
- ((NOT
rental_contract.date_start > $availability_date_to AND rental_contract.date_end
IS NULL)
- OR
- (NOT
rental_contract.date_start > $availability_date_to AND NOT
rental_contract.date_end IS NULL AND NOT rental_contract.date_end <
$availability_date_from))
- )
- )
- )
- ";
- $special_query=true;
- break;
- case "both":
- break;
- }
- // Furnished, partly furnished, not furnished, not specified
- if(isset($filters['furnished_status']) &
$filters['furnished_status'] < 4){
- // Not specified
- if($filters['furnished_status'] == 0)
- $filter_clauses[] =
"rental_composite.furnish_type_id IS NULL";
- else
- $filter_clauses[] =
"rental_composite.furnish_type_id=".$filters['furnished_status'];
- }
-
- if(isset($filters['not_in_contract'])){
- $filter_clauses[] =
"(rental_contract_composite.contract_id != ".$filters['not_in_contract']." OR
rental_contract_composite.contract_id IS NULL)";
- }
-
- if(isset($filters['location_code'])){
- $filter_clauses[] = "rental_unit.location_code = '".
$filters['location_code'] . "'";
- }
-
- if(isset($filters['contract_id']))
- {
- $filter_clauses[] = "contract_id =
{$this->marshal($filters['contract_id'],'int')}";
- }
-
if(isset($filters[$this->get_id_field_name()]))
{
- $filter_clauses[] = "rental_composite.id =
{$this->marshal($filters[$this->get_id_field_name()],'int')}";
- }*/
-
- if(isset($filters[$this->get_id_field_name()]))
- {
$filter_clauses[] = "controller_procedure.id =
{$this->marshal($filters[$this->get_id_field_name()],'int')}";
}
@@ -332,9 +282,6 @@
$condition = join(' AND ', $clauses);
$tables = "controller_procedure";
- //$joins = " {$this->left_join} rental_unit ON
(rental_composite.id = rental_unit.composite_id)";
- //$joins .= " {$this->left_join} rental_contract_composite ON
(rental_contract_composite.composite_id = rental_composite.id)";
- //$joins .= " {$this->left_join} rental_contract ON
(rental_contract.id = rental_contract_composite.contract_id)";
if($return_count) // We should only return a count
{
Modified: trunk/controller/inc/class.uiprocedure.inc.php
===================================================================
--- trunk/controller/inc/class.uiprocedure.inc.php 2011-10-25 09:03:40 UTC
(rev 7936)
+++ trunk/controller/inc/class.uiprocedure.inc.php 2011-10-26 05:12:53 UTC
(rev 7937)
@@ -77,6 +77,11 @@
'sortable' => false
),
array(
+ 'key' =>
'revision_date',
+ 'label' =>
lang('Procedure revision date'),
+ 'sortable' => true
+ ),
+ array(
'key' => 'link',
'hidden' => true
)
@@ -113,6 +118,7 @@
$procedure->set_attachment(phpgw::get_var('attachment'));
$procedure->set_start_date(strtotime(phpgw::get_var('start_date_hidden')));
$procedure->set_end_date(strtotime(phpgw::get_var('end_date_hidden')));
+
$procedure->set_revision_date(strtotime(phpgw::get_var('revision_date_hidden')));
if(isset($procedure_id) &&
$procedure_id > 0)
{
@@ -146,13 +152,16 @@
$old_procedure =
$this->so->get_single($procedure_id);
if(isset($procedure)) // Edit procedure
{
- $revision =
$procedure->get_revision_no();
+ $revision =
(int)$procedure->get_revision_no();
if($revision && is_numeric($revision))
{
- $revision = (int)$revision;
- $new_revision = $revision++;
-
$procedure->set_revision_no($new_revision);
+ $revision++;
+
$procedure->set_revision_no($revision);
}
+ else
+ {
+ $procedure->set_revision_no(1);
+ }
$procedure->set_title(phpgw::get_var('title'));
$procedure->set_purpose(phpgw::get_var('purpose','html'));
$procedure->set_responsibility(phpgw::get_var('responsibility'));
@@ -211,6 +220,7 @@
'value_id'
=> !empty($procedure) ? $procedure->get_id() : 0,
'start_date' =>
$GLOBALS['phpgw']->yuical->add_listener('start_date',date($GLOBALS['phpgw_info']['user']['preferences']['common']['dateformat'],
($procedure->get_start_date())?$procedure->get_start_date():time())),
'end_date'
=>
$GLOBALS['phpgw']->yuical->add_listener('end_date',date($GLOBALS['phpgw_info']['user']['preferences']['common']['dateformat'],
($procedure->get_end_date())?$procedure->get_end_date():'')),
+ 'revision_date' =>
$GLOBALS['phpgw']->yuical->add_listener('revision_date',date($GLOBALS['phpgw_info']['user']['preferences']['common']['dateformat'],
($procedure->get_revision_date())?$procedure->get_revision_date():'')),
'img_go_home' =>
'rental/templates/base/images/32x32/actions/go-home.png',
'editable'
=> true,
'procedure'
=> $procedure_array,
@@ -221,10 +231,11 @@
$GLOBALS['phpgw']->richtext->replace_element('purpose');
+ //$this->use_yui_editor();
$GLOBALS['phpgw']->richtext->replace_element('description');
+
//$GLOBALS['phpgw']->richtext->generate_script(true);
$GLOBALS['phpgw']->richtext->generate_script();
-
// $GLOBALS['phpgw']->js->validate_file( 'yahoo',
'controller.item', 'controller' );
self::render_template_xsl('procedure_item',
$data);
@@ -246,6 +257,7 @@
public function view()
{
$GLOBALS['phpgw_info']['flags']['app_header'] .=
'::'.lang('view');
+ $view_revision = phpgw::get_var('view_revision');
//Retrieve the procedure object
$procedure_id = (int)phpgw::get_var('id');
if(isset($_POST['edit_procedure']))
@@ -275,7 +287,25 @@
$procedure_start_date =
date($GLOBALS['phpgw_info']['user']['preferences']['common']['dateformat'],
$procedure->get_start_date());
if($procedure->get_end_date() &&
$procedure->get_end_date() != null)
$procedure_end_date =
date($GLOBALS['phpgw_info']['user']['preferences']['common']['dateformat'],
$procedure->get_end_date());
+ if($procedure->get_revision_date() &&
$procedure->get_revision_date() != null)
+ $procedure_revision_date =
date($GLOBALS['phpgw_info']['user']['preferences']['common']['dateformat'],
$procedure->get_revision_date());
//_debug_array($procedure_array);
+
+ if(!$view_revision)
+ {
+ $table_header[] = array('header' =>
lang('Procedure revision'));
+ $table_header[] = array('header' =>
lang('Procedure title'));
+ $table_header[] = array('header' =>
lang('Procedure start date'));
+ $table_header[] = array('header' =>
lang('Procedure end date'));
+
+ $revised_procedures =
$this->so->get_old_revisions($procedure->get_id());
+ //var_dump($revised_procedures);
+ foreach($revised_procedures as $rev)
+ {
+ $rev['link'] =
self::link(array('menuaction' => 'controller.uiprocedure.view', 'id' =>
$rev['id'], 'view_revision' => 'yes'));
+ $table_values[] = array('row'
=> $rev);
+ }
+ }
$data = array
(
@@ -283,8 +313,16 @@
'img_go_home' =>
'rental/templates/base/images/32x32/actions/go-home.png',
'procedure'
=> $procedure_array,
'start_date' =>
$procedure_start_date,
- 'end_date'
=> $procedure_end_date
+ 'end_date'
=> $procedure_end_date,
+ 'revision_date' =>
$procedure_revision_date,
+ 'values'
=> $table_values,
+ 'table_header' =>
$table_header,
);
+
+ if($procedure->get_end_date())
+ {
+ $data['inactive'] = true;
+ }
$GLOBALS['phpgw_info']['flags']['app_header'] =
lang('controller') . '::' . lang('Procedure');
Modified: trunk/controller/inc/model/class.procedure.inc.php
===================================================================
--- trunk/controller/inc/model/class.procedure.inc.php 2011-10-25 09:03:40 UTC
(rev 7936)
+++ trunk/controller/inc/model/class.procedure.inc.php 2011-10-26 05:12:53 UTC
(rev 7937)
@@ -141,7 +141,7 @@
'end_date' => $this->get_end_date(),
'procedure_id' =>
$this->get_procedure_id(),
'revision_no' =>
$this->get_revision_no(),
- 'revision_date' =>
$this->get_revision_date()
+ 'revision_date' =>
($this->get_revision_date())?date($GLOBALS['phpgw_info']['user']['preferences']['common']['dateformat'],
$this->get_revision_date()):''
);
}
}
Modified: trunk/controller/setup/phpgw_no.lang
===================================================================
--- trunk/controller/setup/phpgw_no.lang 2011-10-25 09:03:40 UTC (rev
7936)
+++ trunk/controller/setup/phpgw_no.lang 2011-10-26 05:12:53 UTC (rev
7937)
@@ -256,4 +256,6 @@
Control_locations controller no Lokasjoner
Control_equipment controller no Utstyr
New control controller no Ny kontroll
-revisit controller no Revidér
\ No newline at end of file
+revisit controller no Revidér
+Procedure revision controller no Revisjon
+Procedure revision date controller no Revisjonsdato
\ No newline at end of file
Modified: trunk/controller/templates/base/procedure_item.xsl
===================================================================
--- trunk/controller/templates/base/procedure_item.xsl 2011-10-25 09:03:40 UTC
(rev 7936)
+++ trunk/controller/templates/base/procedure_item.xsl 2011-10-26 05:12:53 UTC
(rev 7937)
@@ -29,6 +29,12 @@
</xsl:choose>
</dd>
<dt>
+ <label
for="revision_no"><xsl:value-of select="php:function('lang','Procedure
revision')" /></label>
+ </dt>
+ <dd>
+ <xsl:value-of
select="procedure/revision_no" />
+ </dd>
+ <dt>
<label
for="purpose"><xsl:value-of select="php:function('lang','Procedure purpose')"
/></label>
</dt>
<dd>
@@ -74,11 +80,19 @@
<xsl:value-of
disable-output-escaping="yes" select="start_date"/>
</dd>
<dt>
+ <label
for="revision_date"><xsl:value-of select="php:function('lang','Procedure
revision date')" /></label>
+ </dt>
+ <dd>
+ <xsl:value-of
disable-output-escaping="yes" select="revision_date"/>
+ </dd>
+ <xsl:if test="end_date != ''">
+ <dt>
<label
for="end_date"><xsl:value-of select="php:function('lang','Procedure end date')"
/></label>
</dt>
<dd>
<xsl:value-of
disable-output-escaping="yes" select="end_date"/>
</dd>
+ </xsl:if>
<dt>
<label
for="reference"><xsl:value-of select="php:function('lang','Procedure
Reference')" /></label>
</dt>
@@ -117,6 +131,10 @@
<input type="submit"
name="revisit_procedure" value="{$lang_revisit}" title = "{$lang_revisit}" />
<input type="submit"
name="cancel_procedure" value="{$lang_cancel}" title = "{$lang_cancel}" />
</xsl:when>
+ <xsl:when test="inactive">
+ <xsl:variable
name="lang_back"><xsl:value-of select="php:function('lang', 'back')"
/></xsl:variable>
+ <input type="button"
value="{$lang_back}" title="{$lang_back}" onclick="javascript: history.go(-1);"
style="margin: 0 0 15px 15px; padding: 1px 15px;"/>
+ </xsl:when>
<xsl:otherwise>
<xsl:variable
name="lang_edit"><xsl:value-of select="php:function('lang', 'edit')"
/></xsl:variable>
<input type="submit"
name="edit_procedure" value="{$lang_edit}" title = "{$lang_edit}" />
@@ -124,7 +142,46 @@
</xsl:choose>
</div>
</form>
-
+ <xsl:choose>
+ <xsl:when test="values != ''">
+ <table cellpadding="10"
cellspacing="10" align="left" style="margin-left: 1em;">
+ <xsl:call-template
name="table_header_history"/>
+ <xsl:call-template
name="values_history"/>
+ </table>
+ </xsl:when>
+ </xsl:choose>
</div>
</div>
-</xsl:template>
\ No newline at end of file
+</xsl:template>
+
+<xsl:template name="table_header_history">
+ <tr class="th">
+ <xsl:for-each select="table_header" >
+ <td class="th_text" style="padding-right:
10px;">
+ <xsl:value-of select="header"/>
+ </td>
+ </xsl:for-each>
+ </tr>
+ </xsl:template>
+
+ <xsl:template name="values_history">
+ <xsl:for-each select="values" >
+ <tr>
+ <xsl:for-each select="row" >
+ <xsl:variable
name="proc_link"><xsl:value-of select='link'/></xsl:variable>
+ <td align="right" style="padding-right:
10px;">
+ <a
href="{$proc_link}"><xsl:value-of select="revision_no"/></a>
+ </td>
+ <td align="left" style="padding-right:
10px;">
+ <xsl:value-of select="title"/>
+ </td>
+ <td align="left" style="padding-right:
10px;">
+ <xsl:value-of
select="start_date"/>
+ </td>
+ <td align="left" style="padding-right:
10px;">
+ <xsl:value-of
select="end_date"/>
+ </td>
+ </xsl:for-each>
+ </tr>
+ </xsl:for-each>
+ </xsl:template>
\ No newline at end of file
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Fmsystem-commits] [7937],
Erik Holm-Larsen <=