From: <gem...@li...> - 2012-03-30 14:14:18
|
Revision: 585 http://gemstracker.svn.sourceforge.net/gemstracker/?rev=585&view=rev Author: matijsdejong Date: 2012-03-30 14:14:12 +0000 (Fri, 30 Mar 2012) Log Message: ----------- Extended usage by making titles passable as parameters Modified Paths: -------------- trunk/library/snippets/AddTracksSnippet.php Modified: trunk/library/snippets/AddTracksSnippet.php =================================================================== --- trunk/library/snippets/AddTracksSnippet.php 2012-03-30 12:24:12 UTC (rev 584) +++ trunk/library/snippets/AddTracksSnippet.php 2012-03-30 14:14:12 UTC (rev 585) @@ -87,14 +87,14 @@ /** * Switch to set display of respondent dropdown on or off * - * @var boolean + * @var mixed When string, string is used for display, when false, nothing is displayed */ public $showForRespondents = true; /** * Switch to set display of staff dropdown on or off * - * @var boolean + * @var mixed When string, string is used for display, when false, nothing is displayed */ public $showForStaff = true; @@ -102,23 +102,26 @@ /** * Switch to set display of track dropdown on or off * - * @var boolean + * @var mixed When string, string is used for display, when false, nothing is displayed */ public $showForTracks = true; - protected function _getTracks($trackType, $pageRef) + /** + * + * @var mixed When string, string is used for display, when false, nothing is displayed + */ + public $showTitle = true; + + protected function _getTracks($trackType, $pageRef, $trackTypeDescription) { switch ($trackType) { case 'T': - $trackTypeDescription = $this->_('Tracks'); $trackController = 'track'; break; case 'S': - $trackTypeDescription = $this->_('by Respondents'); $trackController = 'survey'; break; case 'M': - $trackTypeDescription = $this->_('by Staff'); $trackController = 'survey'; break; default: @@ -204,6 +207,30 @@ } /** + * Should be called after answering the request to allow the Target + * to check if all required registry values have been set correctly. + * + * @return boolean False if required are missing. + */ + public function checkRegistryRequestsAnswers() + { + if ($this->showForRespondents && is_bool($this->showForRespondents)) { + $this->showForRespondents = $this->_('by Respondents'); + } + if ($this->showForStaff && is_bool($this->showForStaff)) { + $this->showForStaff = $this->_('by Staff'); + } + if ($this->showForTracks && is_bool($this->showForTracks)) { + $this->showForTracks = $this->_('Tracks'); + } + if ($this->showTitle && is_bool($this->showTitle)) { + $this->showTitle = $this->_('Add'); + } + + return parent::checkRegistryRequestsAnswers(); + } + + /** * Allow manual assignment of surveys/tracks to a patient * * If project uses the Gems_Project_Tracks_MultiTracksInterface, show a track drowpdown @@ -225,16 +252,18 @@ $pageRef = array(MUtil_Model::REQUEST_ID => $this->request->getParam(MUtil_Model::REQUEST_ID)); $addToLists = MUtil_Html::create()->div(array('class' => 'tooldock')); - $addToLists->strong($this->_('Add')); + if ($this->showTitle) { + $addToLists->strong($this->showTitle); + } if ($this->showForTracks && ($this->escort instanceof Gems_Project_Tracks_MultiTracksInterface)) { - $addToLists[] = $this->_getTracks('T', $pageRef); + $addToLists[] = $this->_getTracks('T', $pageRef, $this->showForTracks); } if ($this->escort instanceof Gems_Project_Tracks_StandAloneSurveysInterface) { if ($this->showForRespondents) { - $addToLists[] = $this->_getTracks('S', $pageRef); + $addToLists[] = $this->_getTracks('S', $pageRef, $this->showForRespondents); } if ($this->showForStaff) { - $addToLists[] = $this->_getTracks('M', $pageRef); + $addToLists[] = $this->_getTracks('M', $pageRef, $this->showForStaff); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gem...@li...> - 2012-06-22 10:46:54
|
Revision: 781 http://gemstracker.svn.sourceforge.net/gemstracker/?rev=781&view=rev Author: matijsdejong Date: 2012-06-22 10:46:48 +0000 (Fri, 22 Jun 2012) Log Message: ----------- Overenthusiastic code cleanup corrected Modified Paths: -------------- trunk/library/snippets/AddTracksSnippet.php Modified: trunk/library/snippets/AddTracksSnippet.php =================================================================== --- trunk/library/snippets/AddTracksSnippet.php 2012-06-21 16:10:15 UTC (rev 780) +++ trunk/library/snippets/AddTracksSnippet.php 2012-06-22 10:46:48 UTC (rev 781) @@ -144,28 +144,47 @@ if (isset($this->session->$trackTypeCache, $this->session->$trackTypeTime) && (time() < $this->session->$trackTypeTime)) { $tracks = $this->session->$trackTypeCache; } else { - if ($trackType == 'T') { - $sql = "SELECT gtr_id_track, gtr_track_name - FROM gems__tracks - WHERE gtr_date_start < CURRENT_TIMESTAMP AND - (gtr_date_until IS NULL OR gtr_date_until > CURRENT_TIMESTAMP) AND - gtr_active = 1 AND - gtr_track_type = 'T' AND - gtr_organizations LIKE '%|$organization_id|%' - ORDER BY gtr_track_name"; - } else { - $sql = "SELECT gtr_id_track, gtr_track_name - FROM gems__tracks INNER JOIN - gems__rounds ON gtr_id_track = gro_id_track INNER JOIN - gems__surveys ON gro_id_survey = gsu_id_survey INNER JOIN - gems__groups ON gsu_id_primary_group = ggp_id_group - WHERE gtr_date_start < CURRENT_TIMESTAMP AND - (gtr_date_until IS NULL OR gtr_date_until > CURRENT_TIMESTAMP) AND - gtr_active = 1 AND - gtr_track_type = '$trackTypeLetter' AND - ggp_respondent_members = 1 AND - gtr_organizations LIKE '%|$organization_id|%' - ORDER BY gtr_track_name"; + switch ($trackType) { + case 'T': + $sql = "SELECT gtr_id_track, gtr_track_name + FROM gems__tracks + WHERE gtr_date_start < CURRENT_TIMESTAMP AND + (gtr_date_until IS NULL OR gtr_date_until > CURRENT_TIMESTAMP) AND + gtr_active = 1 AND + gtr_track_type = 'T' AND + gtr_organizations LIKE '%|$organization_id|%' + ORDER BY gtr_track_name"; + break; + case 'S': + $sql = "SELECT gtr_id_track, gtr_track_name + FROM gems__tracks INNER JOIN + gems__rounds ON gtr_id_track = gro_id_track INNER JOIN + gems__surveys ON gro_id_survey = gsu_id_survey INNER JOIN + gems__groups ON gsu_id_primary_group = ggp_id_group + WHERE gtr_date_start < CURRENT_TIMESTAMP AND + (gtr_date_until IS NULL OR gtr_date_until > CURRENT_TIMESTAMP) AND + gtr_active = 1 AND + gtr_track_type = 'S' AND + ggp_respondent_members = 1 AND + gtr_organizations LIKE '%|$organization_id|%' + ORDER BY gtr_track_name"; + break; + case 'M': + $sql = "SELECT gtr_id_track, gtr_track_name + FROM gems__tracks INNER JOIN + gems__rounds ON gtr_id_track = gro_id_track INNER JOIN + gems__surveys ON gro_id_survey = gsu_id_survey INNER JOIN + gems__groups ON gsu_id_primary_group = ggp_id_group + WHERE gtr_date_start < CURRENT_TIMESTAMP AND + (gtr_date_until IS NULL OR gtr_date_until > CURRENT_TIMESTAMP) AND + gtr_active = 1 AND + gtr_track_type = 'S' AND + ggp_respondent_members = 0 AND + gtr_organizations LIKE '%|$organization_id|%' + ORDER BY gtr_track_name"; + break; + // default: + // throw new exception('Invalid track type requested.'); } $tracks = $this->db->fetchPairs($sql); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |