You can subscribe to this list here.
2011 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(84) |
Oct
(70) |
Nov
(164) |
Dec
(71) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2012 |
Jan
(52) |
Feb
(77) |
Mar
(70) |
Apr
(58) |
May
(81) |
Jun
(74) |
Jul
(87) |
Aug
(30) |
Sep
(45) |
Oct
(37) |
Nov
(51) |
Dec
(31) |
2013 |
Jan
(47) |
Feb
(29) |
Mar
(40) |
Apr
(33) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <gem...@li...> - 2012-06-12 12:52:02
|
Revision: 756 http://gemstracker.svn.sourceforge.net/gemstracker/?rev=756&view=rev Author: michieltcs Date: 2012-06-12 12:51:56 +0000 (Tue, 12 Jun 2012) Log Message: ----------- Back out revisions 755 and 718 Modified Paths: -------------- tags/1.5.4-pulse-20120604/library/classes/Gems/Default/StaffAction.php tags/1.5.4-pulse-20120604/library/classes/Gems/Util/DbLookup.php Modified: tags/1.5.4-pulse-20120604/library/classes/Gems/Default/StaffAction.php =================================================================== --- tags/1.5.4-pulse-20120604/library/classes/Gems/Default/StaffAction.php 2012-06-12 12:33:25 UTC (rev 755) +++ tags/1.5.4-pulse-20120604/library/classes/Gems/Default/StaffAction.php 2012-06-12 12:51:56 UTC (rev 756) @@ -69,41 +69,9 @@ if ($menuItem = $this->findAllowedMenuItem('show')) { $bridge->addItemLink($menuItem->toActionLinkLower($this->getRequest(), $bridge)); } - - $br = MUtil_Html::create('br'); - $orgCount = count($model->get('gsf_id_organization', 'multiOptions')); foreach($model->getItemsOrdered() as $name) { if ($label = $model->get($name, 'label')) { - switch ($name) { - case 'name': - if ($orgCount > 1) { - $bridge->addMultiSort('name', $br, 'gsf_email'); - } else { - $bridge->addSortable($name, $label); - } - - break; - - case 'gsf_email': - if ($orgCount > 1) { - //Do nothing as it is already linked in the 'name' field - } else { - $bridge->addSortable($name, $label); - } - break; - - case 'gsf_id_organization': - if ($orgCount > 1) { - $bridge->addSortable($name, $label); - } else { - //Don't show as it is always the same - } - break; - - default: - $bridge->addSortable($name, $label); - break; - } + $bridge->addSortable($name, $label); } } // Add edit button if allowed, otherwise show, again if allowed @@ -134,18 +102,11 @@ $user = $this->loader->getUserLoader()->getUserByStaffId($data['gsf_id_user']); // MUtil_Echo::track($data['gsf_id_user'], $user->getLoginName()); } + $dbLookup = $this->util->getDbLookup(); - // Find out if this group is in the inheritance path of the current user - $allowedGroups = $this->util->getDbLookup()->getAllowedStaffGroups(); - if (!array_key_exists($data['gsf_id_primary_group'], $allowedGroups)) { - //Not allowed to update - $model->set('gsf_id_primary_group', 'elementClass', 'Exhibitor'); - } else { - //Allow only certain groups - $model->set('gsf_id_primary_group', 'multiOptions', $allowedGroups); - } + $model->set('gsf_id_primary_group', 'multiOptions', MUtil_Lazy::call($dbLookup->getAllowedStaffGroups)); if ($new) { - $model->set('gsf_id_primary_group', 'default', $this->util->getDbLookup()->getDefaultGroup()); + $model->set('gsf_id_primary_group', 'default', $dbLookup->getDefaultGroup()); } $ucfirst = new Zend_Filter_Callback('ucfirst'); @@ -189,7 +150,7 @@ $bridge->addFilter( 'gsf_last_name', $ucfirst); $bridge->addText( 'gsf_email', array('size' => 30))->addValidator('SimpleEmail'); - $bridge->add('gsf_id_primary_group'); + $bridge->addSelect('gsf_id_primary_group'); $bridge->addCheckbox('gul_can_login', 'description', $this->_('Users can only login when this box is checked.')); $bridge->addCheckbox('gsf_logout_on_survey', 'description', $this->_('If checked the user will logoff when answering a survey.')); Modified: tags/1.5.4-pulse-20120604/library/classes/Gems/Util/DbLookup.php =================================================================== --- tags/1.5.4-pulse-20120604/library/classes/Gems/Util/DbLookup.php 2012-06-12 12:33:25 UTC (rev 755) +++ tags/1.5.4-pulse-20120604/library/classes/Gems/Util/DbLookup.php 2012-06-12 12:51:56 UTC (rev 756) @@ -70,6 +70,12 @@ protected $util; /** + * + * @var Zend_Session + */ + protected $session; + + /** * Retrieve a list of orgid/name pairs * * @staticvar array $organizations @@ -142,12 +148,11 @@ public function getAllowedStaffGroups() { $groups = $this->getActiveStaffGroups(); - $user = GemsEscort::getInstance()->getLoader()->getCurrentUser(); - if ($user->getRole() === 'master') { + if ($this->session->user_role === 'master') { return $groups; } else { - $rolesAllowed = $user->getRoles(); + $rolesAllowed = $this->acl->getRoleAndParents($this->session->user_role); $roles = $this->db->fetchPairs('SELECT ggp_id_group, ggp_role FROM gems__groups WHERE ggp_group_active=1 AND ggp_staff_members=1 ORDER BY ggp_name'); $result = array(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gem...@li...> - 2012-06-12 12:33:34
|
Revision: 755 http://gemstracker.svn.sourceforge.net/gemstracker/?rev=755&view=rev Author: michieltcs Date: 2012-06-12 12:33:25 +0000 (Tue, 12 Jun 2012) Log Message: ----------- Temporary fix Modified Paths: -------------- tags/1.5.4-pulse-20120604/library/classes/Gems/Default/StaffAction.php Modified: tags/1.5.4-pulse-20120604/library/classes/Gems/Default/StaffAction.php =================================================================== --- tags/1.5.4-pulse-20120604/library/classes/Gems/Default/StaffAction.php 2012-06-12 11:54:42 UTC (rev 754) +++ tags/1.5.4-pulse-20120604/library/classes/Gems/Default/StaffAction.php 2012-06-12 12:33:25 UTC (rev 755) @@ -145,7 +145,7 @@ $model->set('gsf_id_primary_group', 'multiOptions', $allowedGroups); } if ($new) { - $model->set('gsf_id_primary_group', 'default', $dbLookup->getDefaultGroup()); + $model->set('gsf_id_primary_group', 'default', $this->util->getDbLookup()->getDefaultGroup()); } $ucfirst = new Zend_Filter_Callback('ucfirst'); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gem...@li...> - 2012-06-12 11:54:51
|
Revision: 754 http://gemstracker.svn.sourceforge.net/gemstracker/?rev=754&view=rev Author: mennodekker Date: 2012-06-12 11:54:42 +0000 (Tue, 12 Jun 2012) Log Message: ----------- Set a default empty array so joinmodel can be used for single tables too Modified Paths: -------------- trunk/library/classes/MUtil/Model/JoinModel.php Modified: trunk/library/classes/MUtil/Model/JoinModel.php =================================================================== --- trunk/library/classes/MUtil/Model/JoinModel.php 2012-06-12 08:59:56 UTC (rev 753) +++ trunk/library/classes/MUtil/Model/JoinModel.php 2012-06-12 11:54:42 UTC (rev 754) @@ -51,7 +51,7 @@ */ class MUtil_Model_JoinModel extends MUtil_Model_DatabaseModelAbstract { - protected $_joinFields; + protected $_joinFields = array(); protected $_saveTables; private $_select; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gem...@li...> - 2012-06-12 09:00:02
|
Revision: 753 http://gemstracker.svn.sourceforge.net/gemstracker/?rev=753&view=rev Author: michieltcs Date: 2012-06-12 08:59:56 +0000 (Tue, 12 Jun 2012) Log Message: ----------- Merge revisions 738,745,748,748 and 751 from trunk Modified Paths: -------------- tags/1.5.4-pulse-20120604/library/changelog.txt tags/1.5.4-pulse-20120604/library/classes/Gems/Default/RespondentExportAction.php tags/1.5.4-pulse-20120604/library/classes/Gems/Upgrades.php tags/1.5.4-pulse-20120604/library/classes/MUtil/Html/AElement.php tags/1.5.4-pulse-20120604/library/classes/MUtil/Validate/Date/DateAfter.php tags/1.5.4-pulse-20120604/library/languages/FakeTranslations.php tags/1.5.4-pulse-20120604/library/languages/default-nl.mo tags/1.5.4-pulse-20120604/library/languages/default-nl.po Property Changed: ---------------- tags/1.5.4-pulse-20120604/ tags/1.5.4-pulse-20120604/library/ Property changes on: tags/1.5.4-pulse-20120604 ___________________________________________________________________ Modified: svn:mergeinfo - /branches/1.5.0-pulse:306-430,467 /branches/1.5.x:426-455,458-472,475-481 /tags/1.5.0beta1:305 /tags/1.5.1:485,489,509-510 /tags/1.5.3-rc2:612,614,616,618 + /branches/1.5.0-pulse:306-430,467 /branches/1.5.x:426-455,458-472,475-481 /tags/1.5.0beta1:305 /tags/1.5.1:485,489,509-510 /tags/1.5.3-rc2:612,614,616,618 /trunk:738,745,748-749,751 Property changes on: tags/1.5.4-pulse-20120604/library ___________________________________________________________________ Modified: svn:mergeinfo - /branches/1.5.0-pulse/library:306-344,346,467 /branches/1.5.x/library:426-455,458-472,475-481 /branches/newUser:113-150 /branches/newUser2:175-207 /branches/userloader:259-324 /tags/1.5.0beta1/library:305 /tags/1.5.1/library:485,489,509-510,534 /tags/1.5.3-rc2/library:612,614,616,618 + /branches/1.5.0-pulse/library:306-344,346,467 /branches/1.5.x/library:426-455,458-472,475-481 /branches/newUser:113-150 /branches/newUser2:175-207 /branches/userloader:259-324 /tags/1.5.0beta1/library:305 /tags/1.5.1/library:485,489,509-510,534 /tags/1.5.3-rc2/library:612,614,616,618 /trunk/library:738,745,748-749,751 Modified: tags/1.5.4-pulse-20120604/library/changelog.txt =================================================================== --- tags/1.5.4-pulse-20120604/library/changelog.txt 2012-06-11 12:55:54 UTC (rev 752) +++ tags/1.5.4-pulse-20120604/library/changelog.txt 2012-06-12 08:59:56 UTC (rev 753) @@ -1,3 +1,12 @@ +Important changes from 1.5.3 => 1.5.4 +============================================================ +New logLevel project.ini setting +Added export of all patient data on a single page or PDF (if binary specified in project.ini) +Fixed a lot of issues with staff not being able to login or not being created +Fixed handling of token return on multi-url sites +Added maximum number of reminders sent to tokens +Fixed several date display and editing issues + Important changes from 1.5.2 => 1.5.3 ============================================================ People can login using their e-mail address as user name. This can be activated by for respondents and staff seperately, by default this is off for both. Modified: tags/1.5.4-pulse-20120604/library/classes/Gems/Default/RespondentExportAction.php =================================================================== --- tags/1.5.4-pulse-20120604/library/classes/Gems/Default/RespondentExportAction.php 2012-06-11 12:55:54 UTC (rev 752) +++ tags/1.5.4-pulse-20120604/library/classes/Gems/Default/RespondentExportAction.php 2012-06-12 08:59:56 UTC (rev 753) @@ -138,6 +138,18 @@ return $pdfContents; } + + /** + * Determines if this particular token should be included + * in the report + * + * @param Gems_Tracker_Token $token + * @return boolean This dummy implementation always returns true + */ + protected function _isTokenInFilter(Gems_Tracker_Token $token) + { + return true; + } /** * Exports all the tokens of a single track, grouped by round @@ -160,6 +172,11 @@ $this->html->br(); while ($token) { + if (!$this->_isTokenInFilter($token)) { + $token = $token->getNextToken(); + continue; + } + $status = $this->_('Open'); if ($token->isCompleted()) { @@ -172,6 +189,8 @@ $status = $this->_('Missed'); } else if (!empty($validFrom) && $validFrom->isLater($today)) { $status = $this->_('Future'); + } else if (empty($validFrom) && empty($validUntil)) { + $status = $this->_('Future'); } } Modified: tags/1.5.4-pulse-20120604/library/classes/Gems/Upgrades.php =================================================================== --- tags/1.5.4-pulse-20120604/library/classes/Gems/Upgrades.php 2012-06-11 12:55:54 UTC (rev 752) +++ tags/1.5.4-pulse-20120604/library/classes/Gems/Upgrades.php 2012-06-12 08:59:56 UTC (rev 753) @@ -1,4 +1,5 @@ <?php + /** * Copyright (c) 2011, Erasmus MC * All rights reserved. @@ -59,6 +60,7 @@ $this->register(array($this, 'Upgrade150to151'), 'Upgrade from 1.5.0 to 1.5.1'); $this->register(array($this, 'Upgrade151to152'), 'Upgrade from 1.5.1 to 1.5.2'); $this->register(array($this, 'Upgrade152to153'), 'Upgrade from 1.5.2 to 1.5.3'); + $this->register(array($this, 'Upgrade153to154'), 'Upgrade from 1.5.3 to 1.5.4'); } @@ -116,4 +118,14 @@ return true; } + + /** + * To upgrade to 1.5.4 just execute patchlevel 47 + */ + public function Upgrade153to154() + { + $this->_batch->addTask('Db_ExecutePatch', 47); + + return true; + } } \ No newline at end of file Modified: tags/1.5.4-pulse-20120604/library/classes/MUtil/Html/AElement.php =================================================================== --- tags/1.5.4-pulse-20120604/library/classes/MUtil/Html/AElement.php 2012-06-11 12:55:54 UTC (rev 752) +++ tags/1.5.4-pulse-20120604/library/classes/MUtil/Html/AElement.php 2012-06-12 08:59:56 UTC (rev 753) @@ -112,7 +112,9 @@ $href = $args['href']; unset($args['href']); } else { - $args['title'] = $email; + if (! isset($args['title'])) { + $args['title'] = $email; + } $href = array('mailto:', $email); } if (! isset($args['onclick'])) { Modified: tags/1.5.4-pulse-20120604/library/classes/MUtil/Validate/Date/DateAfter.php =================================================================== --- tags/1.5.4-pulse-20120604/library/classes/MUtil/Validate/Date/DateAfter.php 2012-06-11 12:55:54 UTC (rev 752) +++ tags/1.5.4-pulse-20120604/library/classes/MUtil/Validate/Date/DateAfter.php 2012-06-12 08:59:56 UTC (rev 753) @@ -49,12 +49,14 @@ * Error constants */ const NOT_AFTER = 'notAfter'; + const NO_VALIDFROM = 'noValidFrom'; /** * @var array Message templates */ protected $_messageTemplates = array( self::NOT_AFTER => "Date should be '%dateAfter%' or later.", + self::NO_VALIDFROM => "Should be empty if valid from date is not set." ); /** @@ -93,6 +95,11 @@ if ($this->_afterDate instanceof Zend_Date) { $after = $this->_afterDate; } elseif (isset($context[$this->_afterDate])) { + if (empty($context[$this->_afterDate])) { + $this->_error(self::NO_VALIDFROM); + return false; + } + $after = new Zend_Date($context[$this->_afterDate], $this->getDateFormat()); } else { $after = new Zend_Date($this->_afterDate); Modified: tags/1.5.4-pulse-20120604/library/languages/FakeTranslations.php =================================================================== --- tags/1.5.4-pulse-20120604/library/languages/FakeTranslations.php 2012-06-11 12:55:54 UTC (rev 752) +++ tags/1.5.4-pulse-20120604/library/languages/FakeTranslations.php 2012-06-12 08:59:56 UTC (rev 753) @@ -48,6 +48,7 @@ // MUtil_Validate_Date_DateAfter _("Date should be '%dateAfter%' or later."); +_("Should be empty if valid from date is not set."); // MUtil_Validate_Date_DateBefore _("Date should be '%dateBefore%' or earlier."); Modified: tags/1.5.4-pulse-20120604/library/languages/default-nl.mo =================================================================== (Binary files differ) Modified: tags/1.5.4-pulse-20120604/library/languages/default-nl.po =================================================================== --- tags/1.5.4-pulse-20120604/library/languages/default-nl.po 2012-06-11 12:55:54 UTC (rev 752) +++ tags/1.5.4-pulse-20120604/library/languages/default-nl.po 2012-06-12 08:59:56 UTC (rev 753) @@ -2,7 +2,7 @@ msgstr "" "Project-Id-Version: GemsTracker NL\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-06-01 14:45+0100\n" +"POT-Creation-Date: 2012-06-11 11:34+0100\n" "PO-Revision-Date: \n" "Last-Translator: Michiel Rook <in...@to...>\n" "Language-Team: Erasmus MGZ <mat...@ma...>\n" @@ -4013,72 +4013,76 @@ msgid "Date should be '%dateAfter%' or later." msgstr "Datum moet later vallen dan '%dateAfter%' of er gelijk aan zijn." -#: languages/FakeTranslations.php:53 +#: languages/FakeTranslations.php:51 +msgid "Should be empty if valid from date is not set." +msgstr "Moet leeg zijn als 'afname op' niet is ingevuld." + +#: languages/FakeTranslations.php:54 #, php-format msgid "Date should be '%dateBefore%' or earlier." msgstr "Datum moet vallen voor '%dateBefore%' of er gelijk aan zijn." -#: languages/FakeTranslations.php:56 +#: languages/FakeTranslations.php:57 msgid "%value% is not a valid date." msgstr "%value% is geen geldige datum." -#: languages/FakeTranslations.php:59 +#: languages/FakeTranslations.php:60 msgid "No record matching %value% was found." msgstr "Geen gegevens gevonden die overeenkomen met %value%." -#: languages/FakeTranslations.php:60 +#: languages/FakeTranslations.php:61 msgid "A duplicate record matching '%value%' was found." msgstr "De waarde '%value%' is al in gebruik." -#: languages/FakeTranslations.php:63 +#: languages/FakeTranslations.php:64 msgid "This is not a valid %testDescription%." msgstr "%testDescription% is niet geldig." -#: languages/FakeTranslations.php:64 +#: languages/FakeTranslations.php:65 msgid "A %testDescription% cannot contain letters." msgstr "Een %testDescription% mag geen letters bevatten." -#: languages/FakeTranslations.php:65 +#: languages/FakeTranslations.php:66 msgid "%value% is too long for a %testDescription%. Should be %length% digits." msgstr "%value% is te lang voor een %testDescription%. Die moet %length% cijfers lang zijn." -#: languages/FakeTranslations.php:66 +#: languages/FakeTranslations.php:67 msgid "%value% is too short for a %testDescription%. Should be %length% digits." msgstr "%value% is te kort voor een %testDescription%. Die moet %length% cijfers lang zijn." -#: languages/FakeTranslations.php:72 +#: languages/FakeTranslations.php:73 msgid "'%value%' is not a phone number (e.g. +12 (0)34-567 890)." msgstr "'%value%' is geen telefoonnummer (zoals: +12 (0)34-567 890)." -#: languages/FakeTranslations.php:75 +#: languages/FakeTranslations.php:76 msgid "Unsupported PDF version %value% - only versions 1.0 - 1.4 are supported." msgstr "Deze PDF heeft een versie (%value%) die niet ondersteund wordt, slechts versies 1.0-1.4 worden ondersteund." -#: languages/FakeTranslations.php:78 +#: languages/FakeTranslations.php:79 msgid "To set '%description%' you have to set '%fieldDescription%'." msgstr " '%fieldDescription%' moet ingevoerd worden om '%description%' te kunnen kiezen." -#: languages/FakeTranslations.php:82 +#: languages/FakeTranslations.php:83 msgid "'%value%' is not an email address (e.g. na...@so...)." msgstr "'%value%' is niet een email address (zoals na...@er...)." -#: languages/FakeTranslations.php:85 +#: languages/FakeTranslations.php:86 msgid "'%value%' is not a series of email addresses (e.g. na...@so..., no...@no...)." msgstr "'%value%' is niet een verzameling email adressen (zoals na...@er..., ni...@ne...)." -#: languages/FakeTranslations.php:88 +#: languages/FakeTranslations.php:89 msgid "'%value%' must contain only digits" msgstr "'%value%' mag alleen cijfers bevatten" -#: languages/FakeTranslations.php:89 +#: languages/FakeTranslations.php:90 msgid "'%value%' is an empty string" msgstr "'%value%' is leeg" -#: languages/FakeTranslations.php:90 +#: languages/FakeTranslations.php:91 msgid "Invalid type given. String, integer or float expected" msgstr "Ongeldige invoer, geef een tekst of een nummer op" -#: languages/FakeTranslations.php:93 +#: languages/FakeTranslations.php:94 msgid "One or more IPs are illegal." msgstr "Een of meer IP adressen zijn incorrect." This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gem...@li...> - 2012-06-11 12:56:08
|
Revision: 752 http://gemstracker.svn.sourceforge.net/gemstracker/?rev=752&view=rev Author: matijsdejong Date: 2012-06-11 12:55:54 +0000 (Mon, 11 Jun 2012) Log Message: ----------- All bulk check/change processes now use Batch/Task to execute Removed Batch() from function names for consistent naming (should be backward compatible) Updated version numbers Updated translations and changed some batch descriptions for clarity (I hope) Modified Paths: -------------- trunk/library/classes/Gems/Default/SourceAction.php trunk/library/classes/Gems/Default/SurveyMaintenanceAction.php trunk/library/classes/Gems/Default/TokenPlanAction.php trunk/library/classes/Gems/Default/TrackMaintenanceAction.php trunk/library/classes/Gems/Menu/MenuAbstract.php trunk/library/classes/Gems/Task/Tracker/CheckTrackRounds.php trunk/library/classes/Gems/Tracker/Engine/TrackEngineAbstract.php trunk/library/classes/Gems/Tracker/TrackerInterface.php trunk/library/classes/Gems/Tracker.php trunk/library/classes/Gems/Versions.php trunk/library/classes/MUtil/Batch/BatchPull.js trunk/library/configs/db/tables/gems__patch_levels.10.sql trunk/library/languages/default-en.mo trunk/library/languages/default-en.po trunk/library/languages/default-nl.mo trunk/library/languages/default-nl.po Modified: trunk/library/classes/Gems/Default/SourceAction.php =================================================================== --- trunk/library/classes/Gems/Default/SourceAction.php 2012-06-11 09:36:00 UTC (rev 751) +++ trunk/library/classes/Gems/Default/SourceAction.php 2012-06-11 12:55:54 UTC (rev 752) @@ -111,7 +111,7 @@ $sourceId = $this->getSourceId(); $where = $this->db->quoteInto('gsu_id_source = ?', $sourceId); - $batch = $this->loader->getTracker()->refreshTokenAttributesBatch('sourceCheck' . $sourceId, $where); + $batch = $this->loader->getTracker()->refreshTokenAttributes('sourceCheck' . $sourceId, $where); $title = sprintf($this->_('Refreshing token attributes for %s source.'), $this->db->fetchOne("SELECT gso_source_name FROM gems__sources WHERE gso_id_source = ?", $sourceId)); @@ -127,7 +127,7 @@ $sourceId = $this->getSourceId(); $where = $this->db->quoteInto('gto_id_survey IN (SELECT gsu_id_survey FROM gems__surveys WHERE gsu_id_source = ?)', $sourceId); - $batch = $this->loader->getTracker()->recalculateTokensBatch('sourceCheck' . $sourceId, $this->loader->getCurrentUser()->getUserId(), $where); + $batch = $this->loader->getTracker()->recalculateTokens('sourceCheck' . $sourceId, $this->loader->getCurrentUser()->getUserId(), $where); $title = sprintf($this->_('Checking survey results for %s source.'), $this->db->fetchOne("SELECT gso_source_name FROM gems__sources WHERE gso_id_source = ?", $sourceId)); @@ -139,7 +139,7 @@ */ public function checkAllAction() { - $batch = $this->loader->getTracker()->recalculateTokensBatch('surveyCheckAll', $this->loader->getCurrentUser()->getUserId()); + $batch = $this->loader->getTracker()->recalculateTokens('surveyCheckAll', $this->loader->getCurrentUser()->getUserId()); $title = $this->_('Checking survey results for all sources.'); $this->_helper->BatchRunner($batch, $title); @@ -238,7 +238,7 @@ { $sourceId = $this->getSourceId(); - $batch = $this->loader->getTracker()->synchronizeSourcesBatch($sourceId, $this->loader->getCurrentUser()->getUserId()); + $batch = $this->loader->getTracker()->synchronizeSources($sourceId, $this->loader->getCurrentUser()->getUserId()); $title = sprintf($this->_('Synchronize the %s source.'), $this->db->fetchOne("SELECT gso_source_name FROM gems__sources WHERE gso_id_source = ?", $sourceId)); @@ -251,11 +251,11 @@ public function synchronizeAllAction() { //* - $batch = $this->loader->getTracker()->synchronizeSourcesBatch(null, $this->loader->getCurrentUser()->getUserId()); + $batch = $this->loader->getTracker()->synchronizeSources(null, $this->loader->getCurrentUser()->getUserId()); $title = $this->_('Synchronize all sources.'); $this->_helper->BatchRunner($batch, $title); - + $this->html->actionLink(array('action' => 'index'), $this->_('Cancel')); } } Modified: trunk/library/classes/Gems/Default/SurveyMaintenanceAction.php =================================================================== --- trunk/library/classes/Gems/Default/SurveyMaintenanceAction.php 2012-06-11 09:36:00 UTC (rev 751) +++ trunk/library/classes/Gems/Default/SurveyMaintenanceAction.php 2012-06-11 12:55:54 UTC (rev 752) @@ -244,13 +244,13 @@ // Set the value of the field in the database. $new_name = $data['gsu_id_survey'] . '.pdf'; - + if (file_exists($form->new_pdf->getDestination() . DIRECTORY_SEPARATOR . $new_name)) { $data['gsu_survey_pdf'] = $new_name; } else { $data['gsu_survey_pdf'] = null; } - + $data['gtr_track_class'] = 'SingleSurveyEngine'; // feature request #200 @@ -274,7 +274,7 @@ $surveyId = $this->_getParam(MUtil_Model::REQUEST_ID); $where = $this->db->quoteInto('gto_id_survey = ?', $surveyId); - $batch = $this->loader->getTracker()->recalculateTokensBatch('surveyCheck' . $surveyId, $this->loader->getCurrentUser()->getUserId(), $where); + $batch = $this->loader->getTracker()->recalculateTokens('surveyCheck' . $surveyId, $this->loader->getCurrentUser()->getUserId(), $where); $title = sprintf($this->_('Checking survey results for the %s survey.'), $this->db->fetchOne("SELECT gsu_survey_name FROM gems__surveys WHERE gsu_id_survey = ?", $surveyId)); @@ -286,7 +286,7 @@ */ public function checkAllAction() { - $batch = $this->loader->getTracker()->recalculateTokensBatch('surveyCheckAll', $this->loader->getCurrentUser()->getUserId()); + $batch = $this->loader->getTracker()->recalculateTokens('surveyCheckAll', $this->loader->getCurrentUser()->getUserId()); $title = $this->_('Checking survey results for all surveys.'); $this->_helper->BatchRunner($batch, $title); Modified: trunk/library/classes/Gems/Default/TokenPlanAction.php =================================================================== --- trunk/library/classes/Gems/Default/TokenPlanAction.php 2012-06-11 09:36:00 UTC (rev 751) +++ trunk/library/classes/Gems/Default/TokenPlanAction.php 2012-06-11 12:55:54 UTC (rev 752) @@ -499,7 +499,7 @@ //$this->loader->getTracker()->processCompletedTokens(null, $this->session->user_id); $filter = $this->getCachedRequestData(true); $orgId = array_key_exists('gto_id_organization', $filter) ? $filter['gto_id_organization'] : null; - $this->loader->getTracker()->processCompletedTokensBatch(null, $this->session->user_id, $orgId); + $this->loader->getTracker()->processCompletedTokens(null, $this->session->user_id, $orgId); parent::indexAction(); } Modified: trunk/library/classes/Gems/Default/TrackMaintenanceAction.php =================================================================== --- trunk/library/classes/Gems/Default/TrackMaintenanceAction.php 2012-06-11 09:36:00 UTC (rev 751) +++ trunk/library/classes/Gems/Default/TrackMaintenanceAction.php 2012-06-11 12:55:54 UTC (rev 752) @@ -154,7 +154,7 @@ */ public function checkAllAction() { - $batch = $this->loader->getTracker()->checkTrackRoundsBatch('trackCheckRoundsAll', $this->loader->getCurrentUser()->getUserId()); + $batch = $this->loader->getTracker()->checkTrackRounds('trackCheckRoundsAll', $this->loader->getCurrentUser()->getUserId()); $this->_helper->BatchRunner($batch, $this->_('Checking round assignments for all tracks.')); } @@ -166,7 +166,7 @@ $id = $this->_getIdParam(); $track = $this->loader->getTracker()->getTrackEngine($id); $where = $this->db->quoteInto('gr2t_id_track = ?', $id); - $batch = $this->loader->getTracker()->checkTrackRoundsBatch('trackCheckRounds' . $id, $this->loader->getCurrentUser()->getUserId(), $where); + $batch = $this->loader->getTracker()->checkTrackRounds('trackCheckRounds' . $id, $this->loader->getCurrentUser()->getUserId(), $where); $title = sprintf($this->_("Checking round assignments for track '%s'."), $track->getTrackName()); $this->_helper->BatchRunner($batch, $title); Modified: trunk/library/classes/Gems/Menu/MenuAbstract.php =================================================================== --- trunk/library/classes/Gems/Menu/MenuAbstract.php 2012-06-11 09:36:00 UTC (rev 751) +++ trunk/library/classes/Gems/Menu/MenuAbstract.php 2012-06-11 12:55:54 UTC (rev 752) @@ -418,10 +418,10 @@ $page = $setup->addBrowsePage($this->_('Survey Sources'), 'pr.source', 'source'); $page->addAction($this->_('Check status'), null, 'ping')->addParameters(MUtil_Model::REQUEST_ID); $page->addAction($this->_('Synchronize surveys'), 'pr.source.synchronize', 'synchronize')->addParameters(MUtil_Model::REQUEST_ID); - $page->addAction($this->_('Check answers'), 'pr.source.check-answers', 'check')->addParameters(MUtil_Model::REQUEST_ID); + $page->addAction($this->_('Check is answered'), 'pr.source.check-answers', 'check')->addParameters(MUtil_Model::REQUEST_ID); $page->addAction($this->_('Check attributes'), 'pr.source.check-attributes', 'attributes')->addParameters(MUtil_Model::REQUEST_ID); $page->addAction($this->_('Synchronize all surveys'), 'pr.source.synchronize-all', 'synchronize-all'); - $page->addAction($this->_('Check all answers'), 'pr.source.check-answers-all', 'check-all'); + $page->addAction($this->_('Check all is answered'), 'pr.source.check-answers-all', 'check-all'); // SURVEY MAINTENANCE CONTROLLER $page = $setup->addPage($this->_('Surveys'), 'pr.survey-maintenance', 'survey-maintenance'); @@ -430,8 +430,8 @@ $page->addPdfButton($this->_('PDF'), 'pr.survey-maintenance') ->addParameters(MUtil_Model::REQUEST_ID) ->setParameterFilter('gsu_has_pdf', 1); - $page->addAction($this->_('Check answers'), 'pr.survey-maintenance.check', 'check')->addParameters(MUtil_Model::REQUEST_ID); - $page->addAction($this->_('Check all answers'), 'pr.survey-maintenance.check-all', 'check-all'); + $page->addAction($this->_('Check is answered'), 'pr.survey-maintenance.check', 'check')->addParameters(MUtil_Model::REQUEST_ID); + $page->addAction($this->_('Check all is answered'), 'pr.survey-maintenance.check-all', 'check-all'); $page->addAutofilterAction(); Modified: trunk/library/classes/Gems/Task/Tracker/CheckTrackRounds.php =================================================================== --- trunk/library/classes/Gems/Task/Tracker/CheckTrackRounds.php 2012-06-11 09:36:00 UTC (rev 751) +++ trunk/library/classes/Gems/Task/Tracker/CheckTrackRounds.php 2012-06-11 12:55:54 UTC (rev 752) @@ -60,6 +60,5 @@ $engine = $respTrack->getTrackEngine(); $engine->checkRoundsFor($respTrack, $userId, $this->_batch); - $this->_batch->addToCounter('checkedRespondentTracks'); } } \ No newline at end of file Modified: trunk/library/classes/Gems/Tracker/Engine/TrackEngineAbstract.php =================================================================== --- trunk/library/classes/Gems/Tracker/Engine/TrackEngineAbstract.php 2012-06-11 09:36:00 UTC (rev 751) +++ trunk/library/classes/Gems/Tracker/Engine/TrackEngineAbstract.php 2012-06-11 12:55:54 UTC (rev 752) @@ -410,20 +410,25 @@ public function checkRoundsFor(Gems_Tracker_RespondentTrack $respTrack, $userId, Gems_Task_TaskRunnerBatch $batch) { //Step one: update existing tokens - $batch->addToCounter('roundChangeUpdates', $this->checkExistingRoundsFor($respTrack, $userId)); + $i = $batch->addToCounter('roundChangeUpdates', $this->checkExistingRoundsFor($respTrack, $userId)); + $batch->setMessage('roundChangeUpdates', sprintf($this->_('Round changes propagated to %d tokens.'), $i)); //Step two: deactivate inactive rounds - $batch->addToCounter('deletedTokens', $this->removeInactiveRounds($respTrack, $userId)); + $i = $batch->addToCounter('deletedTokens', $this->removeInactiveRounds($respTrack, $userId)); + $batch->setMessage('deletedTokens', sprintf($this->_('%d tokens deleted by round changes.'), $i)); // Step three: create lacking tokens - $batch->addToCounter('createdTokens', $this->addNewTokens($respTrack, $userId)); + $i = $batch->addToCounter('createdTokens', $this->addNewTokens($respTrack, $userId)); + $batch->setMessage('createdTokens', sprintf($this->_('%d tokens created to by round changes.'), $i)); // Step four: set the dates and times $changed = $this->checkTokensFromStart($respTrack, $userId); - if ($changed) { - $batch->addToCounter('tokenDateCauses'); - $batch->addToCounter('tokenDateChanges', $changed); - } + $ica = $batch->addToCounter('tokenDateCauses', $changed ? 1 : 0); + $ich = $batch->addToCounter('tokenDateChanges', $changed); + $batch->setMessage('tokenDateChanges', sprintf($this->_('%2$d token date changes in %1$d tracks.'), $ica, $ich)); + + $i = $batch->addToCounter('checkedRespondentTracks'); + $batch->setMessage('checkedRespondentTracks', sprintf($this->_('Checked %d tracks.'), $i)); } /** Modified: trunk/library/classes/Gems/Tracker/TrackerInterface.php =================================================================== --- trunk/library/classes/Gems/Tracker/TrackerInterface.php 2012-06-11 09:36:00 UTC (rev 751) +++ trunk/library/classes/Gems/Tracker/TrackerInterface.php 2012-06-11 12:55:54 UTC (rev 752) @@ -53,8 +53,8 @@ * how tokens are created and checked), TokenSelect (Gems_Tracker_Token_TokenSelect * extension) and TokenValidator. * - * Other functions are general utility functions, e.g. checkTrackRoundsBatch(), createToken(), - * processCompletedTokensBatch() and recalculateTokensBatch(). + * Other functions are general utility functions, e.g. checkTrackRounds(), createToken(), + * processCompletedTokens() and recalculateTokens(). * * @package Gems * @subpackage Tracker @@ -75,7 +75,7 @@ * @param string $cond Optional where statement for selecting tracks * @return Gems_Task_TaskRunnerBatch A batch to process the changes */ - public function checkTrackRoundsBatch($batchId, $userId = null, $cond = null); + public function checkTrackRounds($batchId, $userId = null, $cond = null); /** * Create a new track for a patient @@ -283,9 +283,10 @@ * * @param int $respondentId Id of the respondent to check for or NULL * @param int $userId Id of the user who takes the action (for logging) + * @param int $orgId Optional Id of the organization to check for * @return bool Did we find new answers? */ - public function processCompletedTokens($respondentId, $userId = null); + public function processCompletedTokens($respondentId, $userId = null, $orgId = null); /** * Recalculates all token dates, timing and results @@ -297,7 +298,7 @@ * @param int $userId Id of the user who takes the action (for logging) * @return Gems_Tracker_Batch_SynchronizeSourcesBatch A batch to process the synchronization */ - public function synchronizeSourcesBatch($sourceId = null, $userId = null); + public function synchronizeSources($sourceId = null, $userId = null); /** * Recalculates all token dates, timing and results @@ -310,7 +311,7 @@ * @param string $cond * @return Gems_Task_TaskRunnerBatch A batch to process the changes */ - public function recalculateTokensBatch($batch_id, $userId = null, $cond = null); + public function recalculateTokens($batch_id, $userId = null, $cond = null); /** * Refreshes the tokens in the source @@ -319,5 +320,5 @@ * @param string $cond An optional where statement * @return Gems_Task_TaskRunnerBatch A batch to process the changes */ - public function refreshTokenAttributesBatch($batch_id, $cond = null); + public function refreshTokenAttributes($batch_id, $cond = null); } Modified: trunk/library/classes/Gems/Tracker.php =================================================================== --- trunk/library/classes/Gems/Tracker.php 2012-06-11 09:36:00 UTC (rev 751) +++ trunk/library/classes/Gems/Tracker.php 2012-06-11 12:55:54 UTC (rev 752) @@ -47,8 +47,8 @@ * how tokens are created and checked), TokenSelect (Gems_Tracker_Token_TokenSelect * extension) and TokenValidator. * - * Other functions are general utility functions, e.g. checkTrackRoundsBatch(), createToken(), - * processCompletedTokensBatch() and recalculateTokensBatch(). + * Other functions are general utility functions, e.g. checkTrackRounds(), createToken(), + * processCompletedTokens() and recalculateTokens(). * * @package Gems * @subpackage Tracker @@ -199,7 +199,7 @@ * @param string $cond Optional where statement for selecting tracks * @return Gems_Task_TaskRunnerBatch A batch to process the changes */ - public function checkTrackRoundsBatch($batchId, $userId = null, $cond = null) + public function checkTrackRounds($batchId, $userId = null, $cond = null) { $userId = $this->_checkUserId($userId); $respTrackSelect = $this->db->select(); @@ -754,33 +754,11 @@ * * @param int $respondentId Id of the respondent to check for or NULL * @param int $userId Id of the user who takes the action (for logging) + * @param int $orgId Optional Id of the organization to check for * @return bool Did we find new answers? */ - public function processCompletedTokens($respondentId, $userId = null) + public function processCompletedTokens($respondentId, $userId = null, $orgId = null) { - return $this->processCompletedTokensBatch($respondentId, $userId, null); - - /*$userId = $this->_checkUserId($userId); - $tokenSelect = $this->getTokenSelect(true) - ->onlyActive() - ->forRespondent($respondentId) - ->andReceptionCodes() - ->order('gto_round_order DESC'); - - $changes = $this->processTokens($tokenSelect, $userId); - - if (self::$verbose) { - if ($t = Zend_Registry::get('Zend_Translate')) { - MUtil_Echo::r($changes->getMessages($t), $t->_('Checks performed')); - } - } - - return $changes->hasChanged(); - */ - } - - public function processCompletedTokensBatch($respondentId, $userId = null, $orgId = null) - { $userId = $this->_checkUserId($userId); $tokenSelect = $this->getTokenSelect(); $tokenSelect->onlyActive() @@ -788,7 +766,7 @@ ->andSurveys(array()) ->forWhere('gsu_surveyor_active = 1'); - if (!is_null($orgId)) { + if (null !== $orgId) { $tokenSelect->forWhere('gto_id_organization = ?', $orgId); } @@ -824,70 +802,6 @@ * * Does not reflect changes to tracks or rounds. * - * @param Gems_Tracker_Token_TokenSelect Select statements selecting tokens - * @param int $userId Id of the user who takes the action (for logging) - * @return Gems_Tracker_ChangeTracker What changes have taken places - */ - protected function processTokens(Gems_Tracker_Token_TokenSelect $tokenSelect, $userId) - { - $tokenRows = $tokenSelect->fetchAll(); - $changes = new Gems_Tracker_ChangeTracker(); - $tokens = array(); - - // FIRST: process each individual token - foreach ($tokenRows as $tokenData) { - - $changes->checkedTokens++; - $token = $this->getToken($tokenData); - $tokens[] = $token; - - if ($result = $token->checkTokenCompletion($userId)) { - if ($result & Gems_Tracker_Token::COMPLETION_DATACHANGE) { - $changes->resultDataChanges++; - } - if ($result & Gems_Tracker_Token::COMPLETION_EVENTCHANGE) { - $changes->surveyCompletionChanges++; - } - } - } - - $respTracks = array(); - - // SECOND: Process the completed rounds (all tokens now have any new values from answered surveys) - foreach ($tokens as $token) { - if ($token->isCompleted()) { - $respTrack = $token->getRespondentTrack(); - $respTracks[$respTrack->getRespondentTrackId()] = $respTrack; - - if ($result = $respTrack->handleRoundCompletion($token, $userId)) { - $changes->roundCompletionCauses++; - $changes->roundCompletionChanges += $result; - } - } - } - - if ($respTracks) { - // THIRD: Process date changes - foreach ($respTracks as $respTrackId => $respTrack) { - if ($result = $respTrack->checkTrackTokens($userId)) { - $changes->tokenDateCauses++; - $changes->tokenDateChanges += $result; - } - } - } - - return $changes; - } - - /** - * Checks the token table to see if there are any answered surveys to be processed - * - * If the survey was started (and the token was forwarded to limesurvey) we need to check - * if is was completed. If so, we might want to check the track the survey is in to enable - * or disable future rounds - * - * Does not reflect changes to tracks or rounds. - * * @param string $batch_id A unique identifier for the current batch * @param Gems_Tracker_Token_TokenSelect Select statements selecting tokens * @param int $userId Id of the user who takes the action (for logging) @@ -924,7 +838,7 @@ * @param int $userId Id of the user who takes the action (for logging) * @return Gems_Tracker_Batch_SynchronizeSourcesBatch A batch to process the synchronization */ - public function synchronizeSourcesBatch($sourceId = null, $userId = null) + public function synchronizeSources($sourceId = null, $userId = null) { $batch_id = 'source_synch' . ($sourceId ? '_' . $sourceId : ''); $batch = $this->loader->getTaskRunnerBatch($batch_id); @@ -959,7 +873,7 @@ * @param string $cond * @return Gems_Task_TaskRunnerBatch A batch to process the changes */ - public function recalculateTokensBatch($batch_id, $userId = null, $cond = null) + public function recalculateTokens($batch_id, $userId = null, $cond = null) { $userId = $this->_checkUserId($userId); $tokenSelect = $this->getTokenSelect(array('gto_id_token')); @@ -985,7 +899,7 @@ * @param string $cond An optional where statement * @return Gems_Task_TaskRunnerBatch A batch to process the changes */ - public function refreshTokenAttributesBatch($batch_id, $cond = null) + public function refreshTokenAttributes($batch_id, $cond = null) { $batch = $this->loader->getTaskRunnerBatch($batch_id); Modified: trunk/library/classes/Gems/Versions.php =================================================================== --- trunk/library/classes/Gems/Versions.php 2012-06-11 09:36:00 UTC (rev 751) +++ trunk/library/classes/Gems/Versions.php 2012-06-11 12:55:54 UTC (rev 752) @@ -59,7 +59,7 @@ * This means that future patches for the current level * will be loaded, but that previous patches are ignored. */ - return 47; + return 48; } /** @@ -69,7 +69,7 @@ */ public final function getGemsVersion() { - return '1.5.4'; + return '1.5.5'; } /** Modified: trunk/library/classes/MUtil/Batch/BatchPull.js =================================================================== --- trunk/library/classes/MUtil/Batch/BatchPull.js 2012-06-11 09:36:00 UTC (rev 751) +++ trunk/library/classes/MUtil/Batch/BatchPull.js 2012-06-11 12:55:54 UTC (rev 752) @@ -33,8 +33,8 @@ }, error: function (request, status, error) { - alert('Communication error: ' + status); - this.progressTarget.after('<p>' + request.responseText + '</p>'); + // alert('Communication error: ' + status); + this.progressTarget.after('<h3>Communication error</h3><p><strong>' + status + '</strong><br/>' + request.responseText + '</p>'); // console.log(request); }, Modified: trunk/library/configs/db/tables/gems__patch_levels.10.sql =================================================================== --- trunk/library/configs/db/tables/gems__patch_levels.10.sql 2012-06-11 09:36:00 UTC (rev 751) +++ trunk/library/configs/db/tables/gems__patch_levels.10.sql 2012-06-11 12:55:54 UTC (rev 752) @@ -11,5 +11,4 @@ INSERT INTO gems__patch_levels (gpl_level, gpl_created) VALUES - (47, CURRENT_TIMESTAMP); - + (48, CURRENT_TIMESTAMP); Modified: trunk/library/languages/default-en.mo =================================================================== (Binary files differ) Modified: trunk/library/languages/default-en.po =================================================================== --- trunk/library/languages/default-en.po 2012-06-11 09:36:00 UTC (rev 751) +++ trunk/library/languages/default-en.po 2012-06-11 12:55:54 UTC (rev 752) @@ -2,7 +2,7 @@ msgstr "" "Project-Id-Version: GemsTracker EN\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-05-31 16:28+0100\n" +"POT-Creation-Date: 2012-06-11 14:50+0100\n" "PO-Revision-Date: \n" "Last-Translator: Matijs de Jong <mj...@ma...>\n" "Language-Team: Erasmus MGZ <mat...@ma...>\n" @@ -99,31 +99,31 @@ msgid "Database needs to be updated!" msgstr "Database needs to be updated!" -#: classes/Gems/Html.php:154 +#: classes/Gems/Html.php:155 msgid "<< First" msgstr "<< First" -#: classes/Gems/Html.php:155 +#: classes/Gems/Html.php:156 msgid "< Previous" msgstr "< Previous" -#: classes/Gems/Html.php:156 +#: classes/Gems/Html.php:157 msgid "Next >" msgstr "Next >" -#: classes/Gems/Html.php:157 +#: classes/Gems/Html.php:158 msgid "Last >>" msgstr "Last >>" -#: classes/Gems/Html.php:158 +#: classes/Gems/Html.php:159 msgid " | " msgstr " | " -#: classes/Gems/Html.php:162 +#: classes/Gems/Html.php:163 msgid "to" msgstr "to" -#: classes/Gems/Html.php:163 +#: classes/Gems/Html.php:164 msgid "of" msgstr "of" @@ -269,6 +269,10 @@ msgid "Token" msgstr "Token" +#: classes/Gems/Menu.php:280 +msgid "Export" +msgstr "Export" + #: classes/Gems/Menu.php:285 msgid "Track" msgstr "Track" @@ -344,6 +348,10 @@ msgid "Track Builder" msgstr "Track Builder" +#: classes/Gems/Menu.php:561 +msgid "Export respondent" +msgstr "Export respondent" + #: classes/Gems/Menu.php:567 msgid "Contact" msgstr "Contact" @@ -423,7 +431,7 @@ msgid " The error message is: %s" msgstr " The error message is: %s" -#: classes/Gems/Upgrades.php:77 +#: classes/Gems/Upgrades.php:79 msgid "Syncing surveys for all sources" msgstr "Syncing surveys for all sources" @@ -441,94 +449,94 @@ msgid "Trying upgrade for %s to level %s: %s" msgstr "Trying upgrade for %s to level %s: %s" -#: classes/Gems/Controller/BrowseEditAction.php:354 +#: classes/Gems/Controller/BrowseEditAction.php:355 #, php-format msgid "New %s..." msgstr "New %s..." -#: classes/Gems/Controller/BrowseEditAction.php:387 +#: classes/Gems/Controller/BrowseEditAction.php:388 #, php-format msgid "Delete %s" msgstr "Delete %s" -#: classes/Gems/Controller/BrowseEditAction.php:391 +#: classes/Gems/Controller/BrowseEditAction.php:392 #, php-format msgid "%2$u %1$s deleted" msgstr "%2$u %1$s deleted" -#: classes/Gems/Controller/BrowseEditAction.php:408 +#: classes/Gems/Controller/BrowseEditAction.php:409 #, php-format msgid "Edit %s %s" msgstr "Edit %s %s" -#: classes/Gems/Controller/BrowseEditAction.php:410 +#: classes/Gems/Controller/BrowseEditAction.php:411 #, php-format msgid "Edit %s" msgstr "Edit %s" -#: classes/Gems/Controller/BrowseEditAction.php:508 +#: classes/Gems/Controller/BrowseEditAction.php:509 msgid "Free search text" msgstr "Free search text" -#: classes/Gems/Controller/BrowseEditAction.php:579 +#: classes/Gems/Controller/BrowseEditAction.php:580 msgid "Search" msgstr "Search" -#: classes/Gems/Controller/BrowseEditAction.php:595 +#: classes/Gems/Controller/BrowseEditAction.php:596 #, php-format msgid "No %s found" msgstr "No %s found" -#: classes/Gems/Controller/BrowseEditAction.php:679 +#: classes/Gems/Controller/BrowseEditAction.php:680 #, php-format msgid "No %s found." msgstr "No %s found." -#: classes/Gems/Controller/BrowseEditAction.php:797 +#: classes/Gems/Controller/BrowseEditAction.php:798 msgid "Are you sure?" msgstr "Are you sure?" -#: classes/Gems/Controller/BrowseEditAction.php:813 +#: classes/Gems/Controller/BrowseEditAction.php:814 msgid "Yes" msgstr "Yes" -#: classes/Gems/Controller/BrowseEditAction.php:814 +#: classes/Gems/Controller/BrowseEditAction.php:815 msgid "No" msgstr "No" -#: classes/Gems/Controller/BrowseEditAction.php:867 +#: classes/Gems/Controller/BrowseEditAction.php:868 #, php-format msgid "Unknown %s requested" msgstr "Unknown %s requested" -#: classes/Gems/Controller/BrowseEditAction.php:890 +#: classes/Gems/Controller/BrowseEditAction.php:891 #, php-format msgid "New %1$s..." msgstr "New %1$s..." -#: classes/Gems/Controller/BrowseEditAction.php:898 +#: classes/Gems/Controller/BrowseEditAction.php:899 msgid "Save" msgstr "Save" -#: classes/Gems/Controller/BrowseEditAction.php:934 +#: classes/Gems/Controller/BrowseEditAction.php:935 #, php-format msgid "%2$u %1$s saved" msgstr "%2$u %1$s saved" -#: classes/Gems/Controller/BrowseEditAction.php:937 +#: classes/Gems/Controller/BrowseEditAction.php:938 msgid "No changes to save." msgstr "No changes to save." -#: classes/Gems/Controller/BrowseEditAction.php:946 +#: classes/Gems/Controller/BrowseEditAction.php:947 msgid "Input error! No changes saved!" msgstr "Input error! No changes saved!" -#: classes/Gems/Controller/BrowseEditAction.php:974 +#: classes/Gems/Controller/BrowseEditAction.php:975 #, php-format msgid "Show %s" msgstr "Show %s" -#: classes/Gems/Controller/BrowseEditAction.php:981 +#: classes/Gems/Controller/BrowseEditAction.php:982 #, php-format msgid "Unknown %s." msgstr "Unknown %s." @@ -1908,78 +1916,93 @@ msgstr "Patient number" #: classes/Gems/Default/RespondentExportAction.php:78 +msgid "Separate multiple respondents with a comma (,)" +msgstr "Separate multiple respondents with a comma (,)" + +#: classes/Gems/Default/RespondentExportAction.php:84 msgid "Group surveys" msgstr "Group surveys" -#: classes/Gems/Default/RespondentExportAction.php:87 +#: classes/Gems/Default/RespondentExportAction.php:89 msgid "Output format" msgstr "Output format" -#: classes/Gems/Default/RespondentExportAction.php:92 -msgid "Export" -msgstr "Export" - -#: classes/Gems/Default/RespondentExportAction.php:124 +#: classes/Gems/Default/RespondentExportAction.php:131 #, php-format msgid "Unable to run PDF conversion: \"%s\"" msgstr "Unable to run PDF conversion: \"%s\"" -#: classes/Gems/Default/RespondentExportAction.php:149 +#: classes/Gems/Default/RespondentExportAction.php:169 msgid "Round" msgstr "Round" -#: classes/Gems/Default/RespondentExportAction.php:151 +#: classes/Gems/Default/RespondentExportAction.php:180 +msgid "Open" +msgstr "Open" + +#: classes/Gems/Default/RespondentExportAction.php:183 msgid "Completed" msgstr "Completed" -#: classes/Gems/Default/RespondentExportAction.php:156 +#: classes/Gems/Default/RespondentExportAction.php:189 +msgid "Missed" +msgstr "Missed" + +#: classes/Gems/Default/RespondentExportAction.php:191 +#: classes/Gems/Default/RespondentExportAction.php:193 +msgid "Future" +msgstr "Future" + +#: classes/Gems/Default/RespondentExportAction.php:198 msgid "Single Survey" msgstr "Single Survey" -#: classes/Gems/Default/RespondentExportAction.php:197 +#: classes/Gems/Default/RespondentExportAction.php:244 msgid "Enter the particulars concerning the assignment to this respondent." msgstr "Enter the particulars concerning the assignment to this patient." -#: classes/Gems/Default/RespondentExportAction.php:198 +#: classes/Gems/Default/RespondentExportAction.php:245 msgid "Assigned by" msgstr "Assigned by" -#: classes/Gems/Default/RespondentExportAction.php:199 +#: classes/Gems/Default/RespondentExportAction.php:246 msgid "Start" msgstr "Start" -#: classes/Gems/Default/RespondentExportAction.php:203 +#: classes/Gems/Default/RespondentExportAction.php:250 msgid "Comment" msgstr "Comment" -#: classes/Gems/Default/RespondentExportAction.php:211 +#: classes/Gems/Default/RespondentExportAction.php:258 msgid "Track information" msgstr "Track information" -#: classes/Gems/Default/RespondentExportAction.php:255 +#: classes/Gems/Default/RespondentExportAction.php:296 +#, php-format +msgid "Unknown respondent %s" +msgstr "Unknown respondent %s" + +#: classes/Gems/Default/RespondentExportAction.php:302 +#: classes/Gems/Default/RespondentExportAction.php:310 msgid "Respondent information" msgstr "Patient information" -#: classes/Gems/Default/RespondentExportAction.php:282 +#: classes/Gems/Default/RespondentExportAction.php:330 msgid "Respondent report" msgstr "Respondent report" -#: classes/Gems/Default/RespondentExportAction.php:286 +#: classes/Gems/Default/RespondentExportAction.php:334 msgid "Report information" msgstr "Report information" -#: classes/Gems/Default/RespondentExportAction.php:287 +#: classes/Gems/Default/RespondentExportAction.php:335 msgid "Generated by" msgstr "Generated by" -#: classes/Gems/Default/RespondentExportAction.php:289 +#: classes/Gems/Default/RespondentExportAction.php:337 msgid "Generated on" msgstr "Generated on" -#: classes/Gems/Default/RespondentExportAction.php:330 -msgid "Export respondent" -msgstr "Export respondent" - #: classes/Gems/Default/RespondentPlanAction.php:67 msgid "Show respondent" msgstr "Show patient" @@ -2146,6 +2169,10 @@ msgid "Synchronize all sources." msgstr "Synchronize all sources." +#: classes/Gems/Default/StaffAction.php:122 +msgid "reset" +msgstr "reset" + #: classes/Gems/Default/StaffAction.php:164 msgid "Unsupported User Definition" msgstr "Unsupported User Definition" @@ -2167,34 +2194,34 @@ msgid "User with id %s already exists but is deleted, do you want to reactivate the account?" msgstr "User with id %s already exists but is deleted, do you want to reactivate the account?" -#: classes/Gems/Default/StaffAction.php:309 +#: classes/Gems/Default/StaffAction.php:327 msgid "Username" msgstr "Username" -#: classes/Gems/Default/StaffAction.php:324 +#: classes/Gems/Default/StaffAction.php:342 msgid "Primary function" msgstr "Primary function" -#: classes/Gems/Default/StaffAction.php:334 +#: classes/Gems/Default/StaffAction.php:352 msgid "Can login" msgstr "Can login" -#: classes/Gems/Default/StaffAction.php:335 +#: classes/Gems/Default/StaffAction.php:353 msgid "Logout on survey" msgstr "Logout on survey" -#: classes/Gems/Default/StaffAction.php:410 +#: classes/Gems/Default/StaffAction.php:465 msgid "staff member" msgid_plural "staff members" msgstr[0] "staff member" msgstr[1] "staff members" -#: classes/Gems/Default/StaffAction.php:442 +#: classes/Gems/Default/StaffAction.php:494 #, php-format msgid "Reset password for: %s" msgstr "Reset password for: %s" -#: classes/Gems/Default/StaffAction.php:445 +#: classes/Gems/Default/StaffAction.php:497 msgid "You are not allowed to change this password." msgstr "You are not allowed to change this password." @@ -2421,10 +2448,6 @@ msgid "Answered" msgstr "Answered" -#: classes/Gems/Default/TokenPlanAction.php:327 -msgid "Missed" -msgstr "Missed" - #: classes/Gems/Default/TokenPlanAction.php:341 msgid "(all fillers)" msgstr "(all fillers)" @@ -2579,12 +2602,12 @@ msgstr "Code Name" #: classes/Gems/Default/TrackFieldsAction.php:121 -#: classes/Gems/Default/TrackMaintenanceAction.php:224 +#: classes/Gems/Default/TrackMaintenanceAction.php:206 msgid "Values" msgstr "Values" #: classes/Gems/Default/TrackFieldsAction.php:123 -#: classes/Gems/Default/TrackMaintenanceAction.php:226 +#: classes/Gems/Default/TrackMaintenanceAction.php:208 msgid "Required" msgstr "Required" @@ -2602,31 +2625,24 @@ msgid "Fields" msgstr "Fields" -#: classes/Gems/Default/TrackMaintenanceAction.php:162 -msgid "This may take a while!" -msgstr "This may take a while!" +#: classes/Gems/Default/TrackMaintenanceAction.php:158 +msgid "Checking round assignments for all tracks." +msgstr "Checking round assignments for all tracks." -#: classes/Gems/Default/TrackMaintenanceAction.php:163 -msgid "Check all tracks" -msgstr "Check all tracks" +#: classes/Gems/Default/TrackMaintenanceAction.php:171 +#, php-format +msgid "Checking round assignments for track '%s'." +msgstr "Checking round assignments for track '%s'." -#: classes/Gems/Default/TrackMaintenanceAction.php:164 -msgid "Checking all tracks will update all existing rounds to the current surveys in the tracks instead of those in use when the track was created." -msgstr "Checking all tracks will update all existing rounds to the current surveys in the tracks instead of those in use when the track was created." - -#: classes/Gems/Default/TrackMaintenanceAction.php:165 -msgid "Completed tracks will not be changed. No new tokens will be created when later tokens were completed." -msgstr "Completed tracks will not be changed. No new tokens will be created when later tokens were completed." - -#: classes/Gems/Default/TrackMaintenanceAction.php:279 +#: classes/Gems/Default/TrackMaintenanceAction.php:261 msgid "fields" msgstr "fields" -#: classes/Gems/Default/TrackMaintenanceAction.php:280 +#: classes/Gems/Default/TrackMaintenanceAction.php:262 msgid "rounds" msgstr "rounds" -#: classes/Gems/Default/TrackMaintenanceAction.php:306 +#: classes/Gems/Default/TrackMaintenanceAction.php:288 #, php-format msgid "%s in track" msgstr "%s in track" @@ -2884,8 +2900,8 @@ #: classes/Gems/Menu/MenuAbstract.php:421 #: classes/Gems/Menu/MenuAbstract.php:433 -msgid "Check answers" -msgstr "Check answers" +msgid "Check is answered" +msgstr "Check is answered" #: classes/Gems/Menu/MenuAbstract.php:422 msgid "Check attributes" @@ -2897,8 +2913,8 @@ #: classes/Gems/Menu/MenuAbstract.php:424 #: classes/Gems/Menu/MenuAbstract.php:434 -msgid "Check all answers" -msgstr "Check all answers" +msgid "Check all is answered" +msgstr "Check all is answered" #: classes/Gems/Menu/MenuAbstract.php:430 msgid "PDF" @@ -3182,6 +3198,7 @@ msgstr "%d sources checked." #: classes/Gems/Tracker/Engine/AnyStepEngine.php:95 +#: classes/Gems/Tracker/Engine/NextStepEngine.php:92 msgid "This round" msgstr "This round" @@ -3302,32 +3319,32 @@ msgid "Use a track level date." msgstr "Use a track level date." -#: classes/Gems/Tracker/Engine/TrackEngineAbstract.php:445 +#: classes/Gems/Tracker/Engine/TrackEngineAbstract.php:443 #, php-format msgid "%s track engines cannot be converted to %s track engines." msgstr "%s track engines cannot be converted to %s track engines." -#: classes/Gems/Tracker/Engine/TrackEngineAbstract.php:688 +#: classes/Gems/Tracker/Engine/TrackEngineAbstract.php:686 #, php-format msgid "%d: %s - %s" msgstr "%d: %s - %s" -#: classes/Gems/Tracker/Engine/TrackEngineAbstract.php:691 -#: classes/Gems/Tracker/Engine/TrackEngineAbstract.php:694 +#: classes/Gems/Tracker/Engine/TrackEngineAbstract.php:689 +#: classes/Gems/Tracker/Engine/TrackEngineAbstract.php:692 #, php-format msgid "%d: %s" msgstr "%d: %s" -#: classes/Gems/Tracker/Engine/TrackEngineAbstract.php:697 +#: classes/Gems/Tracker/Engine/TrackEngineAbstract.php:695 #, php-format msgid "%s - %s" msgstr "%s - %s" -#: classes/Gems/Tracker/Engine/TrackEngineAbstract.php:737 +#: classes/Gems/Tracker/Engine/TrackEngineAbstract.php:735 msgid "Icon" msgstr "Icon" -#: classes/Gems/Tracker/Engine/TrackEngineAbstract.php:740 +#: classes/Gems/Tracker/Engine/TrackEngineAbstract.php:738 msgid "After change" msgstr "After change" @@ -3717,33 +3734,33 @@ msgid "Shared secret" msgstr "Shared secret" -#: classes/Gems/User/User.php:392 +#: classes/Gems/User/User.php:395 #, php-format msgid "Your account is temporarily blocked, please wait a minute." msgid_plural "Your account is temporarily blocked, please wait %d minutes." msgstr[0] "Your account is temporarily blocked, please wait a minute." msgstr[1] "Your account is temporarily blocked, please wait %d minutes." -#: classes/Gems/User/User.php:431 -#: classes/Gems/User/User.php:458 +#: classes/Gems/User/User.php:434 +#: classes/Gems/User/User.php:461 msgid "You are not allowed to login from this location." msgstr "You are not allowed to login from this location." -#: classes/Gems/User/User.php:1123 +#: classes/Gems/User/User.php:1140 msgid "Your birthday" msgstr "Your birthday" -#: classes/Gems/User/User.php:1139 +#: classes/Gems/User/User.php:1156 #: classes/Gems/User/Form/ChangePasswordForm.php:163 #, php-format msgid "%s is not correct." msgstr "%s is not correct." -#: classes/Gems/User/User.php:1221 +#: classes/Gems/User/User.php:1238 msgid "Trying to send a password reset to a user that cannot be reset." msgstr "Trying to send a password reset to a user that cannot be reset." -#: classes/Gems/User/User.php:1249 +#: classes/Gems/User/User.php:1266 msgid "Unable to send e-mail." msgstr "Unable to send e-mail." @@ -3997,7 +4014,7 @@ msgstr "Value is required and can't be empty" #: languages/FakeTranslations.php:41 -#: languages/FakeTranslations.php:81 +#: languages/FakeTranslations.php:82 msgid "Invalid type given, value should be string, integer or float" msgstr "Invalid type given, value should be string, integer or float" @@ -4015,72 +4032,76 @@ msgid "Date should be '%dateAfter%' or later." msgstr "Date should be '%dateAfter%' or later." -#: languages/FakeTranslations.php:53 +#: languages/FakeTranslations.php:51 +msgid "Should be empty if valid from date is not set." +msgstr "Should be empty if valid from date is not set." + +#: languages/FakeTranslations.php:54 #, php-format msgid "Date should be '%dateBefore%' or earlier." msgstr "Date should be '%dateBefore%' or earlier." -#: languages/FakeTranslations.php:56 +#: languages/FakeTranslations.php:57 msgid "%value% is not a valid date." msgstr "%value% is not a valid date." -#: languages/FakeTranslations.php:59 +#: languages/FakeTranslations.php:60 msgid "No record matching %value% was found." msgstr "No record matching %value% was found." -#: languages/FakeTranslations.php:60 +#: languages/FakeTranslations.php:61 msgid "A duplicate record matching '%value%' was found." msgstr "A duplicate record matching '%value%' was found." -#: languages/FakeTranslations.php:63 +#: languages/FakeTranslations.php:64 msgid "This is not a valid %testDescription%." msgstr "This is not a valid %testDescription%." -#: languages/FakeTranslations.php:64 +#: languages/FakeTranslations.php:65 msgid "A %testDescription% cannot contain letters." msgstr "A %testDescription% cannot contain letters." -#: languages/FakeTranslations.php:65 +#: languages/FakeTranslations.php:66 msgid "%value% is too long for a %testDescription%. Should be %length% digits." msgstr "%value% is too long for a %testDescription%. Should be %length% digits." -#: languages/FakeTranslations.php:66 +#: languages/FakeTranslations.php:67 msgid "%value% is too short for a %testDescription%. Should be %length% digits." msgstr "%value% is too short for a %testDescription%. Should be %length% digits." -#: languages/FakeTranslations.php:72 +#: languages/FakeTranslations.php:73 msgid "'%value%' is not a phone number (e.g. +12 (0)34-567 890)." msgstr "'%value%' is not a phone number (e.g. +12 (0)34-567 890)." -#: languages/FakeTranslations.php:75 +#: languages/FakeTranslations.php:76 msgid "Unsupported PDF version %value% - only versions 1.0 - 1.4 are supported." msgstr "Unsupported PDF version %value% - only versions 1.0 - 1.4 are supported." -#: languages/FakeTranslations.php:78 +#: languages/FakeTranslations.php:79 msgid "To set '%description%' you have to set '%fieldDescription%'." msgstr "To set '%description%' you have to set '%fieldDescription%'." -#: languages/FakeTranslations.php:82 +#: languages/FakeTranslations.php:83 msgid "'%value%' is not an email address (e.g. na...@so...)." msgstr "'%value%' is not an email address (e.g. na...@so...)." -#: languages/FakeTranslations.php:85 +#: languages/FakeTranslations.php:86 msgid "'%value%' is not a series of email addresses (e.g. na...@so..., no...@no...)." msgstr "'%value%' is not a series of email addresses (e.g. na...@so..., no...@no...)." -#: languages/FakeTranslations.php:88 +#: languages/FakeTranslations.php:89 msgid "'%value%' must contain only digits" msgstr "'%value%' must contain only digits" -#: languages/FakeTranslations.php:89 +#: languages/FakeTranslations.php:90 msgid "'%value%' is an empty string" msgstr "'%value%' is an empty string" -#: languages/FakeTranslations.php:90 +#: languages/FakeTranslations.php:91 msgid "Invalid type given. String, integer or float expected" msgstr "Invalid type given. String, integer or float expected" -#: languages/FakeTranslations.php:93 +#: languages/FakeTranslations.php:94 msgid "One or more IPs are illegal." msgstr "One or more IPs are illegal." @@ -4340,6 +4361,29 @@ msgstr[0] "After this survey there is one other survey we would like you to answer." msgstr[1] "After this survey there are another %d surveys we would like you to answer." +#~ msgid "Check all is answersed" +#~ msgstr "Check all is answersed" + +#~ msgid "This may take a while!" +#~ msgstr "This may take a while!" + +#~ msgid "Check all tracks" +#~ msgstr "Check all tracks" + +#~ msgid "" +#~ "Checking all tracks will update all existing rounds to the current " +#~ "surveys in the tracks instead of those in use when the track was created." +#~ msgstr "" +#~ "Checking all tracks will update all existing rounds to the current " +#~ "surveys in the tracks instead of those in use when the track was created." + +#~ msgid "" +#~ "Completed tracks will not be changed. No new tokens will be created when " +#~ "later tokens were completed." +#~ msgstr "" +#~ "Completed tracks will not be changed. No new tokens will be created when " +#~ "later tokens were completed." + #~ msgid "The Pulse software was made possible thanks to support from " #~ msgstr "The Pulse software was made possible thanks to support from " Modified: trunk/library/languages/default-nl.mo =================================================================== (Binary files differ) Modified: trunk/library/languages/default-nl.po =================================================================== --- trunk/library/languages/default-nl.po 2012-06-11 09:36:00 UTC (rev 751) +++ trunk/library/languages/default-nl.po 2012-06-11 12:55:54 UTC (rev 752) @@ -1,5099 +1,5129 @@ -msgid "" -msgstr "" -"Project-Id-Version: GemsTracker NL\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-06-11 11:34+0100\n" -"PO-Revision-Date: \n" -"Last-Translator: Michiel Rook <in...@to...>\n" -"Language-Team: Erasmus MGZ <mat...@ma...>\n" -"Language: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Poedit-Language: Dutch\n" -"X-Poedit-Country: NETHERLANDS\n" -"X-Poedit-SourceCharset: iso-8859-1\n" -"X-Poedit-Basepath: ../\n" -"X-Poedit-KeywordsList: plural:1,2\n" -"X-Poedit-SearchPath-0: .\n" - -#: classes/GemsEscort.php:214 -#, php-format -msgid "Path %s not writable" -msgstr "Path %s niet schrijfbaar" - -#: classes/GemsEscort.php:756 -#, php-format -msgid "You are logged in as %s" -msgstr "Ingelogd als %s" - -#: classes/GemsEscort.php:758 -msgid "Logoff" -msgstr "Uitloggen" - -#: classes/GemsEscort.php:761 -msgid "You are not logged in" -msgstr "U bent niet ingelogd" - -#: classes/GemsEscort.php:945 -#, php-format -msgid "User: %s" -msgstr "Login: %s" - -#: classes/GemsEscort.php:970 -msgid "version" -msgstr "versie" - -#: classes/GemsEscort.php:1412 -msgid "Take note: your session has expired, your inputs were not saved. Please check the input data and try again" -msgstr "Let op: uw sessie is verlopen, uw invoer is niet opgeslagen. Controleer uw gegevens en probeer a.u.b. opnieuw." - -#: classes/GemsEscort.php:1543 -msgid "Please check back later." -msgstr "Probeer het later opnieuw." - -#: classes/GemsEscort.php:1545 -#: classes/GemsEscort.php:1550 -msgid "System is in maintenance mode" -msgstr "Systeem is in onderhoudsmodus" - -#: classes/GemsEscort.php:1560 -msgid "No access to site." -msgstr "Geen toegang tot website." - -#: classes/GemsEscort.php:1562 -msgid "You have no access to this site." -msgstr "U heeft geen toegang tot deze website." - -#: classes/GemsEscort.php:1578 -msgid "No access to page" -msgstr "Geen toegang tot pagina" - -#: classes/GemsEscort.php:1580 -#, php-format -msgid "Access to this page is not allowed for current role: %s." -msgstr "U heeft geen toegang tot deze pagina. Uw huidige rol is: %s." - -#: classes/GemsEscort.php:1590 -msgid "You are no longer logged in." -msgstr "U bent niet meer ingelogd." - -#: classes/GemsEscort.php:1591 -msgid "You must login to access this page." -msgstr "U moet ingelogd zijn voor toegang tot deze pagina." - -#: classes/GemsEscort.php:1732 -#, php-format -msgid "%d survey" -msgid_plural "%d surveys" -msgstr[0] "%d vragenlijst" -msgstr[1] "%d vragenlijsten" - -#: classes/Gems/Pdf.php:198 -#, php-format -msgid "PDF Source File '%s' not found!" -msgstr "PDF bron bestand %s niet gevonden!" - -#: classes/Gems/Pdf.php:240 -#, php-format -msgid "Could not create '%s' directory." -msgstr "Kon de directory '%s' niet aanmaken." - -#: classes/Gems/Pdf.php:283 -#, php-format -msgid " The error message is: %s" -msgstr "De foutmelding is: %s" - -#: classes/Gems/Upgrades.php:79 -msgid "Syncing surveys for all sources" -msgstr "Vragenlijsten synchroniseren voor alle bronnen." - -#: classes/Gems/AccessLog.php:236 -msgid "Database needs to be updated!" -msgstr "Database dient ververst te worden!" - -#: classes/Gems/Html.php:155 -msgid "<< First" -msgstr "<< Eerste" - -#: classes/Gems/Html.php:156 -msgid "< Previous" -msgstr "< Terug" - -#: classes/Gems/Html.php:157 -msgid "Next >" -msgstr "Verder >" - -#: classes/Gems/Html.php:158 -msgid "Last >>" -msgstr "Laatste >>" - -#: classes/Gems/Html.php:159 -msgid " | " -msgstr " | " - -#: classes/Gems/Html.php:163 -msgid "to" -msgstr "tot" - -#: classes/Gems/Html.php:164 -msgid "of" -msgstr "van" - -#: classes/Gems/Menu.php:140 -#, php-format -msgid "About %s" -msgstr "Over %s" - -#: classes/Gems/Menu.php:144 -msgid "Reporting bugs" -msgstr "Meld een bug" - -#: classes/Gems/Menu.php:147 -msgid "Support" -msgstr "Ondersteuning" - -#: classes/Gems/Menu.php:167 -msgid "Project setup" -msgstr "Projectinfo" - -#: classes/Gems/Menu.php:170 -msgid "Database" -msgstr "Database" - -#: classes/Gems/Menu.php:174 -msgid "Content" -msgstr "Inhoud" - -#: classes/Gems/Menu.php:177 -msgid "Execute" -msgstr "Uitvoeren" - -#: classes/Gems/Menu.php:182 -msgid "Patches" -msgstr "Patches" - -#: classes/Gems/Menu.php:183 -msgid "Execute new" -msgstr "Nieuwe aanmaken" - -#: classes/Gems/Menu.php:185 -msgid "Refresh translateables" -msgstr "Ververs vertaalbaren" - -#: classes/Gems/Menu.php:187 -msgid "Run SQL" -msgstr "SQL uitvoeren" - -#: classes/Gems/Menu.php:190 -msgid "Reception codes" -msgstr "Ontvangst codes" - -#: classes/Gems/Menu.php:193 -msgid "Consents" -msgstr "Toestemmingen" - -#: classes/Gems/Menu.php:196 -msgid "Roles" -msgstr "Rollen" - -#: classes/Gems/Menu.php:197 -msgid "Assigned" -msgstr "Toegewezen" - -#: classes/Gems/Menu.php:198 -msgid "Privileges" -msgstr "Priviléges" - -#: classes/Gems/Menu.php:201 -msgid "Groups" -msgstr "Groepen" - -#: classes/Gems/Menu.php:204 -msgid "Organizations" -msgstr "Organisaties" - -#: classes/Gems/Menu.php:207 -msgid "Staff" -msgstr "Medewerkers" - -#: classes/Gems/Menu.php:210 -msgid "Logging" -msgstr "Logboek" - -#: classes/Gems/Menu.php:214 -msgid "Maintenance" -msgstr "Onderhoud" - -#: classes/Gems/Menu.php:219 -msgid "Upgrade" -msgstr "Upgrade" - -#: classes/Gems/Menu.php:220 -msgid "Show" -msgstr "Toon" - -#: classes/Gems/Menu.php:221 -msgid "Execute all" -msgstr "Alles uitvoeren" - -#: classes/Gems/Menu.php:222 -msgid "Execute this" -msgstr "Dit uitvoeren" - -#: classes/Gems/Menu.php:223 -msgid "Execute from here" -msgstr "Uitvoeren vanaf hier" - -#: classes/Gems/Menu.php:224 -msgid "Execute to here" -msgstr "Uitvoeren tot hier" - -#: classes/Gems/Menu.php:236 -#, php-format -msgid "Stand-alone privilige: %s" -msgstr "Zelfstandig privilege: %s" - -#: classes/Gems/Menu.php:243 -msgid "Logon" -msgstr "Login" - -#: classes/Gems/Menu.php:244 -msgid "Lost password" -msgstr "Wachtwoord vergeten" - -#: classes/Gems/Menu.php:245 -msgid "Your account" -msgstr "Uw account" - -#: classes/Gems/Menu.php:246 -msgid "Activity overview" -msgstr "Activiteiten overzicht" - -#: classes/Gems/Menu.php:247 -msgid "Change password" -msgstr "Uw wachtwoord" - -#: classes/Gems/Menu.php:248 -#: classes/Gems/Menu.php:324 -msgid "Token" -msgstr "Kenmerk" - -#: classes/Gems/Menu.php:280 -msgid "Export" -msgstr "Exporteer" - -#: classes/Gems/Menu.php:285 -msgid "Track" -msgstr "Traject" - -#: classes/Gems/Menu.php:292 -#: classes/Gems/Menu.php:343 -msgid "Add" -msgstr "Voeg toe" - -#: classes/Gems/Menu.php:296 -msgid "Preview" -msgstr "Preview" - -#: classes/Gems/Menu.php:303 -msgid "Tracks" -msgstr "Trajecten" - -#: classes/Gems/Menu.php:316 -msgid "Assignments" -msgstr "Toewijzingen" - -#: classes/Gems/Menu.php:328 -msgid "Edit" -msgstr "Wijzig" - -#: classes/Gems/Menu.php:332 -msgid "Delete" -msgstr "Verwijder" - -#: classes/Gems/Menu.php:337 -msgid "Surveys" -msgstr "Vragenlijsten" - -#: classes/Gems/Menu.php:369 -msgid "Fill in" -msgstr "Vul in" - -#: classes/Gems/Menu.php:372 -msgid "Print PDF" -msgstr "Print PDF" - -#: classes/Gems/Menu.php:375 -msgid "E-Mail now!" -msgstr "Email nu!" - -#: classes/Gems/Menu.php:381 -msgid "Answers" -msgstr "Antwoorden" - -#: classes/Gems/Menu.php:531 -msgid "Respondents" -msgstr "Patiënten" - -#: classes/Gems/Menu.php:539 -msgid "Overview" -msgstr "Overzicht" - -#: classes/Gems/Menu.php:546 -msgid "Project" -msgstr "Project" - -#: classes/Gems/Menu.php:549 -msgid "Setup" -msgstr "Beheer" - -#: classes/Gems/Menu.php:552 -msgid "Mail" -msgstr "Email" - -#: classes/Gems/Menu.php:555 -msgid "Track Builder" -msgstr "Traject bouwer" - -#: classes/Gems/Menu.php:561 -msgid "Export respondent" -msgstr "Exporteer patiënt" - -#: classes/Gems/Menu.php:567 -msgid "Contact" -msgstr "Contact" - -#: classes/Gems/Menu.php:580 -msgid "Changelog" -msgstr "Changelog" - -#: classes/Gems/Model.php:230 -msgid "Respondent nr" -msgstr "Patiënt nr" - -#: classes/Gems/Model.php:231 -msgid "Opened" -msgstr "Bekeken op" - -#: classes/Gems/Model.php:232 -msgid "Consent" -msgstr "Toestemming" - -#: classes/Gems/Model.php:234 -msgid "E-Mail" -msgstr "Email" - -#: classes/Gems/Model.php:239 -msgid "Gender" -msgstr "Geslacht" - -#: classes/Gems/Model.php:240 -msgid "First name" -msgstr "Voornaam" - -#: classes/Gems/Model.php:241 -msgid "Surname prefix" -msgstr "Tussenvoegsel" - -#: classes/Gems/Model.php:242 -msgid "Last name" -msgstr "Achternaam" - -#: classes/Gems/Model.php:244 -msgid "Name" -msgstr "Naam" - -#: classes/Gems/Model.php:247 -msgid "Street" -msgstr "Straat" - -#: classes/Gems/Model.php:248 -msgid "Zipcode" -msgstr "Postcode" - -#: classes/Gems/Model.php:249 -msgid "City" -msgstr "Woonplaats" - -#: classes/Gems/Model.php:251 -msgid "Phone" -msgstr "Telefoon" - -#: classes/Gems/Model.php:253 -msgid "Birthday" -msgstr "Geboren op" - -#: classes/Gems/UpgradesAbstract.php:154 -msgid "Already at max. level." -msgstr "Al op het hoogste niveau." - -#: classes/Gems/UpgradesAbstract.php:161 -#, php-format -msgid "Trying upgrade for %s from level %s to level %s" -msgstr "Probeert upgrade voor %s van niveau %s naar niveau %s uit te voeren" - -#: classes/Gems/UpgradesAbstract.php:169 -#, php-format -msgid "Trying upgrade for %s to level %s: %s" -msgstr "Probeert upgrade voor %s naar niveau %s: %s" - -#: classes/Gems/Model/DbaModel.php:97 -msgid "created" -msgstr "bestaat" - -#: classes/Gems/Model/DbaModel.php:98 -msgid "not created" -msgstr "niet aanwezig" - -#: classes/Gems/Model/DbaModel.php:99 -msgid "unknown" -msgstr "onbekend" - -#: classes/Gems/Model/DbaModel.php:420 -#, php-format -msgid "Executed %2$s creation script %1$s:" -msgstr "Uitvoerresultaat %2$s script %1$s:" - -#: classes/Gems/Model/DbaModel.php:430 -#, php-format -msgid "%d record(s) returned as result set %d in step %d of %d." -msgstr "%d rij(en) in resultaat %d in stap %d van %d." - -#: classes/Gems/Model/DbaModel.php:434 -#, php-format -msgid "%d record(s) updated in step %d of %d." -msgstr "In stap %2$d van %3$d zijn %1$d rij(en) aangepast." - -#: classes/Gems/Model/DbaModel.php:437 -#, php-format -msgid "Script ran step %d of %d succesfully." -msgstr "Stap %d van %d in het script met succes uitgevoerd." - -#: classes/Gems/Model/DbaModel.php:440 -msgid " in step " -msgstr " in stap " - -#: classes/Gems/Model/DbaModel.php:445 -#, php-format -msgid "No script for %1$s." -msgstr "Geen script voor %1$s:" - -#: classes/Gems/Export/Spss.php:59 -msgid "Which file" -msgstr "Kies bestand" - -#: classes/Gems/Export/Spss.php:60 -msgid "syntax" -msgstr "syntax" - -#: classes/Gems/Export/Spss.php:61 -msgid "data" -msgstr "data" - -#: classes/Gems/Export/Spss.php:66 -msgid "Some help for this export" -msgstr "Uitleg over deze export mogelijkheid" - -#: classes/Gems/Export/Excel.php:60 -msgid "Excel options" -msgstr "Excel opties" - -#: classes/Gems/Export/Excel.php:62 -msgid "Export questions instead of variable names" -msgstr "Exporteer vragen in plaats van variabele namen" - -#: classes/Gems/Export/Excel.php:63 -msgid "Format answers" -msgstr "Antwoorden opmaken" - -#: classes/Gems/Util/Translated.php:81 -msgid "-" -msgstr "n.v.t." - -#: classes/Gems/Util/Translated.php:96 -msgid "forever" -msgstr "altijd" - -#: classes/Gems/Util/Translated.php:105 -msgid "n/a" -msgstr "n.v.t." - -#: classes/Gems/Util/Translated.php:114 -msgid "never" -msgstr "nooit" - -#: classes/Gems/Util/Translated.php:139 -msgid "2 days ago" -msgstr "Eergisteren" - -#: classes/Gems/Util/Translated.php:142 -msgid "Yesterday" -msgstr "Gisteren" - -#: classes/Gems/Util/Translated.php:145 -msgid "Today" -msgstr "Vandaag" - -#: classes/Gems/Util/Translated.php:148 -msgid "Tomorrow" -msgstr "Morgen" - -#: classes/Gems/Util/Translated.php:151 -msgid "Over 2 days" -msgstr "Overmorgen" - -#: classes/Gems/Util/Translated.php:156 -#, php-format -msgid "Over %d days" -msgstr "Over %d dagen" - -#: classes/Gems/Util/Translated.php:158 -#, php-format -msgid "%d days ago" -msgstr "%d dagen terug" - -#: classes/Gems/Util/Translated.php:177 -msgid "Send multiple mails per respondent, one for each checked token." -msgstr "Verstuur meerdere emails per patiënt, één per gekozen kenmerk." - -#: classes/Gems/Util/Translated.php:178 -msgid "Send one mail per respondent, mark all checked tokens as send." -msgstr "Verstuur één email per patiënt, zet alle gekozen kenmerken op verzonden." - -#: classes/Gems/Util/Translated.php:179 -msgid "Send one mail per respondent, mark only mailed tokens as send." -msgstr "Verstuur één email per patiënt, zet alleen de verzonden kenmerken op verzonden." - -#: classes/Gems/Util/Translated.php:204 -msgid "Male" -msgstr "Man" - -#: classes/Gems/Util/Translated.php:204 -msgid "Female" -msgstr "Vrouw... [truncated message content] |
From: <gem...@li...> - 2012-06-11 09:36:11
|
Revision: 751 http://gemstracker.svn.sourceforge.net/gemstracker/?rev=751&view=rev Author: michieltcs Date: 2012-06-11 09:36:00 +0000 (Mon, 11 Jun 2012) Log Message: ----------- Instead of silently accepting, present an error if valid until is set but valid from isn't Modified Paths: -------------- trunk/library/classes/MUtil/Validate/Date/DateAfter.php trunk/library/languages/FakeTranslations.php trunk/library/languages/default-nl.mo trunk/library/languages/default-nl.po Modified: trunk/library/classes/MUtil/Validate/Date/DateAfter.php =================================================================== --- trunk/library/classes/MUtil/Validate/Date/DateAfter.php 2012-06-11 09:34:33 UTC (rev 750) +++ trunk/library/classes/MUtil/Validate/Date/DateAfter.php 2012-06-11 09:36:00 UTC (rev 751) @@ -49,12 +49,14 @@ * Error constants */ const NOT_AFTER = 'notAfter'; + const NO_VALIDFROM = 'noValidFrom'; /** * @var array Message templates */ protected $_messageTemplates = array( self::NOT_AFTER => "Date should be '%dateAfter%' or later.", + self::NO_VALIDFROM => "Should be empty if valid from date is not set." ); /** @@ -93,11 +95,12 @@ if ($this->_afterDate instanceof Zend_Date) { $after = $this->_afterDate; } elseif (isset($context[$this->_afterDate])) { - if (!empty($context[$this->_afterDate])) { - $after = new Zend_Date($context[$this->_afterDate], $this->getDateFormat()); - } else { - $after = new Zend_Date(); + if (empty($context[$this->_afterDate])) { + $this->_error(self::NO_VALIDFROM); + return false; } + + $after = new Zend_Date($context[$this->_afterDate], $this->getDateFormat()); } else { $after = new Zend_Date($this->_afterDate); } Modified: trunk/library/languages/FakeTranslations.php =================================================================== --- trunk/library/languages/FakeTranslations.php 2012-06-11 09:34:33 UTC (rev 750) +++ trunk/library/languages/FakeTranslations.php 2012-06-11 09:36:00 UTC (rev 751) @@ -48,6 +48,7 @@ // MUtil_Validate_Date_DateAfter _("Date should be '%dateAfter%' or later."); +_("Should be empty if valid from date is not set."); // MUtil_Validate_Date_DateBefore _("Date should be '%dateBefore%' or earlier."); Modified: trunk/library/languages/default-nl.mo =================================================================== (Binary files differ) Modified: trunk/library/languages/default-nl.po =================================================================== --- trunk/library/languages/default-nl.po 2012-06-11 09:34:33 UTC (rev 750) +++ trunk/library/languages/default-nl.po 2012-06-11 09:36:00 UTC (rev 751) @@ -2,7 +2,7 @@ msgstr "" "Project-Id-Version: GemsTracker NL\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-06-11 11:32+0100\n" +"POT-Creation-Date: 2012-06-11 11:34+0100\n" "PO-Revision-Date: \n" "Last-Translator: Michiel Rook <in...@to...>\n" "Language-Team: Erasmus MGZ <mat...@ma...>\n" @@ -4014,72 +4014,76 @@ msgid "Date should be '%dateAfter%' or later." msgstr "Datum moet later vallen dan '%dateAfter%' of er gelijk aan zijn." -#: languages/FakeTranslations.php:53 +#: languages/FakeTranslations.php:51 +msgid "Should be empty if valid from date is not set." +msgstr "Moet leeg zijn als 'afname op' niet is ingevuld." + +#: languages/FakeTranslations.php:54 #, php-format msgid "Date should be '%dateBefore%' or earlier." msgstr "Datum moet vallen voor '%dateBefore%' of er gelijk aan zijn." -#: languages/FakeTranslations.php:56 +#: languages/FakeTranslations.php:57 msgid "%value% is not a valid date." msgstr "%value% is geen geldige datum." -#: languages/FakeTranslations.php:59 +#: languages/FakeTranslations.php:60 msgid "No record matching %value% was found." msgstr "Geen gegevens gevonden die overeenkomen met %value%." -#: languages/FakeTranslations.php:60 +#: languages/FakeTranslations.php:61 msgid "A duplicate record matching '%value%' was found." msgstr "De waarde '%value%' is al in gebruik." -#: languages/FakeTranslations.php:63 +#: languages/FakeTranslations.php:64 msgid "This is not a valid %testDescription%." msgstr "%testDescription% is niet geldig." -#: languages/FakeTranslations.php:64 +#: languages/FakeTranslations.php:65 msgid "A %testDescription% cannot contain letters." msgstr "Een %testDescription% mag geen letters bevatten." -#: languages/FakeTranslations.php:65 +#: languages/FakeTranslations.php:66 msgid "%value% is too long for a %testDescription%. Should be %length% digits." msgstr "%value% is te lang voor een %testDescription%. Die moet %length% cijfers lang zijn." -#: languages/FakeTranslations.php:66 +#: languages/FakeTranslations.php:67 msgid "%value% is too short for a %testDescription%. Should be %length% digits." msgstr "%value% is te kort voor een %testDescription%. Die moet %length% cijfers lang zijn." -#: languages/FakeTranslations.php:72 +#: languages/FakeTranslations.php:73 msgid "'%value%' is not a phone number (e.g. +12 (0)34-567 890)." msgstr "'%value%' is geen telefoonnummer (zoals: +12 (0)34-567 890)." -#: languages/FakeTranslations.php:75 +#: languages/FakeTranslations.php:76 msgid "Unsupported PDF version %value% - only versions 1.0 - 1.4 are supported." msgstr "Deze PDF heeft een versie (%value%) die niet ondersteund wordt, slechts versies 1.0-1.4 worden ondersteund." -#: languages/FakeTranslations.php:78 +#: languages/FakeTranslations.php:79 msgid "To set '%description%' you have to set '%fieldDescription%'." msgstr " '%fieldDescription%' moet ingevoerd worden om '%description%' te kunnen kiezen." -#: languages/FakeTranslations.php:82 +#: languages/FakeTranslations.php:83 msgid "'%value%' is not an email address (e.g. na...@so...)." msgstr "'%value%' is niet een email address (zoals na...@er...)." -#: languages/FakeTranslations.php:85 +#: languages/FakeTranslations.php:86 msgid "'%value%' is not a series of email addresses (e.g. na...@so..., no...@no...)." msgstr "'%value%' is niet een verzameling email adressen (zoals na...@er..., ni...@ne...)." -#: languages/FakeTranslations.php:88 +#: languages/FakeTranslations.php:89 msgid "'%value%' must contain only digits" msgstr "'%value%' mag alleen cijfers bevatten" -#: languages/FakeTranslations.php:89 +#: languages/FakeTranslations.php:90 msgid "'%value%' is an empty string" msgstr "'%value%' is leeg" -#: languages/FakeTranslations.php:90 +#: languages/FakeTranslations.php:91 msgid "Invalid type given. String, integer or float expected" msgstr "Ongeldige invoer, geef een tekst of een nummer op" -#: languages/FakeTranslations.php:93 +#: languages/FakeTranslations.php:94 msgid "One or more IPs are illegal." msgstr "Een of meer IP adressen zijn incorrect." This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gem...@li...> - 2012-06-11 09:34:44
|
Revision: 750 http://gemstracker.svn.sourceforge.net/gemstracker/?rev=750&view=rev Author: michieltcs Date: 2012-06-11 09:34:33 +0000 (Mon, 11 Jun 2012) Log Message: ----------- Update translations Modified Paths: -------------- trunk/library/languages/default-nl.mo trunk/library/languages/default-nl.po Modified: trunk/library/languages/default-nl.mo =================================================================== (Binary files differ) Modified: trunk/library/languages/default-nl.po =================================================================== --- trunk/library/languages/default-nl.po 2012-06-08 15:21:47 UTC (rev 749) +++ trunk/library/languages/default-nl.po 2012-06-11 09:34:33 UTC (rev 750) @@ -2,7 +2,7 @@ msgstr "" "Project-Id-Version: GemsTracker NL\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-06-01 14:45+0100\n" +"POT-Creation-Date: 2012-06-11 11:32+0100\n" "PO-Revision-Date: \n" "Last-Translator: Michiel Rook <in...@to...>\n" "Language-Team: Erasmus MGZ <mat...@ma...>\n" @@ -105,7 +105,7 @@ msgid " The error message is: %s" msgstr "De foutmelding is: %s" -#: classes/Gems/Upgrades.php:77 +#: classes/Gems/Upgrades.php:79 msgid "Syncing surveys for all sources" msgstr "Vragenlijsten synchroniseren voor alle bronnen." @@ -113,31 +113,31 @@ msgid "Database needs to be updated!" msgstr "Database dient ververst te worden!" -#: classes/Gems/Html.php:154 +#: classes/Gems/Html.php:155 msgid "<< First" msgstr "<< Eerste" -#: classes/Gems/Html.php:155 +#: classes/Gems/Html.php:156 msgid "< Previous" msgstr "< Terug" -#: classes/Gems/Html.php:156 +#: classes/Gems/Html.php:157 msgid "Next >" msgstr "Verder >" -#: classes/Gems/Html.php:157 +#: classes/Gems/Html.php:158 msgid "Last >>" msgstr "Laatste >>" -#: classes/Gems/Html.php:158 +#: classes/Gems/Html.php:159 msgid " | " msgstr " | " -#: classes/Gems/Html.php:162 +#: classes/Gems/Html.php:163 msgid "to" msgstr "tot" -#: classes/Gems/Html.php:163 +#: classes/Gems/Html.php:164 msgid "of" msgstr "van" @@ -641,7 +641,7 @@ msgstr "Annuleren" #: classes/Gems/Controller/ModelSnippetActionAbstract.php:228 -#: classes/Gems/Controller/BrowseEditAction.php:354 +#: classes/Gems/Controller/BrowseEditAction.php:355 #, php-format msgid "New %s..." msgstr "Nieuwe %s..." @@ -652,13 +652,13 @@ msgstr "Weet u zeker dat deze %s verwijderd moet worden?" #: classes/Gems/Controller/ModelSnippetActionAbstract.php:248 -#: classes/Gems/Controller/BrowseEditAction.php:387 +#: classes/Gems/Controller/BrowseEditAction.php:388 #, php-format msgid "Delete %s" msgstr "Verwijder %s" #: classes/Gems/Controller/ModelSnippetActionAbstract.php:258 -#: classes/Gems/Controller/BrowseEditAction.php:410 +#: classes/Gems/Controller/BrowseEditAction.php:411 #, php-format msgid "Edit %s" msgstr "Bewerk %s" @@ -683,71 +683,71 @@ msgstr[0] "item" msgstr[1] "items" -#: classes/Gems/Controller/BrowseEditAction.php:391 +#: classes/Gems/Controller/BrowseEditAction.php:392 #, php-format msgid "%2$u %1$s deleted" msgstr "%2$u %1$s verwijderd" -#: classes/Gems/Controller/BrowseEditAction.php:408 +#: classes/Gems/Controller/BrowseEditAction.php:409 #, php-format msgid "Edit %s %s" msgstr "Bewerk %s %s" -#: classes/Gems/Controller/BrowseEditAction.php:508 +#: classes/Gems/Controller/BrowseEditAction.php:509 msgid "Free search text" msgstr "Vrije zoek tekst" -#: classes/Gems/Controller/BrowseEditAction.php:579 +#: classes/Gems/Controller/BrowseEditAction.php:580 msgid "Search" msgstr "Zoeken" -#: classes/Gems/Controller/BrowseEditAction.php:595 +#: classes/Gems/Controller/BrowseEditAction.php:596 #, php-format msgid "No %s found" msgstr "Geen %s gevonden" -#: classes/Gems/Controller/BrowseEditAction.php:679 +#: classes/Gems/Controller/BrowseEditAction.php:680 #, php-format msgid "No %s found." msgstr "Geen %s gevonden." -#: classes/Gems/Controller/BrowseEditAction.php:797 +#: classes/Gems/Controller/BrowseEditAction.php:798 msgid "Are you sure?" msgstr "Weet u het zeker?" -#: classes/Gems/Controller/BrowseEditAction.php:867 +#: classes/Gems/Controller/BrowseEditAction.php:868 #, php-format msgid "Unknown %s requested" msgstr "Onjuist %s verzoek" -#: classes/Gems/Controller/BrowseEditAction.php:890 +#: classes/Gems/Controller/BrowseEditAction.php:891 #, php-format msgid "New %1$s..." msgstr "Nieuwe %1$s..." -#: classes/Gems/Controller/BrowseEditAction.php:898 +#: classes/Gems/Controller/BrowseEditAction.php:899 msgid "Save" msgstr "Opslaan" -#: classes/Gems/Controller/BrowseEditAction.php:934 +#: classes/Gems/Controller/BrowseEditAction.php:935 #, php-format msgid "%2$u %1$s saved" msgstr "%2$u %1$s opgeslagen" -#: classes/Gems/Controller/BrowseEditAction.php:937 +#: classes/Gems/Controller/BrowseEditAction.php:938 msgid "No changes to save." msgstr "Geen verandering om op te slaan." -#: classes/Gems/Controller/BrowseEditAction.php:946 +#: classes/Gems/Controller/BrowseEditAction.php:947 msgid "Input error! No changes saved!" msgstr "Invoer fout! Veranderingen niet opgeslagen!" -#: classes/Gems/Controller/BrowseEditAction.php:974 +#: classes/Gems/Controller/BrowseEditAction.php:975 #, php-format msgid "Show %s" msgstr "Toon %s" -#: classes/Gems/Controller/BrowseEditAction.php:981 +#: classes/Gems/Controller/BrowseEditAction.php:982 #, php-format msgid "Unknown %s." msgstr "%s is onbekend." @@ -1079,41 +1079,41 @@ msgid "Previous Survey" msgstr "Eerdere vragenlijst" -#: classes/Gems/Tracker/Engine/TrackEngineAbstract.php:445 +#: classes/Gems/Tracker/Engine/TrackEngineAbstract.php:438 #, php-format msgid "%s track engines cannot be converted to %s track engines." msgstr "Traject type %s kan niet geconverteerd worden naar %s." -#: classes/Gems/Tracker/Engine/TrackEngineAbstract.php:688 +#: classes/Gems/Tracker/Engine/TrackEngineAbstract.php:681 #, php-format msgid "%d: %s - %s" msgstr "%d: %s - %s" -#: classes/Gems/Tracker/Engine/TrackEngineAbstract.php:691 -#: classes/Gems/Tracker/Engine/TrackEngineAbstract.php:694 +#: classes/Gems/Tracker/Engine/TrackEngineAbstract.php:684 +#: classes/Gems/Tracker/Engine/TrackEngineAbstract.php:687 #, php-format msgid "%d: %s" msgstr "%d: %s" -#: classes/Gems/Tracker/Engine/TrackEngineAbstract.php:697 +#: classes/Gems/Tracker/Engine/TrackEngineAbstract.php:690 #, php-format msgid "%s - %s" msgstr "%s - %s" -#: classes/Gems/Tracker/Engine/TrackEngineAbstract.php:737 +#: classes/Gems/Tracker/Engine/TrackEngineAbstract.php:730 msgid "Icon" msgstr "Icoon" -#: classes/Gems/Tracker/Engine/TrackEngineAbstract.php:738 +#: classes/Gems/Tracker/Engine/TrackEngineAbstract.php:731 msgid "Order" msgstr "Volgorde" -#: classes/Gems/Tracker/Engine/TrackEngineAbstract.php:739 +#: classes/Gems/Tracker/Engine/TrackEngineAbstract.php:732 #: classes/Gems/Tracker/Model/StandardTokenModel.php:233 msgid "Description" msgstr "Omschrijving" -#: classes/Gems/Tracker/Engine/TrackEngineAbstract.php:740 +#: classes/Gems/Tracker/Engine/TrackEngineAbstract.php:733 msgid "After change" msgstr "Ronde veranderingscode" @@ -1821,35 +1821,35 @@ msgid "Radius storage" msgstr "Radius authenticatie" -#: classes/Gems/User/User.php:392 +#: classes/Gems/User/User.php:395 #, php-format msgid "Your account is temporarily blocked, please wait a minute." msgid_plural "Your account is temporarily blocked, please wait %d minutes." msgstr[0] "Uw account is tijdelijk geblokkeerd. U kunt over een minuut opnieuw inloggen." msgstr[1] "Uw account is tijdelijk geblokkeerd. U kunt over %d minuten opnieuw inloggen." -#: classes/Gems/User/User.php:431 +#: classes/Gems/User/User.php:434 msgid "You are not allowed to login from this location." msgstr "U kunt vanaf deze locatie niet inloggen." -#: classes/Gems/User/User.php:1123 +#: classes/Gems/User/User.php:1140 msgid "Your birthday" msgstr "Uw geboortedatum" -#: classes/Gems/User/User.php:1139 +#: classes/Gems/User/User.php:1156 #, php-format msgid "%s is not correct." msgstr "%s is onjuist." -#: classes/Gems/User/User.php:1144 +#: classes/Gems/User/User.php:1161 msgid "Username" msgstr "Gebruikersnaam" -#: classes/Gems/User/User.php:1221 +#: classes/Gems/User/User.php:1238 msgid "Trying to send a password reset to a user that cannot be reset." msgstr "Het wachtwoord voor deze gebruiker kan niet gewijzigd worden." -#: classes/Gems/User/User.php:1249 +#: classes/Gems/User/User.php:1266 msgid "Unable to send e-mail." msgstr "Verzenden email mislukt." @@ -2124,50 +2124,51 @@ msgid "Group surveys" msgstr "Groepeer vragenlijsten" -#: classes/Gems/Default/RespondentExportAction.php:93 +#: classes/Gems/Default/RespondentExportAction.php:89 msgid "Output format" msgstr "Uitvoerformaat" -#: classes/Gems/Default/RespondentExportAction.php:130 +#: classes/Gems/Default/RespondentExportAction.php:131 #, php-format msgid "Unable to run PDF conversion: \"%s\"" msgstr "Kan PDF conversie niet starten: \"%s\"" -#: classes/Gems/Default/RespondentExportAction.php:162 +#: classes/Gems/Default/RespondentExportAction.php:180 msgid "Open" msgstr "Open" -#: classes/Gems/Default/RespondentExportAction.php:173 +#: classes/Gems/Default/RespondentExportAction.php:191 +#: classes/Gems/Default/RespondentExportAction.php:193 msgid "Future" msgstr "Toekomstig" -#: classes/Gems/Default/RespondentExportAction.php:238 +#: classes/Gems/Default/RespondentExportAction.php:258 msgid "Track information" msgstr "Traject informatie" -#: classes/Gems/Default/RespondentExportAction.php:276 +#: classes/Gems/Default/RespondentExportAction.php:296 #, php-format msgid "Unknown respondent %s" msgstr "Onbekende patiënt %s" -#: classes/Gems/Default/RespondentExportAction.php:282 -#: classes/Gems/Default/RespondentExportAction.php:290 +#: classes/Gems/Default/RespondentExportAction.php:302 +#: classes/Gems/Default/RespondentExportAction.php:310 msgid "Respondent information" msgstr "Patiënt informatie" -#: classes/Gems/Default/RespondentExportAction.php:310 +#: classes/Gems/Default/RespondentExportAction.php:330 msgid "Respondent report" msgstr "Patiënt rapportage" -#: classes/Gems/Default/RespondentExportAction.php:314 +#: classes/Gems/Default/RespondentExportAction.php:334 msgid "Report information" msgstr "Informatie over rapportage" -#: classes/Gems/Default/RespondentExportAction.php:315 +#: classes/Gems/Default/RespondentExportAction.php:335 msgid "Generated by" msgstr "Aangemaakt door" -#: classes/Gems/Default/RespondentExportAction.php:317 +#: classes/Gems/Default/RespondentExportAction.php:337 msgid "Generated on" msgstr "Aangemaakt op" @@ -2667,6 +2668,8 @@ msgstr "Vragenlijsten" #: classes/Gems/Default/ProjectTracksAction.php:68 +#: classes/Gems/Default/ProjectSurveysAction.php:70 +#: classes/Gems/Default/SurveyAction.php:197 msgid "Until" msgstr "Tot" @@ -2680,6 +2683,7 @@ msgstr "Vragen in vragenlijsten %s" #: classes/Gems/Default/ProjectTracksAction.php:118 +#: classes/Gems/Default/SurveyAction.php:85 #, php-format msgid "Survey %s does not exist." msgstr "Vragenlijst %s bestaat niet." @@ -2908,17 +2912,17 @@ msgstr "Code Naam" #: classes/Gems/Default/TrackFieldsAction.php:121 -#: classes/Gems/Default/TrackMaintenanceAction.php:224 +#: classes/Gems/Default/TrackMaintenanceAction.php:206 msgid "Values" msgstr "Waarden" #: classes/Gems/Default/TrackFieldsAction.php:122 -#: classes/Gems/Default/TrackMaintenanceAction.php:225 +#: classes/Gems/Default/TrackMaintenanceAction.php:207 msgid "Type" msgstr "Type" #: classes/Gems/Default/TrackFieldsAction.php:123 -#: classes/Gems/Default/TrackMaintenanceAction.php:226 +#: classes/Gems/Default/TrackMaintenanceAction.php:208 msgid "Required" msgstr "Verplicht" @@ -3074,31 +3078,24 @@ msgid "No mails sent." msgstr "Geen mail verzonden." -#: classes/Gems/Default/TrackMaintenanceAction.php:162 -msgid "This may take a while!" -msgstr "Dit kan even duren!" +#: classes/Gems/Default/TrackMaintenanceAction.php:158 +msgid "Checking round assignments for all tracks." +msgstr "Controleren van ronde toewijzingen voor alle trajecten." -#: classes/Gems/Default/TrackMaintenanceAction.php:163 -msgid "Check all tracks" -msgstr "Controleer alle trajecten" +#: classes/Gems/Default/TrackMaintenanceAction.php:171 +#, php-format +msgid "Checking round assignments for track '%s'." +msgstr "Controleren ronde toewijzing voor traject '%s'." -#: classes/Gems/Default/TrackMaintenanceAction.php:164 -msgid "Checking all tracks will update all existing rounds to the current surveys in the tracks instead of those in use when the track was created." -msgstr "Controleer alle trajecten zal alle rondes aanpassen naar de huidige vragenlijsten in plaats van degene die in gebruik waren toen het traject werd toegekend." - -#: classes/Gems/Default/TrackMaintenanceAction.php:165 -msgid "Completed tracks will not be changed. No new tokens will be created when later tokens were completed." -msgstr "Afgeronde trajecten zullen niet worden bijgewerkt. Er zullen geen nieuwe kenmerken aangemaakt worden als latere kenmerken al zijn ingevuld." - -#: classes/Gems/Default/TrackMaintenanceAction.php:279 +#: classes/Gems/Default/TrackMaintenanceAction.php:261 msgid "fields" msgstr "velden" -#: classes/Gems/Default/TrackMaintenanceAction.php:280 +#: classes/Gems/Default/TrackMaintenanceAction.php:262 msgid "rounds" msgstr "rondes" -#: classes/Gems/Default/TrackMaintenanceAction.php:306 +#: classes/Gems/Default/TrackMaintenanceAction.php:288 #, php-format msgid "%s in track" msgstr "%s in traject" @@ -3278,6 +3275,10 @@ msgstr[0] "organisatie" msgstr[1] "organisaties" +#: classes/Gems/Default/StaffAction.php:122 +msgid "reset" +msgstr "herstellen" + #: classes/Gems/Default/StaffAction.php:164 msgid "Unsupported User Definition" msgstr "Onbekende User Definition" @@ -3299,30 +3300,30 @@ msgid "User with id %s already exists but is deleted, do you want to reactivate the account?" msgstr "Gebruiker met inlognaam %s bestaat al maar is verwijderd, wilt u het account opnieuw activeren?" -#: classes/Gems/Default/StaffAction.php:324 +#: classes/Gems/Default/StaffAction.php:342 msgid "Primary function" msgstr "Primaire functie" -#: classes/Gems/Default/StaffAction.php:334 +#: classes/Gems/Default/StaffAction.php:352 msgid "Can login" msgstr "Kan inloggen" -#: classes/Gems/Default/StaffAction.php:335 +#: classes/Gems/Default/StaffAction.php:353 msgid "Logout on survey" msgstr "Logout bij beantwoorden vragenlijst" -#: classes/Gems/Default/StaffAction.php:410 +#: classes/Gems/Default/StaffAction.php:465 msgid "staff member" msgid_plural "staff members" msgstr[0] "medewerker" msgstr[1] "medewerkers" -#: classes/Gems/Default/StaffAction.php:442 +#: classes/Gems/Default/StaffAction.php:494 #, php-format msgid "Reset password for: %s" msgstr "Verander het wachtwoord voor: %s" -#: classes/Gems/Default/StaffAction.php:445 +#: classes/Gems/Default/StaffAction.php:497 msgid "You are not allowed to change this password." msgstr "U mag dit wachtwoord niet wijzigen." @@ -4237,13 +4238,11 @@ msgstr "Berekening traject opnieuw" #: snippets/Track/Token/ShowFirstOpenSnippet.php:111 -#: snippets/Track/Token/ShowAllOpenSnippet.php:89 #, php-format msgid "Welcome %s," msgstr "Welkom %s," #: snippets/Track/Token/ShowFirstOpenSnippet.php:114 -#: snippets/Track/Token/ShowAllOpenSnippet.php:94 #, php-format msgid "Thank you for answering the \"%s\" survey." msgstr "Dank u voor het invullen van de \"%s\" vragenlijst." @@ -4331,6 +4330,27 @@ msgid "Can access" msgstr "Toegang tot" +#~ msgid "This may take a while!" +#~ msgstr "Dit kan even duren!" + +#~ msgid "Check all tracks" +#~ msgstr "Controleer alle trajecten" + +#~ msgid "" +#~ "Checking all tracks will update all existing rounds to the current " +#~ "surveys in the tracks instead of those in use when the track was created." +#~ msgstr "" +#~ "Controleer alle trajecten zal alle rondes aanpassen naar de huidige " +#~ "vragenlijsten in plaats van degene die in gebruik waren toen het traject " +#~ "werd toegekend." + +#~ msgid "" +#~ "Completed tracks will not be changed. No new tokens will be created when " +#~ "later tokens were completed." +#~ msgstr "" +#~ "Afgeronde trajecten zullen niet worden bijgewerkt. Er zullen geen nieuwe " +#~ "kenmerken aangemaakt worden als latere kenmerken al zijn ingevuld." + #~ msgid "The Pulse software was made possible thanks to support from " #~ msgstr "De PULSE software is mede mogelijk gemaakt met steun van " This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gem...@li...> - 2012-06-08 15:21:53
|
Revision: 749 http://gemstracker.svn.sourceforge.net/gemstracker/?rev=749&view=rev Author: michieltcs Date: 2012-06-08 15:21:47 +0000 (Fri, 08 Jun 2012) Log Message: ----------- Consider tokens with empty valid from AND valid until as future tokens Modified Paths: -------------- trunk/library/classes/Gems/Default/RespondentExportAction.php Modified: trunk/library/classes/Gems/Default/RespondentExportAction.php =================================================================== --- trunk/library/classes/Gems/Default/RespondentExportAction.php 2012-06-08 15:16:57 UTC (rev 748) +++ trunk/library/classes/Gems/Default/RespondentExportAction.php 2012-06-08 15:21:47 UTC (rev 749) @@ -189,6 +189,8 @@ $status = $this->_('Missed'); } else if (!empty($validFrom) && $validFrom->isLater($today)) { $status = $this->_('Future'); + } else if (empty($validFrom) && empty($validUntil)) { + $status = $this->_('Future'); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gem...@li...> - 2012-06-08 15:17:06
|
Revision: 748 http://gemstracker.svn.sourceforge.net/gemstracker/?rev=748&view=rev Author: michieltcs Date: 2012-06-08 15:16:57 +0000 (Fri, 08 Jun 2012) Log Message: ----------- Fix a bug with empty valid from and future valid to Modified Paths: -------------- trunk/library/classes/MUtil/Validate/Date/DateAfter.php Modified: trunk/library/classes/MUtil/Validate/Date/DateAfter.php =================================================================== --- trunk/library/classes/MUtil/Validate/Date/DateAfter.php 2012-06-07 15:54:06 UTC (rev 747) +++ trunk/library/classes/MUtil/Validate/Date/DateAfter.php 2012-06-08 15:16:57 UTC (rev 748) @@ -93,7 +93,11 @@ if ($this->_afterDate instanceof Zend_Date) { $after = $this->_afterDate; } elseif (isset($context[$this->_afterDate])) { - $after = new Zend_Date($context[$this->_afterDate], $this->getDateFormat()); + if (!empty($context[$this->_afterDate])) { + $after = new Zend_Date($context[$this->_afterDate], $this->getDateFormat()); + } else { + $after = new Zend_Date(); + } } else { $after = new Zend_Date($this->_afterDate); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gem...@li...> - 2012-06-07 15:54:14
|
Revision: 747 http://gemstracker.svn.sourceforge.net/gemstracker/?rev=747&view=rev Author: matijsdejong Date: 2012-06-07 15:54:06 +0000 (Thu, 07 Jun 2012) Log Message: ----------- TrackRounds checking now done through BatchRunner Still working on the messages though Modified Paths: -------------- trunk/library/classes/Gems/Default/TrackMaintenanceAction.php trunk/library/classes/Gems/Tracker/Engine/TrackEngineAbstract.php trunk/library/classes/Gems/Tracker/Engine/TrackEngineInterface.php trunk/library/classes/Gems/Tracker/RespondentTrack.php trunk/library/classes/Gems/Tracker/TrackerInterface.php trunk/library/classes/Gems/Tracker.php Added Paths: ----------- trunk/library/classes/Gems/Task/Tracker/CheckTrackRounds.php Modified: trunk/library/classes/Gems/Default/TrackMaintenanceAction.php =================================================================== --- trunk/library/classes/Gems/Default/TrackMaintenanceAction.php 2012-06-07 14:32:08 UTC (rev 746) +++ trunk/library/classes/Gems/Default/TrackMaintenanceAction.php 2012-06-07 15:54:06 UTC (rev 747) @@ -149,45 +149,27 @@ return true; } + /** + * Action for checking all assigned rounds using a batch + */ public function checkAllAction() { - $model = $this->getModel(); - $data = $model->load(null, $this->sortKey); - - if ($this->_getParam('confirmed')) { - $this->checkTrack(); - $this->afterSaveRoute($this->getRequest()); - } - - $this->addMessage($this->_('This may take a while!')); - $this->html->h3($this->_('Check all tracks')); - $this->html->pInfo($this->_('Checking all tracks will update all existing rounds to the current surveys in the tracks instead of those in use when the track was created.')); - $this->html->pInfo($this->_('Completed tracks will not be changed. No new tokens will be created when later tokens were completed.')); - if ($data) { - $rdata = MUtil_Lazy::repeat($data); - $table = $this->html->table($rdata, array('class' => 'browser')); - $table->th($this->getTopicTitle()); - $table->td()->a(array('action' => 'show', MUtil_Model::REQUEST_ID => $rdata->gtr_id_track), $rdata->gtr_track_name); - - $this->html->h4('Are you sure you want to check all tracks?'); - $this->html->actionLink(array('confirmed' => 1), $this->_('Yes')); - $this->html->actionLink(array('action' => 'index'), $this->_('No')); - } else { - $this->html->pInfo(sprintf($this->_('No %s found'), $this->getTopic(0))); - } - $this->html->actionLink(array('action' => 'index'), $this->_('Cancel')); + $batch = $this->loader->getTracker()->checkTrackRoundsBatch('trackCheckRoundsAll', $this->loader->getCurrentUser()->getUserId()); + $this->_helper->BatchRunner($batch, $this->_('Checking round assignments for all tracks.')); } - public function checkTrack($cond = null) - { - $tracker = $this->loader->getTracker(); - $this->addMessage($tracker->checkTrackRounds($this->session->user_id, $cond)); - } - + /** + * Action for checking all assigned rounds for a single track using a batch + */ public function checkTrackAction() { - $this->checkTrack($this->db->quoteInto('gr2t_id_track = ?', $this->_getIdParam())); - $this->afterSaveRoute($this->getRequest()); + $id = $this->_getIdParam(); + $track = $this->loader->getTracker()->getTrackEngine($id); + $where = $this->db->quoteInto('gr2t_id_track = ?', $id); + $batch = $this->loader->getTracker()->checkTrackRoundsBatch('trackCheckRounds' . $id, $this->loader->getCurrentUser()->getUserId(), $where); + + $title = sprintf($this->_("Checking round assignments for track '%s'."), $track->getTrackName()); + $this->_helper->BatchRunner($batch, $title); } public function createAction() Added: trunk/library/classes/Gems/Task/Tracker/CheckTrackRounds.php =================================================================== --- trunk/library/classes/Gems/Task/Tracker/CheckTrackRounds.php (rev 0) +++ trunk/library/classes/Gems/Task/Tracker/CheckTrackRounds.php 2012-06-07 15:54:06 UTC (rev 747) @@ -0,0 +1,65 @@ +<?php + +/** + * Copyright (c) 2011, Erasmus MC + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of Erasmus MC nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * @package Gems + * @subpackage TaskTracker + * @author Matijs de Jong <mj...@ma...> + * @copyright Copyright (c) 2011 Erasmus MC + * @license New BSD License + * @version $Id: CheckTokenCompletion.php 528 2012-03-01 14:06:23Z mennodekker $ + */ + +/** + * Check token completion in a batch job + * + * This task handles the token completion check, adding tasks to the queue + * when needed. + * + * @package Gems + * @subpackage Task_Tracker + * @copyright Copyright (c) 2011 Erasmus MC + * @license New BSD License + * @since Class available since version 1.5.5 + */ +class Gems_Task_Tracker_CheckTrackRounds extends Gems_Task_TaskAbstract +{ + /** + * @var Gems_Tracker + */ + public $tracker; + + public function execute($respTrackData = null, $userId = null) + { + $this->tracker = $this->loader->getTracker(); + $respTrack = $this->tracker->getRespondentTrack($respTrackData); + $engine = $respTrack->getTrackEngine(); + + $engine->checkRoundsFor($respTrack, $userId, $this->_batch); + $this->_batch->addToCounter('checkedRespondentTracks'); + } +} \ No newline at end of file Modified: trunk/library/classes/Gems/Tracker/Engine/TrackEngineAbstract.php =================================================================== --- trunk/library/classes/Gems/Tracker/Engine/TrackEngineAbstract.php 2012-06-07 14:32:08 UTC (rev 746) +++ trunk/library/classes/Gems/Tracker/Engine/TrackEngineAbstract.php 2012-06-07 15:54:06 UTC (rev 747) @@ -405,32 +405,25 @@ * * @param Gems_Tracker_RespondentTrack $respTrack The respondent track to check * @param int $userId Id of the user who takes the action (for logging) - * @param Gems_Tracker_ChangeTracker $changes Optional change tracker - * @return Gems_Tracker_ChangeTracker detailed info on changes + * @param Gems_Task_TaskRunnerBatch $changes batch for counters */ - public function checkRoundsFor(Gems_Tracker_RespondentTrack $respTrack, $userId, Gems_Tracker_ChangeTracker $changes = null) + public function checkRoundsFor(Gems_Tracker_RespondentTrack $respTrack, $userId, Gems_Task_TaskRunnerBatch $batch) { - if (null === $changes) { - $changes = new Gems_Tracker_ChangeTracker(); - } - //Step one: update existing tokens - $changes->roundChangeUpdates += $this->checkExistingRoundsFor($respTrack, $userId); + $batch->addToCounter('roundChangeUpdates', $this->checkExistingRoundsFor($respTrack, $userId)); //Step two: deactivate inactive rounds - $changes->deletedTokens += $this->removeInactiveRounds($respTrack, $userId); + $batch->addToCounter('deletedTokens', $this->removeInactiveRounds($respTrack, $userId)); // Step three: create lacking tokens - $changes->createdTokens += $this->addNewTokens($respTrack, $userId); + $batch->addToCounter('createdTokens', $this->addNewTokens($respTrack, $userId)); // Step four: set the dates and times $changed = $this->checkTokensFromStart($respTrack, $userId); if ($changed) { - $changes->tokenDateCauses++; - $changes->tokenDateChanges += $changed; + $batch->addToCounter('tokenDateCauses'); + $batch->addToCounter('tokenDateChanges', $changed); } - - return $changes; } /** Modified: trunk/library/classes/Gems/Tracker/Engine/TrackEngineInterface.php =================================================================== --- trunk/library/classes/Gems/Tracker/Engine/TrackEngineInterface.php 2012-06-07 14:32:08 UTC (rev 746) +++ trunk/library/classes/Gems/Tracker/Engine/TrackEngineInterface.php 2012-06-07 15:54:06 UTC (rev 747) @@ -79,10 +79,9 @@ * * @param Gems_Tracker_RespondentTrack $respTrack The respondent track to check * @param int $userId Id of the user who takes the action (for logging) - * @param Gems_Tracker_ChangeTracker $changes Optional change tracker - * @return Gems_Tracker_ChangeTracker detailed info on changes + * @param Gems_Task_TaskRunnerBatch $changes batch for counters */ - public function checkRoundsFor(Gems_Tracker_RespondentTrack $respTrack, $userId, Gems_Tracker_ChangeTracker $changes = null); + public function checkRoundsFor(Gems_Tracker_RespondentTrack $respTrack, $userId, Gems_Task_TaskRunnerBatch $batch); /** * Check the valid from and until dates in the track starting at a specified token Modified: trunk/library/classes/Gems/Tracker/RespondentTrack.php =================================================================== --- trunk/library/classes/Gems/Tracker/RespondentTrack.php 2012-06-07 14:32:08 UTC (rev 746) +++ trunk/library/classes/Gems/Tracker/RespondentTrack.php 2012-06-07 15:54:06 UTC (rev 747) @@ -318,20 +318,6 @@ } /** - * Check for the existence of all tokens and create them otherwise - * - * @param int $userId Id of the user who takes the action (for logging) - * @param Gems_Tracker_ChangeTracker $changes Optional change tracker - * @return Gems_Tracker_ChangeTracker detailed info on changes - */ - public function checkRounds($userId, Gems_Tracker_ChangeTracker $changes = null) - { - $engine = $this->getTrackEngine(); - - return $engine->checkRoundsFor($this, $userId, $changes); - } - - /** * Check this respondent track for changes to the tokens * * @param int $userId Id of the user who takes the action (for logging) @@ -504,7 +490,7 @@ { return $this->_respTrackData['gr2t_id_organization']; } - + public function getReceptionCode() { return $this->_respTrackData['gr2t_reception_code']; Modified: trunk/library/classes/Gems/Tracker/TrackerInterface.php =================================================================== --- trunk/library/classes/Gems/Tracker/TrackerInterface.php 2012-06-07 14:32:08 UTC (rev 746) +++ trunk/library/classes/Gems/Tracker/TrackerInterface.php 2012-06-07 15:54:06 UTC (rev 747) @@ -53,8 +53,8 @@ * how tokens are created and checked), TokenSelect (Gems_Tracker_Token_TokenSelect * extension) and TokenValidator. * - * Other functions are general utility functions, e.g. checkTrackRounds(), createToken(), - * processCompletedTokens() and recalculateTokensBatch(). + * Other functions are general utility functions, e.g. checkTrackRoundsBatch(), createToken(), + * processCompletedTokensBatch() and recalculateTokensBatch(). * * @package Gems * @subpackage Tracker @@ -62,18 +62,20 @@ * @license New BSD License * @since Class available since version 1.4 */ -interface Gems_Tracker_TrackerInterface { +interface Gems_Tracker_TrackerInterface +{ /** * Checks tracks for changes to the the track and round definitions * and corrects them. * * Does recalculate changed tracks * - * @param int $userId - * @param string $cond - * @return array of translated messages + * @param string $batchId A unique identifier for the current batch + * @param int $userId Id of the user who takes the action (for logging) + * @param string $cond Optional where statement for selecting tracks + * @return Gems_Task_TaskRunnerBatch A batch to process the changes */ - public function checkTrackRounds($userId = null, $cond = null); + public function checkTrackRoundsBatch($batchId, $userId = null, $cond = null); /** * Create a new track for a patient Modified: trunk/library/classes/Gems/Tracker.php =================================================================== --- trunk/library/classes/Gems/Tracker.php 2012-06-07 14:32:08 UTC (rev 746) +++ trunk/library/classes/Gems/Tracker.php 2012-06-07 15:54:06 UTC (rev 747) @@ -47,8 +47,8 @@ * how tokens are created and checked), TokenSelect (Gems_Tracker_Token_TokenSelect * extension) and TokenValidator. * - * Other functions are general utility functions, e.g. checkTrackRounds(), createToken(), - * processCompletedTokens() and recalculateTokensBatch(). + * Other functions are general utility functions, e.g. checkTrackRoundsBatch(), createToken(), + * processCompletedTokensBatch() and recalculateTokensBatch(). * * @package Gems * @subpackage Tracker @@ -194,17 +194,18 @@ * * Does recalculate changed tracks * - * @param int $userId - * @param string $cond - * @return array of translated messages + * @param string $batchId A unique identifier for the current batch + * @param int $userId Id of the user who takes the action (for logging) + * @param string $cond Optional where statement for selecting tracks + * @return Gems_Task_TaskRunnerBatch A batch to process the changes */ - public function checkTrackRounds($userId = null, $cond = null) + public function checkTrackRoundsBatch($batchId, $userId = null, $cond = null) { $userId = $this->_checkUserId($userId); $respTrackSelect = $this->db->select(); - $respTrackSelect->from('gems__respondent2track'); - $respTrackSelect->join('gems__reception_codes', 'gr2t_reception_code = grc_id_reception_code'); - $respTrackSelect->join('gems__tracks', 'gr2t_id_track = gtr_id_track'); + $respTrackSelect->from('gems__respondent2track', array('gr2t_id_respondent_track')); + $respTrackSelect->join('gems__reception_codes', 'gr2t_reception_code = grc_id_reception_code', array()); + $respTrackSelect->join('gems__tracks', 'gr2t_id_track = gtr_id_track', array()); if ($cond) { $respTrackSelect->where($cond); @@ -214,21 +215,21 @@ $respTrackSelect->where('gtr_active = 1'); $respTrackSelect->where('gr2t_count != gr2t_completed'); - self::$verbose = true; + $batch = $this->loader->getTaskRunnerBatch($batchId); + //Now set the step duration + $batch->minimalStepDurationMs = 3000; - $changes = new Gems_Tracker_ChangeTracker(); - $respTracks = $respTrackSelect->query()->fetchAll(); - - foreach ($respTracks as $respTrackData) { - $respTrack = $this->getRespondentTrack($respTrackData); - - $respTrack->checkRounds($userId, $changes); - $changes->checkedRespondentTracks++; - - unset($respTrack); + if (! $batch->isLoaded()) { + $statement = $respTrackSelect->query(); + //Process one item at a time to prevent out of memory errors for really big resultsets + while ($respTrackData = $statement->fetch()) { + $respTrackId = $respTrackData['gr2t_id_respondent_track']; + $batch->setTask('Tracker_CheckTrackRounds', 'trkchk-' . $respTrackId, $respTrackId, $userId); + $batch->addToCounter('resptracks'); + } } - return $changes->getMessages($this->translate); + return $batch; } /** This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gem...@li...> - 2012-06-07 14:32:19
|
Revision: 746 http://gemstracker.svn.sourceforge.net/gemstracker/?rev=746&view=rev Author: mennodekker Date: 2012-06-07 14:32:08 +0000 (Thu, 07 Jun 2012) Log Message: ----------- cleanup debug code Modified Paths: -------------- trunk/library/classes/Gems/Controller/BrowseEditAction.php trunk/library/classes/Gems/Default/StaffAction.php Modified: trunk/library/classes/Gems/Controller/BrowseEditAction.php =================================================================== --- trunk/library/classes/Gems/Controller/BrowseEditAction.php 2012-06-07 14:04:22 UTC (rev 745) +++ trunk/library/classes/Gems/Controller/BrowseEditAction.php 2012-06-07 14:32:08 UTC (rev 746) @@ -939,7 +939,7 @@ } //MUtil_Echo::r($data, 'after process'); - if ($this->afterSaveRoute($data, $isNew)) { + if ($this->afterSaveRoute($data)) { return null; } } Modified: trunk/library/classes/Gems/Default/StaffAction.php =================================================================== --- trunk/library/classes/Gems/Default/StaffAction.php 2012-06-07 14:04:22 UTC (rev 745) +++ trunk/library/classes/Gems/Default/StaffAction.php 2012-06-07 14:32:08 UTC (rev 746) @@ -369,7 +369,7 @@ if (! $this->_user) { $this->_user = $this->loader->getUser($data['gul_login'], $data['gul_id_organization']); } - MUtil_Echo::track($this->_user->canSetPassword()); + //MUtil_Echo::track($this->_user->canSetPassword()); if ($this->_user->canSetPassword()) { if ($currentItem = $this->menu->getCurrent()) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gem...@li...> - 2012-06-07 14:04:28
|
Revision: 745 http://gemstracker.svn.sourceforge.net/gemstracker/?rev=745&view=rev Author: matijsdejong Date: 2012-06-07 14:04:22 +0000 (Thu, 07 Jun 2012) Log Message: ----------- Updated changelog + Upgrades AElement.php email title only set when empty Modified Paths: -------------- trunk/library/changelog.txt trunk/library/classes/Gems/Upgrades.php trunk/library/classes/MUtil/Html/AElement.php Modified: trunk/library/changelog.txt =================================================================== --- trunk/library/changelog.txt 2012-06-07 14:03:17 UTC (rev 744) +++ trunk/library/changelog.txt 2012-06-07 14:04:22 UTC (rev 745) @@ -1,3 +1,12 @@ +Important changes from 1.5.3 => 1.5.4 +============================================================ +New logLevel project.ini setting +Added export of all patient data on a single page or PDF (if binary specified in project.ini) +Fixed a lot of issues with staff not being able to login or not being created +Fixed handling of token return on multi-url sites +Added maximum number of reminders sent to tokens +Fixed several date display and editing issues + Important changes from 1.5.2 => 1.5.3 ============================================================ People can login using their e-mail address as user name. This can be activated by for respondents and staff seperately, by default this is off for both. Modified: trunk/library/classes/Gems/Upgrades.php =================================================================== --- trunk/library/classes/Gems/Upgrades.php 2012-06-07 14:03:17 UTC (rev 744) +++ trunk/library/classes/Gems/Upgrades.php 2012-06-07 14:04:22 UTC (rev 745) @@ -1,4 +1,5 @@ <?php + /** * Copyright (c) 2011, Erasmus MC * All rights reserved. @@ -59,6 +60,7 @@ $this->register(array($this, 'Upgrade150to151'), 'Upgrade from 1.5.0 to 1.5.1'); $this->register(array($this, 'Upgrade151to152'), 'Upgrade from 1.5.1 to 1.5.2'); $this->register(array($this, 'Upgrade152to153'), 'Upgrade from 1.5.2 to 1.5.3'); + $this->register(array($this, 'Upgrade153to154'), 'Upgrade from 1.5.3 to 1.5.4'); } @@ -116,4 +118,14 @@ return true; } + + /** + * To upgrade to 1.5.4 just execute patchlevel 47 + */ + public function Upgrade153to154() + { + $this->_batch->addTask('Db_ExecutePatch', 47); + + return true; + } } \ No newline at end of file Modified: trunk/library/classes/MUtil/Html/AElement.php =================================================================== --- trunk/library/classes/MUtil/Html/AElement.php 2012-06-07 14:03:17 UTC (rev 744) +++ trunk/library/classes/MUtil/Html/AElement.php 2012-06-07 14:04:22 UTC (rev 745) @@ -112,7 +112,9 @@ $href = $args['href']; unset($args['href']); } else { - $args['title'] = $email; + if (! isset($args['title'])) { + $args['title'] = $email; + } $href = array('mailto:', $email); } if (! isset($args['onclick'])) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gem...@li...> - 2012-06-07 14:03:28
|
Revision: 744 http://gemstracker.svn.sourceforge.net/gemstracker/?rev=744&view=rev Author: matijsdejong Date: 2012-06-07 14:03:17 +0000 (Thu, 07 Jun 2012) Log Message: ----------- Updated changelog Modified Paths: -------------- tags/1.5.4/library/changelog.txt Modified: tags/1.5.4/library/changelog.txt =================================================================== --- tags/1.5.4/library/changelog.txt 2012-06-07 13:33:42 UTC (rev 743) +++ tags/1.5.4/library/changelog.txt 2012-06-07 14:03:17 UTC (rev 744) @@ -1,3 +1,12 @@ +Important changes from 1.5.3 => 1.5.4 +============================================================ +New logLevel project.ini setting +Added export of all patient data on a single page or PDF (if binary specified in project.ini) +Fixed a lot of issues with staff not being able to login or not being created +Fixed handling of token return on multi-url sites +Added maximum number of reminders sent to tokens +Fixed several date display and editing issues + Important changes from 1.5.2 => 1.5.3 ============================================================ People can login using their e-mail address as user name. This can be activated by for respondents and staff seperately, by default this is off for both. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gem...@li...> - 2012-06-07 13:33:48
|
Revision: 743 http://gemstracker.svn.sourceforge.net/gemstracker/?rev=743&view=rev Author: matijsdejong Date: 2012-06-07 13:33:42 +0000 (Thu, 07 Jun 2012) Log Message: ----------- Small fix for new staff (already in trunk) Small bug in Upgrades Modified Paths: -------------- tags/1.5.4/library/classes/Gems/Default/StaffAction.php tags/1.5.4/library/classes/Gems/Upgrades.php Modified: tags/1.5.4/library/classes/Gems/Default/StaffAction.php =================================================================== --- tags/1.5.4/library/classes/Gems/Default/StaffAction.php 2012-06-07 13:20:56 UTC (rev 742) +++ tags/1.5.4/library/classes/Gems/Default/StaffAction.php 2012-06-07 13:33:42 UTC (rev 743) @@ -136,8 +136,8 @@ } // Find out if this group is in the inheritance path of the current user - $allowedGroups = $this->util->getDbLookup()->getAllowedStaffGroups(); - if (!array_key_exists($data['gsf_id_primary_group'], $allowedGroups)) { + $allowedGroups = $this->util->getDbLookup()->getAllowedStaffGroups(); + if (! ($new || array_key_exists($data['gsf_id_primary_group'], $allowedGroups))) { //Not allowed to update $model->set('gsf_id_primary_group', 'elementClass', 'Exhibitor'); } else { @@ -145,7 +145,7 @@ $model->set('gsf_id_primary_group', 'multiOptions', $allowedGroups); } if ($new) { - $model->set('gsf_id_primary_group', 'default', $dbLookup->getDefaultGroup()); + $model->set('gsf_id_primary_group', 'default', $this->util->getDbLookup()->getDefaultGroup()); } $ucfirst = new Zend_Filter_Callback('ucfirst'); Modified: tags/1.5.4/library/classes/Gems/Upgrades.php =================================================================== --- tags/1.5.4/library/classes/Gems/Upgrades.php 2012-06-07 13:20:56 UTC (rev 742) +++ tags/1.5.4/library/classes/Gems/Upgrades.php 2012-06-07 13:33:42 UTC (rev 743) @@ -121,10 +121,9 @@ /** * To upgrade to 1.5.4 just execute patchlevel 47 */ - public function Upgrade152to153() + public function Upgrade153to154() { $this->_batch->addTask('Db_ExecutePatch', 47); - $this->_batch->addMessage($text); return true; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gem...@li...> - 2012-06-07 13:21:06
|
Revision: 742 http://gemstracker.svn.sourceforge.net/gemstracker/?rev=742&view=rev Author: matijsdejong Date: 2012-06-07 13:20:56 +0000 (Thu, 07 Jun 2012) Log Message: ----------- page + item are now also stored in RequestCache so you really return to the last page #534 After editing / creating a user, you go to 'reset password' form by defaultStaffDefinition + reset button in browse screen #325 Can no longer edit 'higher' role User object now hasAllowedRole() and empty name still generates some name text display Modified Paths: -------------- trunk/library/classes/Gems/Controller/BrowseEditAction.php trunk/library/classes/Gems/Default/StaffAction.php trunk/library/classes/Gems/Html.php trunk/library/classes/Gems/Menu/MenuAbstract.php trunk/library/classes/Gems/Model/StaffModel.php trunk/library/classes/Gems/Model.php trunk/library/classes/Gems/Snippets/ModelTableSnippetAbstract.php trunk/library/classes/Gems/User/User.php trunk/library/classes/GemsEscort.php trunk/library/classes/MUtil/Html/PagePanel.php Modified: trunk/library/classes/Gems/Controller/BrowseEditAction.php =================================================================== --- trunk/library/classes/Gems/Controller/BrowseEditAction.php 2012-06-07 13:04:33 UTC (rev 741) +++ trunk/library/classes/Gems/Controller/BrowseEditAction.php 2012-06-07 13:20:56 UTC (rev 742) @@ -132,6 +132,7 @@ $request = $this->getRequest(); $search = $this->getCachedRequestData(false); $params = array('baseUrl' => $search); + // MUtil_Echo::track($search); // Load the filters $this->_applySearchParameters($model); @@ -164,9 +165,6 @@ $table = $this->getBrowseTable($search); $paginator = $model->loadPaginator(); $table->setRepeater($paginator); - - // Apply request cache to request, so pagination is preserved too - $request->setParams(array_intersect_key($search, array('page'=>1,'items'=>1))); $table->tfrow()->pagePanel($paginator, $request, $this->translate, $params); if (isset($sequence)) { @@ -617,7 +615,7 @@ $this->requestCache->setRequest($this->request); // Button text should not be stored. - $this->requestCache->removeParams(self::SEARCH_BUTTON, /*'page', 'items',*/ 'action'); + $this->requestCache->removeParams(self::SEARCH_BUTTON, 'action'); } $data = $this->requestCache->getProgramParams(); Modified: trunk/library/classes/Gems/Default/StaffAction.php =================================================================== --- trunk/library/classes/Gems/Default/StaffAction.php 2012-06-07 13:04:33 UTC (rev 741) +++ trunk/library/classes/Gems/Default/StaffAction.php 2012-06-07 13:20:56 UTC (rev 742) @@ -44,6 +44,16 @@ */ class Gems_Default_StaffAction extends Gems_Controller_BrowseEditAction { + protected $_instanceId; + protected $_organizations; + + /** + * The current user for detailed actions, set by createModel() + * + * @var Gems_User_User + */ + protected $_user = false; + //@@TODO What if we want a different one per organization? //Maybe check if org has a default and otherwise use this one? public $defaultStaffDefinition = Gems_User_UserLoader::USER_STAFF; @@ -51,9 +61,6 @@ public $filterStandard = array('gsf_active' => 1); public $sortKey = array('name' => SORT_ASC); - protected $_instanceId; - protected $_organizations; - /** * Adds columns from the model to the bridge that creates the browse table. * @@ -106,10 +113,14 @@ } } } - // Add edit button if allowed, otherwise show, again if allowed + // Add edit button if allowed if ($menuItem = $this->findAllowedMenuItem('edit')) { $bridge->addItemLink($menuItem->toActionLinkLower($this->getRequest(), $bridge)); } + // Add reset button if allowed + if ($menuItem = $this->findAllowedMenuItem('reset')) { + $bridge->addItemLink($menuItem->toActionLink($this->getRequest(), $bridge, $this->_('reset'))); + } } /** @@ -128,24 +139,13 @@ { // Sorry, for the time being no password complexity checking on new // users. Can be done, but is to complex for the moment. - if ($new) { - $user = false; - } else { - $user = $this->loader->getUserLoader()->getUserByStaffId($data['gsf_id_user']); - // MUtil_Echo::track($data['gsf_id_user'], $user->getLoginName()); - } // Find out if this group is in the inheritance path of the current user - $allowedGroups = $this->util->getDbLookup()->getAllowedStaffGroups(); - if (!array_key_exists($data['gsf_id_primary_group'], $allowedGroups)) { - //Not allowed to update - $model->set('gsf_id_primary_group', 'elementClass', 'Exhibitor'); - } else { - //Allow only certain groups - $model->set('gsf_id_primary_group', 'multiOptions', $allowedGroups); - } + // and allow those certain groups + $model->set('gsf_id_primary_group', 'multiOptions', $this->util->getDbLookup()->getAllowedStaffGroups()); + if ($new) { - $model->set('gsf_id_primary_group', 'default', $dbLookup->getDefaultGroup()); + $model->set('gsf_id_primary_group', 'default', $this->util->getDbLookup()->getDefaultGroup()); } $ucfirst = new Zend_Filter_Callback('ucfirst'); @@ -302,8 +302,26 @@ */ public function createModel($detailed, $action) { + if ($detailed) { + // Make sure the user is loaded + $this->loadUser(); + + if ($this->_user) { + switch ($action) { + case 'create': + case 'show': + break; + + default: + if (! $this->_user->hasAllowedRole()) { + throw new Gems_Exception($this->_('No access to page'), 403, null, + sprintf($this->_('Access to this page is not allowed for current role: %s.'), $this->loader->getCurrentUser()->getRole())); + } + } + } + } + // MUtil_Model::$verbose = true; - $model = $this->loader->getModels()->getStaffModel(); $model->set('gsf_login', 'label', $this->_('Username')); @@ -340,6 +358,43 @@ return $model; } + /** + * Return an array with route options depending on de $data given. + * + * @param mixed $data array or Zend_Controller_Request_Abstract + * @return mixed array with route options or false when no redirect is found + */ + public function getAfterSaveRoute($data) + { + if (! $this->_user) { + $this->_user = $this->loader->getUser($data['gul_login'], $data['gul_id_organization']); + } + MUtil_Echo::track($this->_user->canSetPassword()); + + if ($this->_user->canSetPassword()) { + if ($currentItem = $this->menu->getCurrent()) { + $controller = $this->_getParam('controller'); + + if ($data instanceof Zend_Controller_Request_Abstract) { + $refData = $data; + $refData->setParam('accessible_role', $this->_user->hasAllowedRole()); + } elseif (is_array($data)) { + $refData = $this->getModel()->getKeyRef($data) + $data; + $refData['accessible_role'] = $this->_user->hasAllowedRole(); + } else { + throw new Gems_Exception_Coding('The variable $data must be an array or a Zend_Controller_Request_Abstract object.'); + } + + // Look for reset + if ($menuItem = $this->menu->findController($controller, 'reset')) { + return $menuItem->toRouteUrl($refData); + } + } + } + + return parent::getAfterSaveRoute($data, $isNew); + } + protected function getAutoSearchElements(MUtil_Model_ModelAbstract $model, array $data) { $elements = parent::getAutoSearchElements($model, $data); @@ -415,20 +470,17 @@ return $this->_('Staff'); } - public function init() + /** + * Load the user selected by the request - if any + */ + protected function loadUser() { - parent::init(); - - //Make sure the menu always has the gsd_id_organization parameter - $orgId = $this->getRequest()->getParam('gsf_id_organization'); - - if (is_null($orgId)) { - //Get the selected gsf_id_organization used in the index - $dataIdx = $this->getCachedRequestData(true, 'index', true); - $orgId = isset($dataIdx['gsf_id_organization']) ? $dataIdx['gsf_id_organization'] : $this->loader->getCurrentUser()->getCurrentOrganizationId(); + if ($staff_id = $this->_getIdParam()) { + $this->_user = $this->loader->getUserLoader()->getUserByStaffId($staff_id); + $source = $this->menu->getParameterSource(); + $source->offsetSet('gsf_id_organization', $this->_user->getBaseOrganizationId()); + $source->offsetSet('accessible_role', $this->_user->hasAllowedRole()); } - - $this->menu->getParameterSource()->offsetSet('gsf_id_organization', $orgId); } /** @@ -436,12 +488,12 @@ */ public function resetAction() { - $staff_id = $this->_getIdParam(); - $user = $this->loader->getUserLoader()->getUserByStaffId($staff_id); + // Make sure the user is loaded + $this->loadUser(); - $this->html->h3(sprintf($this->_('Reset password for: %s'), $user->getFullName())); + $this->html->h3(sprintf($this->_('Reset password for: %s'), $this->_user->getFullName())); - if (! $user->canSetPassword()) { + if (! ($this->_user->hasAllowedRole() && $this->_user->canSetPassword())) { $this->addMessage($this->_('You are not allowed to change this password.')); return; } @@ -449,7 +501,7 @@ /************* * Make form * *************/ - $form = $user->getChangePasswordForm(array('askOld' => false)); + $form = $this->_user->getChangePasswordForm(array('askOld' => false)); /**************** * Process form * @@ -464,12 +516,14 @@ /**************** * Display form * ****************/ - if ($user->isPasswordResetRequired()) { + if ($this->_user->isPasswordResetRequired()) { $this->menu->setVisible(false); } else { $form->addButtons($this->createMenuLinks()); } + $this->beforeFormDisplay($form, false); + $this->html[] = $form; } } Modified: trunk/library/classes/Gems/Html.php =================================================================== --- trunk/library/classes/Gems/Html.php 2012-06-07 13:04:33 UTC (rev 741) +++ trunk/library/classes/Gems/Html.php 2012-06-07 13:20:56 UTC (rev 742) @@ -147,7 +147,8 @@ $args['class'] = new MUtil_Html_ClassArrayAttribute('browselink'); } - // MUtil_Echo::r($args); + // MUtil_Echo::track($args); + // MUtil_Echo::track($panel_args['baseUrl']); $pager = new MUtil_Html_PagePanel($panel_args); $pager[] = $pager->pageLinks( Modified: trunk/library/classes/Gems/Menu/MenuAbstract.php =================================================================== --- trunk/library/classes/Gems/Menu/MenuAbstract.php 2012-06-07 13:04:33 UTC (rev 741) +++ trunk/library/classes/Gems/Menu/MenuAbstract.php 2012-06-07 13:20:56 UTC (rev 742) @@ -395,7 +395,7 @@ if (! $this->escort->hasPrivilege('pr.staff.edit.all')) { $filter = array_keys($this->escort->loader->getCurrentUser()->getAllowedOrganizations()); foreach ($pages as $sub_page) { - $sub_page->setParameterFilter('gsf_id_organization', $filter); + $sub_page->setParameterFilter('gsf_id_organization', $filter, 'accessible_role', 1); } } Modified: trunk/library/classes/Gems/Model/StaffModel.php =================================================================== --- trunk/library/classes/Gems/Model/StaffModel.php 2012-06-07 13:04:33 UTC (rev 741) +++ trunk/library/classes/Gems/Model/StaffModel.php 2012-06-07 13:20:56 UTC (rev 742) @@ -1,8 +1,9 @@ <?php + /** * Copyright (c) 2011, Erasmus MC * All rights reserved. - * + * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * Redistributions of source code must retain the above copyright @@ -13,7 +14,7 @@ * * Neither the name of Erasmus MC nor the * names of its contributors may be used to endorse or promote products * derived from this software without specific prior written permission. - * + * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE @@ -24,7 +25,7 @@ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * + * * The staff model * * @package Gems @@ -47,14 +48,18 @@ */ class Gems_Model_StaffModel extends Gems_Model_ModelAbstract { - /** - * @var Gems_Loader - */ - public $loader; - - public function __construct() + public function __construct(Gems_Loader $loader) { parent::__construct('staff', 'gems__staff', 'gsf'); + + $allowedGroups = $loader->getUtil()->getDbLookup()->getAllowedStaffGroups(); + if ($allowedGroups) { + $expr = new Zend_Db_Expr('CASE WHEN gsf_id_primary_group IN (' . implode(', ', array_keys($allowedGroups)) . ') THEN 1 ELSE 0 END'); + } else { + $expr = new Zend_Db_Expr('0'); + } + $this->addColumn($expr, 'accessible_role'); + $this->set('accessible_role', 'default', 1); } /** Modified: trunk/library/classes/Gems/Model.php =================================================================== --- trunk/library/classes/Gems/Model.php 2012-06-07 13:04:33 UTC (rev 741) +++ trunk/library/classes/Gems/Model.php 2012-06-07 13:20:56 UTC (rev 742) @@ -264,7 +264,7 @@ */ public function getStaffModel() { - $model = $this->_loadClass('StaffModel', true); + $model = $this->_loadClass('StaffModel', true, array($this->loader)); $this->addUserLogin($model, 'gsf_login', 'gsf_id_organization'); $this->setAsGemsUserId($model, 'gsf_id_user'); Modified: trunk/library/classes/Gems/Snippets/ModelTableSnippetAbstract.php =================================================================== --- trunk/library/classes/Gems/Snippets/ModelTableSnippetAbstract.php 2012-06-07 13:04:33 UTC (rev 741) +++ trunk/library/classes/Gems/Snippets/ModelTableSnippetAbstract.php 2012-06-07 13:20:56 UTC (rev 742) @@ -175,10 +175,11 @@ { if ($this->requestCache) { // Items that should not be stored. - $this->requestCache->removeParams('page', 'items', 'action'); + $this->requestCache->removeParams('action'); if ((! $this->baseUrl)) { $this->baseUrl = $this->requestCache->getProgramParams(); + // MUtil_Echo::track($this->baseUrl); if (MUtil_Registry_Source::$verbose) { MUtil_Echo::track($this->baseUrl); Modified: trunk/library/classes/Gems/User/User.php =================================================================== --- trunk/library/classes/Gems/User/User.php 2012-06-07 13:04:33 UTC (rev 741) +++ trunk/library/classes/Gems/User/User.php 2012-06-07 13:20:56 UTC (rev 742) @@ -682,7 +682,7 @@ if (! $name) { // Use obfuscated login name $name = $this->getLoginName(); - $name = substr($name, 0, 3) . str_repeat('*', strlen($name) - 2); + $name = substr($name, 0, 3) . str_repeat('*', max(5, strlen($name) - 2)); } $this->_setVar('user_name', $name); @@ -962,6 +962,20 @@ } /** + * Return true if this user has a role that is accessible by the current user + * + * @return boolean + */ + public function hasAllowedRole() + { + if ($allowedGroups = $this->util->getDbLookup()->getAllowedStaffGroups()) { + return isset($allowedGroups[$this->getGroup()]) ? 1 : 0; + } else { + return 0; + } + } + + /** * Return true if this user has a password. * * @return boolean @@ -1092,7 +1106,7 @@ if ($this->isBlockable()) { $auths['block'] = array($this, 'authorizeBlock'); } - + // organization ip restriction $auths['orgip'] = array($this, 'authorizeOrgIp'); Modified: trunk/library/classes/GemsEscort.php =================================================================== --- trunk/library/classes/GemsEscort.php 2012-06-07 13:04:33 UTC (rev 741) +++ trunk/library/classes/GemsEscort.php 2012-06-07 13:20:56 UTC (rev 742) @@ -1577,7 +1577,7 @@ $this->setError( $this->_('No access to page'), 403, - sprintf($this->_('Access to this page is not allowed for current role: %s.'), $this->session->user_role) + sprintf($this->_('Access to this page is not allowed for current role: %s.'), $user->getRole()) ); } else { // No longer logged in Modified: trunk/library/classes/MUtil/Html/PagePanel.php =================================================================== --- trunk/library/classes/MUtil/Html/PagePanel.php 2012-06-07 13:04:33 UTC (rev 741) +++ trunk/library/classes/MUtil/Html/PagePanel.php 2012-06-07 13:20:56 UTC (rev 742) @@ -49,6 +49,10 @@ */ class MUtil_Html_PagePanel extends MUtil_Html_Sequence implements MUtil_Lazy_Procrastinator { + /** + * + * @var array + */ protected $_baseUrl = array(); protected $_currentPage; @@ -201,7 +205,10 @@ if ($param_name = $this->getCurrentPageParam()) { $request = $this->getRequest(); - if ($currentPage = $request->getParam($param_name)) { + if (isset($this->_baseUrl[$param_name])) { + $this->_currentPage = $this->_baseUrl[$param_name]; + // Set cookie + } elseif ($currentPage = $request->getParam($param_name)) { $this->_currentPage = $currentPage; // Set cookie } elseif ($request instanceof Zend_Controller_Request_Http) { @@ -231,9 +238,16 @@ if ($param_name = $this->getItemCountParam()) { $request = $this->getRequest(); - if ($itemCount = $request->getParam($param_name)) { + if (isset($this->_baseUrl[$param_name])) { + $this->_itemCount = $this->_baseUrl[$param_name]; + } elseif ($itemCount = $request->getParam($param_name)) { $this->_itemCount = $itemCount; - setcookie($param_name, $itemCount, time() + (30 * 86400), $this->getCookieLocation()); + } + + if ($this->_itemCount) { + // Store + setcookie($param_name, $this->_itemCount, time() + (30 * 86400), $this->getCookieLocation()); + } elseif ($request instanceof Zend_Controller_Request_Http) { $this->_itemCount = $request->getCookie($param_name, $this->_itemCount); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gem...@li...> - 2012-06-07 13:04:42
|
Revision: 741 http://gemstracker.svn.sourceforge.net/gemstracker/?rev=741&view=rev Author: mennodekker Date: 2012-06-07 13:04:33 +0000 (Thu, 07 Jun 2012) Log Message: ----------- Added upgrade script Modified Paths: -------------- tags/1.5.4/library/classes/Gems/Upgrades.php Modified: tags/1.5.4/library/classes/Gems/Upgrades.php =================================================================== --- tags/1.5.4/library/classes/Gems/Upgrades.php 2012-06-07 10:07:10 UTC (rev 740) +++ tags/1.5.4/library/classes/Gems/Upgrades.php 2012-06-07 13:04:33 UTC (rev 741) @@ -59,6 +59,7 @@ $this->register(array($this, 'Upgrade150to151'), 'Upgrade from 1.5.0 to 1.5.1'); $this->register(array($this, 'Upgrade151to152'), 'Upgrade from 1.5.1 to 1.5.2'); $this->register(array($this, 'Upgrade152to153'), 'Upgrade from 1.5.2 to 1.5.3'); + $this->register(array($this, 'Upgrade153to154'), 'Upgrade from 1.5.3 to 1.5.4'); } @@ -116,4 +117,15 @@ return true; } + + /** + * To upgrade to 1.5.4 just execute patchlevel 47 + */ + public function Upgrade152to153() + { + $this->_batch->addTask('Db_ExecutePatch', 47); + $this->_batch->addMessage($text); + + return true; + } } \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gem...@li...> - 2012-06-07 10:07:20
|
Revision: 740 http://gemstracker.svn.sourceforge.net/gemstracker/?rev=740&view=rev Author: mennodekker Date: 2012-06-07 10:07:10 +0000 (Thu, 07 Jun 2012) Log Message: ----------- Tagging 1.5.4 for release (still so changes to be done, mainly upgrade stuff) Added Paths: ----------- tags/1.5.4/ Property changes on: tags/1.5.4 ___________________________________________________________________ Added: svn:ignore + nbproject Added: svn:mergeinfo + /branches/1.5.0-pulse:306-430,467 /branches/1.5.x:426-455,458-472,475-481 /tags/1.5.0beta1:305 /tags/1.5.1:485,489,509-510 /tags/1.5.3-rc2:612,614,616,618 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gem...@li...> - 2012-06-07 09:20:19
|
Revision: 739 http://gemstracker.svn.sourceforge.net/gemstracker/?rev=739&view=rev Author: mennodekker Date: 2012-06-07 09:20:08 +0000 (Thu, 07 Jun 2012) Log Message: ----------- Allow page/items per page to be in the request cache as well (needed to apply the items to the request as paginator only reads request) Modified Paths: -------------- trunk/library/classes/Gems/Controller/BrowseEditAction.php Modified: trunk/library/classes/Gems/Controller/BrowseEditAction.php =================================================================== --- trunk/library/classes/Gems/Controller/BrowseEditAction.php 2012-06-06 12:12:07 UTC (rev 738) +++ trunk/library/classes/Gems/Controller/BrowseEditAction.php 2012-06-07 09:20:08 UTC (rev 739) @@ -164,6 +164,9 @@ $table = $this->getBrowseTable($search); $paginator = $model->loadPaginator(); $table->setRepeater($paginator); + + // Apply request cache to request, so pagination is preserved too + $request->setParams(array_intersect_key($search, array('page'=>1,'items'=>1))); $table->tfrow()->pagePanel($paginator, $request, $this->translate, $params); if (isset($sequence)) { @@ -614,7 +617,7 @@ $this->requestCache->setRequest($this->request); // Button text should not be stored. - $this->requestCache->removeParams(self::SEARCH_BUTTON, 'page', 'items', 'action'); + $this->requestCache->removeParams(self::SEARCH_BUTTON, /*'page', 'items',*/ 'action'); } $data = $this->requestCache->getProgramParams(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gem...@li...> - 2012-06-06 12:12:13
|
Revision: 738 http://gemstracker.svn.sourceforge.net/gemstracker/?rev=738&view=rev Author: michieltcs Date: 2012-06-06 12:12:07 +0000 (Wed, 06 Jun 2012) Log Message: ----------- Add filtering method (useful for overriding classes) Modified Paths: -------------- trunk/library/classes/Gems/Default/RespondentExportAction.php Modified: trunk/library/classes/Gems/Default/RespondentExportAction.php =================================================================== --- trunk/library/classes/Gems/Default/RespondentExportAction.php 2012-06-05 13:33:53 UTC (rev 737) +++ trunk/library/classes/Gems/Default/RespondentExportAction.php 2012-06-06 12:12:07 UTC (rev 738) @@ -138,6 +138,18 @@ return $pdfContents; } + + /** + * Determines if this particular token should be included + * in the report + * + * @param Gems_Tracker_Token $token + * @return boolean This dummy implementation always returns true + */ + protected function _isTokenInFilter(Gems_Tracker_Token $token) + { + return true; + } /** * Exports all the tokens of a single track, grouped by round @@ -160,6 +172,11 @@ $this->html->br(); while ($token) { + if (!$this->_isTokenInFilter($token)) { + $token = $token->getNextToken(); + continue; + } + $status = $this->_('Open'); if ($token->isCompleted()) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gem...@li...> - 2012-06-05 13:34:04
|
Revision: 737 http://gemstracker.svn.sourceforge.net/gemstracker/?rev=737&view=rev Author: mennodekker Date: 2012-06-05 13:33:53 +0000 (Tue, 05 Jun 2012) Log Message: ----------- Scaling fonts for print Modified Paths: -------------- trunk/new_project/htdocs/gems/css/gems_print.css Modified: trunk/new_project/htdocs/gems/css/gems_print.css =================================================================== --- trunk/new_project/htdocs/gems/css/gems_print.css 2012-06-05 08:33:42 UTC (rev 736) +++ trunk/new_project/htdocs/gems/css/gems_print.css 2012-06-05 13:33:53 UTC (rev 737) @@ -1,5 +1,8 @@ /* Style for printing, disables certain UI elements */ @media print { + /* Setting font-size */ + body, table { font-size: 9pt; } + body { font-family: Arial,Verdana,Helvetica,Sans-serif; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gem...@li...> - 2012-06-05 08:33:51
|
Revision: 736 http://gemstracker.svn.sourceforge.net/gemstracker/?rev=736&view=rev Author: mennodekker Date: 2012-06-05 08:33:42 +0000 (Tue, 05 Jun 2012) Log Message: ----------- Check for blocked logins first Only increment failed logins when password failed (use case: project admin tried from not allowed ip blocks access from valid location) Modified Paths: -------------- trunk/library/classes/Gems/User/User.php Modified: trunk/library/classes/Gems/User/User.php =================================================================== --- trunk/library/classes/Gems/User/User.php 2012-06-04 13:13:16 UTC (rev 735) +++ trunk/library/classes/Gems/User/User.php 2012-06-05 08:33:42 UTC (rev 736) @@ -238,7 +238,7 @@ * * @param Zend_Auth_Result $result */ - protected function afterAuthorization(Zend_Auth_Result $result) + protected function afterAuthorization(Zend_Auth_Result $result, $lastAuthorizer = null) { try { $select = $this->db->select(); @@ -256,7 +256,7 @@ $values['gula_failed_logins'] = 0; $values['gula_last_failed'] = null; $values['gula_block_until'] = null; - $values['since_last'] = $this->failureBlockCount + 1; + $values['since_last'] = $this->failureIgnoreTime + 1; } if ($result->isValid()) { @@ -270,7 +270,8 @@ // Reset the counters when the last login was longer ago than the delay factor if ($values['since_last'] > $this->failureIgnoreTime) { $values['gula_failed_logins'] = 1; - } else { + } elseif ($lastAuthorizer === 'pwd') { + // Only increment failed login when password failed $values['gula_failed_logins'] += 1; } @@ -288,6 +289,7 @@ // Always record the last fail $values['gula_last_failed'] = new Zend_Db_Expr('CURRENT_TIMESTAMP'); + $values['gula_failed_logins'] = max(1, $values['gula_failed_logins']); // Response gets slowly slower $sleepTime = min($values['gula_failed_logins'] - 1, 10) * 2; @@ -323,7 +325,8 @@ { $auths = $this->loadAuthorizers($password); - foreach ($auths as $result) { + $lastAuthorizer = null; + foreach ($auths as $lastAuthorizer => $result) { if (is_callable($result)) { $result = call_user_func($result); } @@ -357,7 +360,7 @@ } } - $this->afterAuthorization($result); + $this->afterAuthorization($result, $lastAuthorizer); // MUtil_Echo::track($result); $this->_authResult = $result; @@ -1086,16 +1089,16 @@ */ protected function loadAuthorizers($password) { + if ($this->isBlockable()) { + $auths['block'] = array($this, 'authorizeBlock'); + } + // organization ip restriction $auths['orgip'] = array($this, 'authorizeOrgIp'); // group ip restriction $auths['ip'] = array($this, 'authorizeIp'); - if ($this->isBlockable()) { - $auths['block'] = array($this, 'authorizeBlock'); - } - if ($this->isActive()) { $auths['pwd'] = $this->definition->getAuthAdapter($this, $password); } else { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gem...@li...> - 2012-06-04 13:13:25
|
Revision: 735 http://gemstracker.svn.sourceforge.net/gemstracker/?rev=735&view=rev Author: michieltcs Date: 2012-06-04 13:13:16 +0000 (Mon, 04 Jun 2012) Log Message: ----------- Tagging new pulse 1.5.4 release Added Paths: ----------- tags/1.5.4-pulse-20120604/ Property changes on: tags/1.5.4-pulse-20120604 ___________________________________________________________________ Added: svn:ignore + nbproject Added: svn:mergeinfo + /branches/1.5.0-pulse:306-430,467 /branches/1.5.x:426-455,458-472,475-481 /tags/1.5.0beta1:305 /tags/1.5.1:485,489,509-510 /tags/1.5.3-rc2:612,614,616,618 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gem...@li...> - 2012-06-04 13:01:27
|
Revision: 734 http://gemstracker.svn.sourceforge.net/gemstracker/?rev=734&view=rev Author: michieltcs Date: 2012-06-04 13:01:18 +0000 (Mon, 04 Jun 2012) Log Message: ----------- Show email as title Modified Paths: -------------- trunk/library/classes/MUtil/Html/AElement.php Modified: trunk/library/classes/MUtil/Html/AElement.php =================================================================== --- trunk/library/classes/MUtil/Html/AElement.php 2012-06-04 11:58:23 UTC (rev 733) +++ trunk/library/classes/MUtil/Html/AElement.php 2012-06-04 13:01:18 UTC (rev 734) @@ -112,6 +112,7 @@ $href = $args['href']; unset($args['href']); } else { + $args['title'] = $email; $href = array('mailto:', $email); } if (! isset($args['onclick'])) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gem...@li...> - 2012-06-04 11:58:29
|
Revision: 733 http://gemstracker.svn.sourceforge.net/gemstracker/?rev=733&view=rev Author: michieltcs Date: 2012-06-04 11:58:23 +0000 (Mon, 04 Jun 2012) Log Message: ----------- Change defaults Modified Paths: -------------- trunk/library/classes/Gems/Default/RespondentExportAction.php Modified: trunk/library/classes/Gems/Default/RespondentExportAction.php =================================================================== --- trunk/library/classes/Gems/Default/RespondentExportAction.php 2012-06-03 09:25:41 UTC (rev 732) +++ trunk/library/classes/Gems/Default/RespondentExportAction.php 2012-06-04 11:58:23 UTC (rev 733) @@ -82,15 +82,16 @@ $element = new Zend_Form_Element_Checkbox('group'); $element->setLabel($this->_('Group surveys')); + $element->setValue(1); $form->addElement($element); + $element = new Zend_Form_Element_Select('format'); + $element->setLabel($this->_('Output format')); $outputFormats = array('html' => 'HTML'); if (!empty($this->_wkhtmltopdfLocation)) { $outputFormats['pdf'] = 'PDF'; + $element->setValue('pdf'); } - - $element = new Zend_Form_Element_Select('format'); - $element->setLabel($this->_('Output format')); $element->setMultiOptions($outputFormats); $form->addElement($element); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gem...@li...> - 2012-06-03 09:25:47
|
Revision: 732 http://gemstracker.svn.sourceforge.net/gemstracker/?rev=732&view=rev Author: michieltcs Date: 2012-06-03 09:25:41 +0000 (Sun, 03 Jun 2012) Log Message: ----------- Separate privilege for export from respondent page Modified Paths: -------------- trunk/library/classes/Gems/Menu.php Modified: trunk/library/classes/Gems/Menu.php =================================================================== --- trunk/library/classes/Gems/Menu.php 2012-06-01 12:59:24 UTC (rev 731) +++ trunk/library/classes/Gems/Menu.php 2012-06-03 09:25:41 UTC (rev 732) @@ -277,7 +277,7 @@ */ $page->addEditAction('pr.respondent.edit')->addNamedParameters(MUtil_Model::REQUEST_ID, 'gr2o_patient_nr'); - $page->addAction($this->_('Export'), 'pr.export-html', 'export')->addNamedParameters(MUtil_Model::REQUEST_ID, 'gr2o_patient_nr'); + $page->addAction($this->_('Export'), 'pr.respondent.export-html', 'export')->addNamedParameters(MUtil_Model::REQUEST_ID, 'gr2o_patient_nr'); if ($this->escort instanceof Gems_Project_Tracks_SingleTrackInterface) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |