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. |