|
From: <gem...@li...> - 2012-04-26 15:44:22
|
Revision: 645
http://gemstracker.svn.sourceforge.net/gemstracker/?rev=645&view=rev
Author: matijsdejong
Date: 2012-04-26 15:44:13 +0000 (Thu, 26 Apr 2012)
Log Message:
-----------
New support functions for TrackData.php
Made the use of the round editor slightly simpler
Modified Paths:
--------------
trunk/library/classes/Gems/Tracker/Engine/StepEngineAbstract.php
trunk/library/classes/Gems/Util/TrackData.php
Modified: trunk/library/classes/Gems/Tracker/Engine/StepEngineAbstract.php
===================================================================
--- trunk/library/classes/Gems/Tracker/Engine/StepEngineAbstract.php 2012-04-26 14:51:22 UTC (rev 644)
+++ trunk/library/classes/Gems/Tracker/Engine/StepEngineAbstract.php 2012-04-26 15:44:13 UTC (rev 645)
@@ -442,17 +442,17 @@
// Calculate valid from
$model->set('valid_after', 'elementClass', 'html', 'label', ' ', 'value', MUTil_Html::create()->h4($this->_('Valid from calculation')));
- $model->set('grp_valid_after_source', 'label', $this->_('Date source'), 'default', self::TOKEN_TABLE, 'elementClass', 'Radio', 'escape', false, 'required', true);
- $model->set('grp_valid_after_id', 'label', $this->_('Round used'));
- $model->set('grp_valid_after_field', 'label', $this->_('Date used'), 'default', 'gto_valid_from');
+ $model->set('grp_valid_after_source', 'label', $this->_('Date source'), 'default', self::TOKEN_TABLE, 'elementClass', 'Radio', 'escape', false, 'required', true, 'onchange', 'this.form.submit();');
+ $model->set('grp_valid_after_id', 'label', $this->_('Round used'), 'onchange', 'this.form.submit();');
+ $model->set('grp_valid_after_field', 'label', $this->_('Date used'), 'default', 'gto_valid_from', 'onchange', 'this.form.submit();');
$model->set('grp_valid_after_length', 'label', $this->_('Add to date'), 'required', false);
$model->set('grp_valid_after_unit', 'label', $this->_('Add to date unit'), 'multiOptions', $this->getDateUnitsList(true));
// Calculate valid until
$model->set('valid_for', 'elementClass', 'html', 'label', ' ', 'value', MUTil_Html::create()->h4($this->_('Valid for calculation')));
- $model->set('grp_valid_for_source', 'label', $this->_('Date source'), 'default', self::TOKEN_TABLE, 'elementClass', 'Radio', 'escape', false, 'required', true);
- $model->set('grp_valid_for_id', 'label', $this->_('Round used'), 'default', '');
- $model->set('grp_valid_for_field', 'label', $this->_('Date used'), 'default', 'gto_valid_from');
+ $model->set('grp_valid_for_source', 'label', $this->_('Date source'), 'default', self::TOKEN_TABLE, 'elementClass', 'Radio', 'escape', false, 'required', true, 'onchange', 'this.form.submit();');
+ $model->set('grp_valid_for_id', 'label', $this->_('Round used'), 'default', '', 'onchange', 'this.form.submit();');
+ $model->set('grp_valid_for_field', 'label', $this->_('Date used'), 'default', 'gto_valid_from', 'onchange', 'this.form.submit();');
$model->set('grp_valid_for_length', 'label', $this->_('Add to date'), 'required', false, 'default', 2);
$model->set('grp_valid_for_unit', 'label', $this->_('Add to date unit'), 'multiOptions', $this->getDateUnitsList(false));
Modified: trunk/library/classes/Gems/Util/TrackData.php
===================================================================
--- trunk/library/classes/Gems/Util/TrackData.php 2012-04-26 14:51:22 UTC (rev 644)
+++ trunk/library/classes/Gems/Util/TrackData.php 2012-04-26 15:44:13 UTC (rev 645)
@@ -97,6 +97,21 @@
/**
+ * Returns array (id => name) of all ronds in all tracks, sorted by order
+ *
+ * @return array
+ */
+ public function getAllRounds()
+ {
+ static $rounds;
+ if (! $rounds) {
+ $rounds = $this->db->fetchPairs("SELECT gro_id_round, CONCAT(gro_id_order, ' - ', SUBSTR(gsu_survey_name, 1, 80)) AS name FROM gems__rounds INNER JOIN gems__surveys ON gro_id_survey = gsu_id_survey ORDER BY gro_id_order");
+ }
+
+ return $rounds;
+ }
+
+ /**
* Retrieve an array of key/value pairs for gsu_id_survey and gsu_survey_name
*
* @staticvar array $surveys
@@ -124,13 +139,13 @@
static $surveys;
if (! $surveys) {
- $surveys = $this->db->fetchPairs('SELECT gsu_id_survey,
+ $surveys = $this->db->fetchPairs('SELECT gsu_id_survey,
CONCAT(
LEFT(CONCAT_WS(
" - ", gsu_survey_name, CASE WHEN LENGTH(TRIM(gsu_survey_description)) = 0 THEN NULL ELSE gsu_survey_description END
), 50),
CASE WHEN gsu_active = 1 THEN " (' . $this->translate->_('Active') . ')" ELSE " (' . $this->translate->_('Inactive') . ')" END
- )
+ )
FROM gems__surveys ORDER BY gsu_survey_name');
}
@@ -151,4 +166,30 @@
return $tracks;
}
+
+ /**
+ * Returns array (id => name) of all ronds in a track, sorted by order
+ *
+ * @param int $trackId
+ * @return array
+ */
+ public function getRoundsFor($trackId)
+ {
+ return $this->db->fetchPairs("SELECT gro_id_round, CONCAT(gro_id_order, ' - ', SUBSTR(gsu_survey_name, 1, 80)) AS name FROM gems__rounds INNER JOIN gems__surveys ON gro_id_survey = gsu_id_survey WHERE gro_id_track = ? ORDER BY gro_id_order", $trackId);
+ }
+
+ /**
+ * Returns array (id => name) of all 'T' tracks, sorted alphabetically
+ * @return array
+ */
+ public function getSteppedTracks()
+ {
+ static $tracks;
+
+ if (! $tracks) {
+ $tracks = $this->db->fetchPairs("SELECT gtr_id_track, gtr_track_name FROM gems__tracks WHERE gtr_track_type = 'T' ORDER BY gtr_track_name");
+ }
+
+ return $tracks;
+ }
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|