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-05-30 14:05:35
|
Revision: 706 http://gemstracker.svn.sourceforge.net/gemstracker/?rev=706&view=rev Author: michieltcs Date: 2012-05-30 14:05:24 +0000 (Wed, 30 May 2012) Log Message: ----------- Add support for conversion to pdf by means of wkhtmltopdf 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-05-30 14:02:15 UTC (rev 705) +++ trunk/library/classes/Gems/Default/RespondentExportAction.php 2012-05-30 14:05:24 UTC (rev 706) @@ -45,6 +45,17 @@ class Gems_Default_RespondentExportAction extends Gems_Controller_Action { public $useHtmlView = true; + + protected $_wkhtmltopdfLocation = ""; + + public function init() + { + parent::init(); + + if (isset($this->project->export['wkhtmltopdf'])) { + $this->_wkhtmltopdfLocation = $this->project->export['wkhtmltopdf']; + } + } /** * Constructs the form @@ -64,6 +75,16 @@ $element->setLabel($this->_('Group surveys')); $form->addElement($element); + $outputFormats = array('html' => 'HTML'); + if (!empty($this->_wkhtmltopdfLocation)) { + $outputFormats['pdf'] = 'PDF'; + } + + $element = new Zend_Form_Element_Select('format'); + $element->setLabel($this->_('Output format')); + $element->setMultiOptions($outputFormats); + $form->addElement($element); + $element = new Zend_Form_Element_Submit('export'); $element->setLabel($this->_('Export')) ->setAttrib('class', 'button'); @@ -71,7 +92,39 @@ return $form; } + + /** + * Calls 'wkhtmltopdf' to convert HTML to PDF + * + * @param string $content The HTML source + * @return string The converted PDF file + * @throws Exception + */ + protected function _convertToPdf($content) + { + $tempInputFilename = tempnam(sys_get_temp_dir(), 'gemshtml') . '.html'; + $tempOutputFilename = tempnam(sys_get_temp_dir(), 'gemspdf') . '.pdf'; + if (empty($tempInputFilename) || empty($tempOutputFilename)) { + throw new Exception("Unable to create temporary file(s)"); + } + + file_put_contents($tempInputFilename, $content); + + $lastLine = exec($this->_wkhtmltopdfLocation . ' ' . $tempInputFilename . ' ' . $tempOutputFilename, $outputLines, $return); + + if ($return > 0) { + throw new Exception("Unable to run PDF conversion: {$lastLine}"); + } + + $pdfContents = file_get_contents($tempOutputFilename); + + @unlink($tempInputFilename); + @unlink($tempOutputFilename); + + return $pdfContents; + } + /** * Exports all the tokens of a single track, grouped by round * @@ -239,10 +292,23 @@ $this->_helper->layout()->disableLayout(); $this->_helper->viewRenderer->setNoRender(true); - $htmlData = $this->html->render($this->view); - $this->view->layout()->content = $htmlData; + $this->view->layout()->content = $this->html->render($this->view); - echo $this->view->layout->render(); + $content = $this->view->layout->render(); + + if ($this->getRequest()->getParam('format') == 'pdf') { + $content = $this->_convertToPdf($content); + $filename = 'respondent-export-' . strtolower($respondentId) . '.pdf'; + + header('Content-Type: application/x-download'); + header('Content-Length: '.strlen($content)); + header('Content-Disposition: inline; filename="'.$filename.'"'); + header('Cache-Control: private, max-age=0, must-revalidate'); + header('Pragma: public'); + } + + echo $content; + $this->escort->menu->setVisible(true); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gem...@li...> - 2012-05-30 14:02:22
|
Revision: 705 http://gemstracker.svn.sourceforge.net/gemstracker/?rev=705&view=rev Author: mennodekker Date: 2012-05-30 14:02:15 +0000 (Wed, 30 May 2012) Log Message: ----------- Removed autofilter empty lines from Roles -> Edit Modified Paths: -------------- trunk/library/classes/Gems/Menu/MenuAbstract.php Modified: trunk/library/classes/Gems/Menu/MenuAbstract.php =================================================================== --- trunk/library/classes/Gems/Menu/MenuAbstract.php 2012-05-29 15:19:37 UTC (rev 704) +++ trunk/library/classes/Gems/Menu/MenuAbstract.php 2012-05-30 14:02:15 UTC (rev 705) @@ -75,16 +75,19 @@ { if ($this->_subItems) { foreach ($this->_subItems as $item) { - $_itemlabel = $label . ($item->get('label') ?: $item->get('privilege')); - if ($_privilege = $item->get('privilege')) { + // Skip autofilter action, but include all others + if ($item->get('action') !== 'autofilter') { + $_itemlabel = $label. ($item->get('label') ?: $item->get('privilege')); + if ($_privilege = $item->get('privilege')) { - if (isset($privileges[$_privilege])) { - $privileges[$_privilege] .= "<br/> + " . $_itemlabel; - } else { - $privileges[$_privilege] = $_itemlabel; + if (isset($privileges[$_privilege])) { + $privileges[$_privilege] .= "<br/> + " . $_itemlabel; + } else { + $privileges[$_privilege] = $_itemlabel; + } } + $item->_addUsedPrivileges($privileges, $_itemlabel . '->'); } - $item->_addUsedPrivileges($privileges, $_itemlabel . '->'); } } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gem...@li...> - 2012-05-29 15:19:47
|
Revision: 704 http://gemstracker.svn.sourceforge.net/gemstracker/?rev=704&view=rev Author: michieltcs Date: 2012-05-29 15:19:37 +0000 (Tue, 29 May 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-05-29 15:19:06 UTC (rev 703) +++ trunk/library/languages/default-nl.po 2012-05-29 15:19:37 UTC (rev 704) @@ -2,7 +2,7 @@ msgstr "" "Project-Id-Version: GemsTracker NL\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-05-18 16:44+0100\n" +"POT-Creation-Date: 2012-05-29 17:17+0100\n" "PO-Revision-Date: \n" "Last-Translator: Michiel Rook <in...@to...>\n" "Language-Team: Erasmus MGZ <mat...@ma...>\n" @@ -1379,11 +1379,11 @@ msgid "No token specified." msgstr "Geen kenmerk opgegeven." -#: classes/Gems/Tracker/Snippets/ShowTrackUsageAbstract.php:149 +#: classes/Gems/Tracker/Snippets/ShowTrackUsageAbstract.php:148 msgid "Enter the particulars concerning the assignment to this respondent." msgstr "Beschrijf de redenen om dit aan deze patiënt toe te wijzen." -#: classes/Gems/Tracker/Snippets/ShowTrackUsageAbstract.php:151 +#: classes/Gems/Tracker/Snippets/ShowTrackUsageAbstract.php:150 msgid "Start" msgstr "Aanvang" @@ -1853,10 +1853,14 @@ msgid "Port" msgstr "Poort" -#: classes/Gems/User/RadiusUserDefinition.php:165 +#: classes/Gems/User/RadiusUserDefinition.php:166 msgid "Shared secret" msgstr "Shared secret" +#: classes/Gems/User/RadiusUserDefinition.php:169 +msgid "Enter only when changing" +msgstr "Alleen invoeren om het wachtwoord te wijzigen" + #: classes/Gems/User/PasswordChecker.php:100 #, php-format msgid "should contain at least one uppercase character" @@ -2105,34 +2109,38 @@ msgstr "Patiënt nummer" #: classes/Gems/Default/RespondentExportAction.php:64 +msgid "Group surveys" +msgstr "Groepeer vragenlijsten" + +#: classes/Gems/Default/RespondentExportAction.php:68 msgid "Export" msgstr "Exporteer" -#: classes/Gems/Default/RespondentExportAction.php:137 +#: classes/Gems/Default/RespondentExportAction.php:151 msgid "Track information" msgstr "Traject informatie" -#: classes/Gems/Default/RespondentExportAction.php:176 +#: classes/Gems/Default/RespondentExportAction.php:190 msgid "Respondent information" msgstr "Patiënt informatie" -#: classes/Gems/Default/RespondentExportAction.php:203 +#: classes/Gems/Default/RespondentExportAction.php:217 msgid "Respondent report" msgstr "Patiënt rapportage" -#: classes/Gems/Default/RespondentExportAction.php:207 +#: classes/Gems/Default/RespondentExportAction.php:221 msgid "Report information" msgstr "Informatie over rapportage" -#: classes/Gems/Default/RespondentExportAction.php:208 +#: classes/Gems/Default/RespondentExportAction.php:222 msgid "Generated by" msgstr "Aangemaakt door" -#: classes/Gems/Default/RespondentExportAction.php:210 +#: classes/Gems/Default/RespondentExportAction.php:224 msgid "Generated on" msgstr "Aangemaakt op" -#: classes/Gems/Default/RespondentExportAction.php:236 +#: classes/Gems/Default/RespondentExportAction.php:252 msgid "Export respondent" msgstr "Exporteer patiënt" @@ -3023,7 +3031,7 @@ msgid "Show respondent" msgstr "Toon patiënt" -#: classes/Gems/Default/SurveyAction.php:208 +#: classes/Gems/Default/SurveyAction.php:212 msgid "Assigned surveys" msgstr "Toegewezen vragenlijsten" @@ -3031,7 +3039,7 @@ msgid "Cron jobs turned off." msgstr "Cron opdrachten uitgezet." -#: classes/Gems/Default/CronAction.php:221 +#: classes/Gems/Default/CronAction.php:222 msgid "No mails sent." msgstr "Geen mail verzonden." @@ -3100,11 +3108,6 @@ msgid "User ID" msgstr "Gebruikers ID" -#: classes/Gems/Default/MailServerAction.php:91 -#: classes/Gems/Default/SourceAction.php:74 -msgid "Enter only when changing" -msgstr "Alleen invoeren om het wachtwoord te wijzigen" - #: classes/Gems/Default/MailServerAction.php:100 msgid "email server" msgid_plural "email servers" @@ -3473,22 +3476,22 @@ msgid "Adding the %s track to respondent %s" msgstr "Traject %s toewijzen aan patiënt %s." -#: classes/Gems/Default/TrackActionAbstract.php:302 +#: classes/Gems/Default/TrackActionAbstract.php:303 #, php-format msgid "Email %s %s" msgstr "Email %s %s" -#: classes/Gems/Default/TrackActionAbstract.php:308 +#: classes/Gems/Default/TrackActionAbstract.php:309 #, php-format msgid "%s %s not found." msgstr "%s %s niet gevonden." -#: classes/Gems/Default/TrackActionAbstract.php:492 +#: classes/Gems/Default/TrackActionAbstract.php:493 #, php-format msgid "Overview of %s track for respondent %s" msgstr "Overzicht van het %s traject voor patiënt %s " -#: classes/Gems/Default/TrackActionAbstract.php:496 +#: classes/Gems/Default/TrackActionAbstract.php:497 msgid "This track is currently not assigned to this respondent." msgstr "Dit traject is nog niet aan deze patiënt toegewezen." @@ -3529,47 +3532,51 @@ msgid "Days between reminders" msgstr "Aantal dagen tussen herinneringen" -#: classes/Gems/Default/MailJobAction.php:113 +#: classes/Gems/Default/MailJobAction.php:95 +msgid "Maximum number of reminders" +msgstr "Maximum aantal herinneringen" + +#: classes/Gems/Default/MailJobAction.php:114 msgid "First mail" msgstr "Eerste mail" -#: classes/Gems/Default/MailJobAction.php:114 +#: classes/Gems/Default/MailJobAction.php:115 msgid "Reminder" msgstr "Herinnering" -#: classes/Gems/Default/MailJobAction.php:125 +#: classes/Gems/Default/MailJobAction.php:126 msgid "Use organizational from address" msgstr "Gebruik vanaf adres van organisatie" -#: classes/Gems/Default/MailJobAction.php:128 +#: classes/Gems/Default/MailJobAction.php:129 #, php-format msgid "Use site %s address" msgstr "Gebruik %s adres van de site" -#: classes/Gems/Default/MailJobAction.php:131 +#: classes/Gems/Default/MailJobAction.php:132 msgid "Use the 'By staff member' address" msgstr "Gebruik 'Door medewerker' adres" -#: classes/Gems/Default/MailJobAction.php:144 +#: classes/Gems/Default/MailJobAction.php:145 msgid "Automatic mail jobs" msgstr "Automatische mail opdrachten " -#: classes/Gems/Default/MailJobAction.php:155 +#: classes/Gems/Default/MailJobAction.php:156 msgid "automatic mail job" msgid_plural "automatic mail jobs" msgstr[0] "automatische mail opdracht" msgstr[1] "automatische mail opdrachten" -#: classes/Gems/Default/MailJobAction.php:165 +#: classes/Gems/Default/MailJobAction.php:166 #, php-format msgid "Automatic mails have been turned off since %s." msgstr "Automatische mail opdrachten staan sinds %s uit." -#: classes/Gems/Default/MailJobAction.php:169 +#: classes/Gems/Default/MailJobAction.php:170 msgid "Turn Automatic Mail Jobs ON" msgstr "Automatische mail opdrachten AANzetten" -#: classes/Gems/Default/MailJobAction.php:175 +#: classes/Gems/Default/MailJobAction.php:176 msgid "With automatic mail jobs and a cron job on the server, mails can be sent without manual user action." msgstr "Met automatische mail opdrachten en een cron opdracht op de server, kunnen mails verstuurd worden zonder dat een gebruiker actie hoeft te ondernemen." This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gem...@li...> - 2012-05-29 15:19:17
|
Revision: 703 http://gemstracker.svn.sourceforge.net/gemstracker/?rev=703&view=rev Author: michieltcs Date: 2012-05-29 15:19:06 +0000 (Tue, 29 May 2012) Log Message: ----------- Add maximum number of reminders to mail job configuration Modified Paths: -------------- trunk/library/classes/Gems/Default/CronAction.php trunk/library/classes/Gems/Default/MailJobAction.php trunk/library/classes/Gems/Email/TemplateMailer.php trunk/library/configs/db/patches.sql Modified: trunk/library/classes/Gems/Default/CronAction.php =================================================================== --- trunk/library/classes/Gems/Default/CronAction.php 2012-05-29 14:55:54 UTC (rev 702) +++ trunk/library/classes/Gems/Default/CronAction.php 2012-05-29 15:19:06 UTC (rev 703) @@ -182,6 +182,7 @@ $filter = $this->defaultFilter; if ($job['gmj_filter_mode'] == 'R') { $filter[] = 'gto_mail_sent_date <= DATE_SUB(CURRENT_DATE, INTERVAL ' . $job['gmj_filter_days_between'] . ' DAY)'; + $filter[] = 'gto_mail_sent_num < ' . $job['gmj_filter_max_reminders']; } else { $filter['gto_mail_sent_date'] = NULL; } Modified: trunk/library/classes/Gems/Default/MailJobAction.php =================================================================== --- trunk/library/classes/Gems/Default/MailJobAction.php 2012-05-29 14:55:54 UTC (rev 702) +++ trunk/library/classes/Gems/Default/MailJobAction.php 2012-05-29 15:19:06 UTC (rev 703) @@ -92,6 +92,7 @@ $model->set('gmj_process_method', 'label', $this->_('Processing Method'), 'default', 'O', 'multiOptions', $translated->getBulkMailProcessOptions()); $model->set('gmj_filter_mode', 'label', $this->_('Filter for'), 'multiOptions', $unselected + $this->getBulkMailFilterOptions()); $model->set('gmj_filter_days_between', 'label', $this->_('Days between reminders'), 'validators[]', 'Digits'); + $model->set('gmj_filter_max_reminders','label', $this->_('Maximum number of reminders'), 'validators[]', 'Digits'); if ($detailed) { $model->set('gmj_id_organization', 'label', $this->_('Organization'), 'multiOptions', $empty + $dbLookup->getOrganizations()); Modified: trunk/library/classes/Gems/Email/TemplateMailer.php =================================================================== --- trunk/library/classes/Gems/Email/TemplateMailer.php 2012-05-29 14:55:54 UTC (rev 702) +++ trunk/library/classes/Gems/Email/TemplateMailer.php 2012-05-29 15:19:06 UTC (rev 703) @@ -507,6 +507,7 @@ $db = $this->escort->db; $uid = $this->escort->getCurrentUserId(); + $tdata['gto_mail_sent_num'] = new Zend_Db_Expr('gto_mail_sent_num + 1'); $tdata['gto_mail_sent_date'] = $this->_mailDate; $db->update('gems__tokens', $tdata, $db->quoteInto('gto_id_token = ?', $tokenData['gto_id_token'])); Modified: trunk/library/configs/db/patches.sql =================================================================== --- trunk/library/configs/db/patches.sql 2012-05-29 14:55:54 UTC (rev 702) +++ trunk/library/configs/db/patches.sql 2012-05-29 15:19:06 UTC (rev 703) @@ -400,4 +400,10 @@ ALTER TABLE `gems__organizations` ADD `gor_allowed_ip_ranges` TEXT CHARACTER SET 'utf8' COLLATE 'utf8_general_ci' null AFTER `gor_respondent_group`; --PATCH: organization code no longer needs to be unique -ALTER TABLE `gems__organizations` DROP INDEX `gor_code` , ADD INDEX `gor_code` ( `gor_code` ); \ No newline at end of file +ALTER TABLE `gems__organizations` DROP INDEX `gor_code` , ADD INDEX `gor_code` ( `gor_code` ); + +-- PATCH: Add number of reminders sent to tokens +ALTER TABLE `gems__tokens` ADD `gto_mail_sent_num` INT(11) UNSIGNED NOT NULL DEFAULT 0 AFTER `gto_mail_sent_date`; + +-- PATCH: Add column to store maximum number of reminders (default is 3) to mail jobs +ALTER TABLE `gems__mail_jobs` ADD `gmj_filter_max_reminders` INT(11) UNSIGNED NOT NULL DEFAULT 3 AFTER `gmj_filter_days_between`; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gem...@li...> - 2012-05-29 14:56:03
|
Revision: 702 http://gemstracker.svn.sourceforge.net/gemstracker/?rev=702&view=rev Author: michieltcs Date: 2012-05-29 14:55:54 +0000 (Tue, 29 May 2012) Log Message: ----------- Remove debug statement Modified Paths: -------------- trunk/library/classes/Gems/Tracker/Snippets/EditTrackSnippetAbstract.php Modified: trunk/library/classes/Gems/Tracker/Snippets/EditTrackSnippetAbstract.php =================================================================== --- trunk/library/classes/Gems/Tracker/Snippets/EditTrackSnippetAbstract.php 2012-05-29 10:52:46 UTC (rev 701) +++ trunk/library/classes/Gems/Tracker/Snippets/EditTrackSnippetAbstract.php 2012-05-29 14:55:54 UTC (rev 702) @@ -271,7 +271,6 @@ parent::loadFormData(); } - MUtil_Echo::track($this->formData); if (! array_key_exists(self::TRACKFIELDS_ID, $this->formData)) { if ($this->trackEngine) { $this->formData[self::TRACKFIELDS_ID] = $this->trackEngine->getFieldsData($this->respondentTrackId); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gem...@li...> - 2012-05-29 10:52:57
|
Revision: 701 http://gemstracker.svn.sourceforge.net/gemstracker/?rev=701&view=rev Author: michieltcs Date: 2012-05-29 10:52:46 +0000 (Tue, 29 May 2012) Log Message: ----------- Include option to group surveys 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-05-24 13:29:00 UTC (rev 700) +++ trunk/library/classes/Gems/Default/RespondentExportAction.php 2012-05-29 10:52:46 UTC (rev 701) @@ -60,6 +60,10 @@ $element->setLabel($this->_('Respondent number')); $form->addElement($element); + $element = new Zend_Form_Element_Checkbox('group'); + $element->setLabel($this->_('Group surveys')); + $form->addElement($element); + $element = new Zend_Form_Element_Submit('export'); $element->setLabel($this->_('Export')) ->setAttrib('class', 'button'); @@ -75,30 +79,40 @@ */ protected function _exportTrackTokens(Gems_Tracker_RespondentTrack $track) { + $groupSurveys = $this->getRequest()->getParam('group'); + $token = $track->getFirstToken(); $engine = $track->getTrackEngine(); + $surveys = array(); $table = $this->html->table(array('class' => 'browser')); $table->th($this->_('Survey')) ->th($this->_('Round')) ->th($this->_('Token')) ->th($this->_('Completed')); - $this->html->br(); - $token = $track->getFirstToken(); - while ($token) { $table->tr()->td($token->getSurveyName()) ->td(($engine->getTrackType() == 'T' ? $token->getRoundDescription() : $this->_('Single Survey'))) ->td(strtoupper($token->getTokenId())) ->td(($token->isCompleted() ? $this->_('Yes') : $this->_('No'))); - if ($token->isCompleted()) { + if (($engine->getTrackType() == 'S' || !$groupSurveys) && $token->isCompleted()) { $this->html->span()->b($token->getSurveyName() . ($token->getRoundDescription() ? ' (' . $token->getRoundDescription() . ')' : '')); $this->addSnippet('AnswerModelSnippet', 'token', $token, 'tokenId', $token->getTokenId(), 'showHeaders', false, 'showButtons', false, 'showSelected', false, 'showTakeButton', false); $this->html->br(); + } else { + if (!isset($surveys[$token->getSurveyId()])) { + $surveys[$token->getSurveyId()] = true; + + $this->html->span()->b($token->getSurveyName()); + $this->addSnippet('TrackAnswersModelSnippet', 'token', $token, 'tokenId', $token->getTokenId(), + 'showHeaders', false, 'showButtons', false, 'showSelected', false, 'showTakeButton', false); + + $this->html->br(); + } } $token = $token->getNextToken(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gem...@li...> - 2012-05-24 13:29:11
|
Revision: 700 http://gemstracker.svn.sourceforge.net/gemstracker/?rev=700&view=rev Author: matijsdejong Date: 2012-05-24 13:29:00 +0000 (Thu, 24 May 2012) Log Message: ----------- Real fix for 695: the problem was in teh double application of a dateFormat with a formatFunction (disable everywhere) and a default value that use a different date format than the storageFormat. Modified Paths: -------------- trunk/library/classes/Gems/Default/SurveyAction.php trunk/library/classes/Gems/Default/TrackAction.php trunk/library/classes/Gems/Default/TrackActionAbstract.php trunk/library/classes/Gems/FormattedData.php trunk/library/classes/Gems/Tracker/Snippets/EditTrackSnippetAbstract.php trunk/library/classes/Gems/Tracker/Snippets/ShowTrackUsageAbstract.php trunk/library/classes/MUtil/Model/TableBridgeAbstract.php trunk/library/classes/MUtil/View/Helper/Exhibitor.php Modified: trunk/library/classes/Gems/Default/SurveyAction.php =================================================================== --- trunk/library/classes/Gems/Default/SurveyAction.php 2012-05-24 12:37:55 UTC (rev 699) +++ trunk/library/classes/Gems/Default/SurveyAction.php 2012-05-24 13:29:00 UTC (rev 700) @@ -190,10 +190,14 @@ //$model->resetOrder(); $model->set('gsu_survey_name', 'label', $this->_('Survey')); $model->set('ggp_name', 'label', $this->_('By'), 'elementClass', 'Exhibitor'); - $model->set('gtr_date_start', 'label', $this->_('From'), 'dateFormat', Gems_Tracker::DB_DATE_FORMAT, 'tdClass', 'date', - 'formatFunction', $this->util->getTranslated()->formatDate); - $model->set('gtr_date_until', 'label', $this->_('Until'), 'dateFormat', Gems_Tracker::DB_DATE_FORMAT, 'tdClass', 'date', - 'formatFunction', $this->util->getTranslated()->formatDateNa); + $model->set('gtr_date_start', 'label', $this->_('From'), + 'dateFormat', 'dd-MM-yyyy', + 'tdClass', 'date', + 'formatFunction', $this->util->getTranslated()->formatDate); + $model->set('gtr_date_until', 'label', $this->_('Until'), + 'dateFormat', 'dd-MM-yyyy', + 'tdClass', 'date', + 'formatFunction', $this->util->getTranslated()->formatDateNa); return $model; } Modified: trunk/library/classes/Gems/Default/TrackAction.php =================================================================== --- trunk/library/classes/Gems/Default/TrackAction.php 2012-05-24 12:37:55 UTC (rev 699) +++ trunk/library/classes/Gems/Default/TrackAction.php 2012-05-24 13:29:00 UTC (rev 700) @@ -327,9 +327,9 @@ //$model->resetOrder(); $model->set('gtr_track_name', 'label', $this->_('Track')); $model->set('gtr_survey_rounds', 'label', $this->_('Survey #'), 'tdClass', 'centerAlign', 'thClass', 'centerAlign'); - $model->set('gtr_date_start', 'label', $this->_('From'), 'dateFormat', Gems_Tracker::DB_DATE_FORMAT, + $model->set('gtr_date_start', 'label', $this->_('From'), 'dateFormat', 'dd-MM-yyyy', 'formatFunction', $this->util->getTranslated()->formatDate); - $model->set('gtr_date_until', 'label', $this->_('Until'), 'dateFormat', Gems_Tracker::DB_DATE_FORMAT, + $model->set('gtr_date_until', 'label', $this->_('Until'), 'dateFormat', 'dd-MM-yyyy', 'formatFunction', $this->util->getTranslated()->formatDateNa); return $model; Modified: trunk/library/classes/Gems/Default/TrackActionAbstract.php =================================================================== --- trunk/library/classes/Gems/Default/TrackActionAbstract.php 2012-05-24 12:37:55 UTC (rev 699) +++ trunk/library/classes/Gems/Default/TrackActionAbstract.php 2012-05-24 13:29:00 UTC (rev 700) @@ -209,9 +209,9 @@ 'description', $this->_('Enter the particulars concerning the assignment to this respondent.')); $model->set('assigned_by', 'label', $this->_('Assigned by')); $model->set('gr2t_start_date', 'label', $this->_('Start'), - 'dateFormat', Gems_Tracker::DB_DATE_FORMAT, + 'dateFormat', 'dd-MM-yyyy', 'formatFunction', $this->util->getTranslated()->formatDate, - 'default', MUtil_Date::format(new Zend_date(), 'dd-MM-yyyy')); + 'default', new Zend_date()); $model->set('gr2t_reception_code'); $model->set('gr2t_comment', 'label', $this->_('Comment')); Modified: trunk/library/classes/Gems/FormattedData.php =================================================================== --- trunk/library/classes/Gems/FormattedData.php 2012-05-24 12:37:55 UTC (rev 699) +++ trunk/library/classes/Gems/FormattedData.php 2012-05-24 13:29:00 UTC (rev 700) @@ -109,13 +109,12 @@ } } - if ($dateFormat = $model->get($name, 'dateFormat')) { - $storageFormat = $model->get($name, 'storageFormat'); - $result = MUtil_Date::format($result, $dateFormat, $storageFormat); - } if ($callback = $model->get($name, 'formatFunction')) { $result = call_user_func($callback, $result); + } elseif ($dateFormat = $model->get($name, 'dateFormat')) { + $storageFormat = $model->get($name, 'storageFormat'); + $result = MUtil_Date::format($result, $dateFormat, $storageFormat); } if ($function = $model->get($name, 'itemDisplay')) { Modified: trunk/library/classes/Gems/Tracker/Snippets/EditTrackSnippetAbstract.php =================================================================== --- trunk/library/classes/Gems/Tracker/Snippets/EditTrackSnippetAbstract.php 2012-05-24 12:37:55 UTC (rev 699) +++ trunk/library/classes/Gems/Tracker/Snippets/EditTrackSnippetAbstract.php 2012-05-24 13:29:00 UTC (rev 700) @@ -150,9 +150,9 @@ $model->set('gr2t_track_info', 'label', $this->_('Description')); $model->set('assigned_by', 'label', $this->_('Assigned by')); $model->set('gr2t_start_date', 'label', $this->_('Start'), - 'dateFormat', Gems_Tracker::DB_DATE_FORMAT, + 'dateFormat', 'dd-MM-yyyy', 'formatFunction', $this->loader->getUtil()->getTranslated()->formatDate, - 'default', MUtil_Date::format(new Zend_date(), 'dd-MM-yyyy')); + 'default', new Zend_date()); $model->set('gr2t_reception_code'); $model->set('gr2t_comment', 'label', $this->_('Comment')); @@ -267,11 +267,11 @@ $filter['gr2o_id_organization'] = $this->organizationId; $this->formData = $this->getModel()->loadNew(null, $filter); - } else { parent::loadFormData(); } + MUtil_Echo::track($this->formData); if (! array_key_exists(self::TRACKFIELDS_ID, $this->formData)) { if ($this->trackEngine) { $this->formData[self::TRACKFIELDS_ID] = $this->trackEngine->getFieldsData($this->respondentTrackId); Modified: trunk/library/classes/Gems/Tracker/Snippets/ShowTrackUsageAbstract.php =================================================================== --- trunk/library/classes/Gems/Tracker/Snippets/ShowTrackUsageAbstract.php 2012-05-24 12:37:55 UTC (rev 699) +++ trunk/library/classes/Gems/Tracker/Snippets/ShowTrackUsageAbstract.php 2012-05-24 13:29:00 UTC (rev 700) @@ -1,10 +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 @@ -15,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 @@ -26,8 +25,8 @@ * 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 Tracker * @author Matijs de Jong <mj...@ma...> @@ -38,9 +37,9 @@ /** * Displays the assignments of a track to a respondent. - * - * This code contains some display options for excluding or marking a single track - * and for processing the passed parameters identifying the respondent and the + * + * This code contains some display options for excluding or marking a single track + * and for processing the passed parameters identifying the respondent and the * optional single track. * * @package Gems @@ -62,68 +61,68 @@ /** * Optional, when true current item is not shown, when false the current row is marked as the currentRow. - * + * * @var boolean */ protected $excludeCurrent = false; - + /** * @var Zend_Db_Adapter_Abstract */ protected $db; - + /** * Required - * + * * @var Gems_Loader */ protected $loader; - + /** * Optional, required when using $trackEngine or $trackId only * * @var int Organization Id */ protected $organizationId; - + /** * Optional, required when using $trackEngine or $trackId only * * @var int Patient Id */ protected $patientId; - + /** * Optional, one of $respondentTrack, $respondentTrackId, $trackEngine, $trackId should be set * * @var Gems_Tracker_RespondentTrack */ protected $respondentTrack; - + /** * * @var int Respondent Track Id */ protected $respondentTrackId; - + /** * Optional, one of $respondentTrack, $respondentTrackId, $trackEngine, $trackId should be set - * + * * $trackEngine and TrackId need $patientId and $organizationId to be set as well - * + * * @var Gems_Tracker_Engine_TrackEngineInterface */ protected $trackEngine; - + /** * Optional, one of $respondentTrack, $respondentTrackId, $trackEngine, $trackId should be set * * $trackEngine and TrackId need $patientId and $organizationId to be set as well - * + * * @var int Track Id */ protected $trackId; - + /** * Should be called after answering the request to allow the Target * to check if all required registry values have been set correctly. @@ -134,7 +133,7 @@ { return $this->db && $this->loader && parent::checkRegistryRequestsAnswers(); } - + /** * Creates the model * @@ -143,20 +142,20 @@ protected function createModel() { $model = $this->loader->getTracker()->getRespondentTrackModel(); - + $model->set('gtr_track_name', 'label', $this->_('Track')); $model->set('gr2t_track_info', 'label', $this->_('Description'), 'description', $this->_('Enter the particulars concerning the assignment to this respondent.')); $model->set('assigned_by', 'label', $this->_('Assigned by')); $model->set('gr2t_start_date', 'label', $this->_('Start'), - 'dateFormat', Gems_Tracker::DB_DATE_FORMAT, + 'dateFormat', 'dd-MM-yyyy', 'formatFunction', $this->loader->getUtil()->getTranslated()->formatDate, - 'default', MUtil_Date::format(new Zend_date(), 'dd-MM-yyyy')); + 'default', new Zend_date()); $model->set('gr2t_reception_code'); - + return $model; } - + /** * Create the snippets content * @@ -168,19 +167,19 @@ public function getHtmlOutput(Zend_View_Abstract $view) { $seq = $this->getHtmlSequence(); - + $seq->h3($this->getTitle()); - + $table = parent::getHtmlOutput($view); $this->applyHtmlAttributes($table); - + $seq->append($table); - + return $seq; } abstract protected function getTitle(); - + /** * The place to check if the data set in the snippet is valid * to generate the snippet. @@ -206,7 +205,7 @@ if ((! $this->trackId) && $this->trackEngine) { $this->trackId = $this->trackEngine->getTrackId(); } - + // Check if a sufficient set of data is there if (! ($this->trackId || $this->patientId || $this->organizationId)) { // Now we really need $this->respondentTrack @@ -219,7 +218,7 @@ } } } - + if (! $this->trackId) { $this->trackId = $this->respondentTrack->getTrackId(); } @@ -229,9 +228,9 @@ if (! $this->organizationId) { $this->organizationId = $this->respondentTrack->getOrganizationId(); } - + // MUtil_Echo::track($this->trackId, $this->patientId, $this->organizationId, $this->respondentTrackId); - + return parent::hasHtmlOutput(); } @@ -241,15 +240,15 @@ * @param MUtil_Model_ModelAbstract $model */ protected function processFilterAndSort(MUtil_Model_ModelAbstract $model) - { + { if ($this->request) { $this->processSortOnly($model); } - + $filter['gtr_id_track'] = $this->trackId; $filter['gr2o_patient_nr'] = $this->patientId; $filter['gr2o_id_organization'] = $this->organizationId; - + if ($this->excludeCurrent) { $filter[] = $this->db->quoteInto('gr2t_id_respondent_track != ?', $this->respondentTrackId); } Modified: trunk/library/classes/MUtil/Model/TableBridgeAbstract.php =================================================================== --- trunk/library/classes/MUtil/Model/TableBridgeAbstract.php 2012-05-24 12:37:55 UTC (rev 699) +++ trunk/library/classes/MUtil/Model/TableBridgeAbstract.php 2012-05-24 13:29:00 UTC (rev 700) @@ -89,7 +89,9 @@ $value = MUtil_Lazy::offsetGet($multi, $value); } - if ($format = $this->model->get($name, 'dateFormat')) { + if ($function = $this->model->get($name, 'formatFunction')) { + $value = MUtil_Lazy::call($function, $value); + } elseif ($format = $this->model->get($name, 'dateFormat')) { if (is_callable($format)) { $value = MUtil_Lazy::call($format, $value); } else { @@ -97,10 +99,6 @@ } } - if ($function = $this->model->get($name, 'formatFunction')) { - $value = MUtil_Lazy::call($function, $value); - } - if ($marker = $this->model->get($name, 'markCallback')) { $value = MUtil_Lazy::call($marker, $value); } Modified: trunk/library/classes/MUtil/View/Helper/Exhibitor.php =================================================================== --- trunk/library/classes/MUtil/View/Helper/Exhibitor.php 2012-05-24 12:37:55 UTC (rev 699) +++ trunk/library/classes/MUtil/View/Helper/Exhibitor.php 2012-05-24 13:29:00 UTC (rev 700) @@ -1,47 +1,47 @@ <?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. - */ - /** - * - * @author Matijs de Jong - * @since 1.0 - * @version 1.1 - * @package MUtil + * 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 MUtil * @subpackage View + * @author Matijs de Jong <mj...@ma...> + * @copyright Copyright (c) 2012 Erasmus MC + * @license New BSD License + * @version $id: FormSelectHtml.php 203 2012-01-01t 12:51:32Z matijs $ */ /** - * - * @author Matijs de Jong - * @package MUtil + * + * @package MUtil * @subpackage View + * @copyright Copyright (c) 2012 Erasmus MC + * @license New BSD License + * @since Class available since version 1.0 */ class MUtil_View_Helper_Exhibitor extends Zend_View_Helper_FormElement { @@ -80,18 +80,16 @@ } } - if (isset($attribs['dateFormat'])) { + if (isset($attribs['formatFunction'])) { + $callback = $attribs['formatFunction']; + $result = call_user_func($callback, $result); + } elseif (isset($attribs['dateFormat'])) { $dateFormat = $attribs['dateFormat']; $storageFormat = isset($attribs['storageFormat']) ? $attribs['storageFormat'] : null; $result = MUtil_Date::format($result, $dateFormat, $storageFormat); } - if (isset($attribs['formatFunction'])) { - $callback = $attribs['formatFunction']; - $result = call_user_func($callback, $result); - } - if (isset($attribs['itemDisplay'])) { $function = $attribs['itemDisplay']; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gem...@li...> - 2012-05-24 12:38:06
|
Revision: 699 http://gemstracker.svn.sourceforge.net/gemstracker/?rev=699&view=rev Author: mennodekker Date: 2012-05-24 12:37:55 +0000 (Thu, 24 May 2012) Log Message: ----------- gor_code no longer needs to be unique so related orgs can share this code if needed Modified Paths: -------------- trunk/library/configs/db/patches.sql Modified: trunk/library/configs/db/patches.sql =================================================================== --- trunk/library/configs/db/patches.sql 2012-05-23 14:42:18 UTC (rev 698) +++ trunk/library/configs/db/patches.sql 2012-05-24 12:37:55 UTC (rev 699) @@ -397,4 +397,7 @@ -- GEMS VERSION: 47 -- PATCH: Add return url to tokens ALTER TABLE gems__tokens ADD gto_return_url varchar(250) CHARACTER SET 'utf8' COLLATE 'utf8_general_ci' null default null AFTER gto_reception_code; -ALTER TABLE `gems__organizations` ADD `gor_allowed_ip_ranges` TEXT CHARACTER SET 'utf8' COLLATE 'utf8_general_ci' null AFTER `gor_respondent_group`; \ No newline at end of file +ALTER TABLE `gems__organizations` ADD `gor_allowed_ip_ranges` TEXT CHARACTER SET 'utf8' COLLATE 'utf8_general_ci' null AFTER `gor_respondent_group`; + +--PATCH: organization code no longer needs to be unique +ALTER TABLE `gems__organizations` DROP INDEX `gor_code` , ADD INDEX `gor_code` ( `gor_code` ); \ 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-05-23 14:42:24
|
Revision: 698 http://gemstracker.svn.sourceforge.net/gemstracker/?rev=698&view=rev Author: mennodekker Date: 2012-05-23 14:42:18 +0000 (Wed, 23 May 2012) Log Message: ----------- Added a little clarification Modified Paths: -------------- trunk/library/classes/Gems/User/RadiusUserDefinition.php Modified: trunk/library/classes/Gems/User/RadiusUserDefinition.php =================================================================== --- trunk/library/classes/Gems/User/RadiusUserDefinition.php 2012-05-23 08:01:27 UTC (rev 697) +++ trunk/library/classes/Gems/User/RadiusUserDefinition.php 2012-05-23 14:42:18 UTC (rev 698) @@ -162,7 +162,11 @@ $model->setIfExists('grcfg_ip', 'label', $this->translate->_('IP address')); $model->setIfExists('grcfg_port', 'label', $this->translate->_('Port')); - $model->setIfExists('grcfg_secret', 'label', $this->translate->_('Shared secret'), 'elementClass', 'password', 'required', false); + $model->setIfExists('grcfg_secret', + 'label', $this->translate->_('Shared secret'), + 'elementClass', 'password', + 'required', false, + 'description', $this->translate->_('Enter only when changing')); $model->setSaveWhenNotNull('grcfg_secret'); $this->_configModel = $model; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gem...@li...> - 2012-05-23 08:01:39
|
Revision: 697 http://gemstracker.svn.sourceforge.net/gemstracker/?rev=697&view=rev Author: mennodekker Date: 2012-05-23 08:01:27 +0000 (Wed, 23 May 2012) Log Message: ----------- Now really fixing apc cache slam Modified Paths: -------------- trunk/library/classes/Gems/User/UserLoader.php Modified: trunk/library/classes/Gems/User/UserLoader.php =================================================================== --- trunk/library/classes/Gems/User/UserLoader.php 2012-05-21 13:24:59 UTC (rev 696) +++ trunk/library/classes/Gems/User/UserLoader.php 2012-05-23 08:01:27 UTC (rev 697) @@ -349,7 +349,6 @@ static $urls; if (! is_array($urls)) { - $urls = array(); if ($this->cache) { $cacheId = GEMS_PROJECT_NAME . '__' . get_class($this) . '__organizations_url'; $urls = $this->cache->load($cacheId); @@ -360,6 +359,7 @@ // When we don't use cache or cache reports 'false' for a miss or expiration // then try to reload the data if ($cacheId === false || $urls === false) { + $urls = array(); try { $data = $this->db->fetchPairs("SELECT gor_id_organization, gor_url_base FROM gems__organizations WHERE gor_active=1 AND gor_url_base IS NOT NULL"); } catch (Zend_Db_Exception $zde) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gem...@li...> - 2012-05-21 13:25:09
|
Revision: 696 http://gemstracker.svn.sourceforge.net/gemstracker/?rev=696&view=rev Author: michieltcs Date: 2012-05-21 13:24:59 +0000 (Mon, 21 May 2012) Log Message: ----------- Tagging pulse bi-weekly release Added Paths: ----------- tags/1.5.4-pulse-20120521/ Property changes on: tags/1.5.4-pulse-20120521 ___________________________________________________________________ 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-05-21 09:39:50
|
Revision: 695 http://gemstracker.svn.sourceforge.net/gemstracker/?rev=695&view=rev Author: michieltcs Date: 2012-05-21 09:39:40 +0000 (Mon, 21 May 2012) Log Message: ----------- Correct some date formats Modified Paths: -------------- trunk/library/classes/Gems/Default/SurveyAction.php trunk/library/classes/Gems/Default/TrackAction.php trunk/library/classes/Gems/Default/TrackActionAbstract.php trunk/library/classes/Gems/Tracker/Snippets/EditTrackSnippetAbstract.php trunk/library/classes/Gems/Tracker/Snippets/ShowTrackUsageAbstract.php Modified: trunk/library/classes/Gems/Default/SurveyAction.php =================================================================== --- trunk/library/classes/Gems/Default/SurveyAction.php 2012-05-21 09:00:49 UTC (rev 694) +++ trunk/library/classes/Gems/Default/SurveyAction.php 2012-05-21 09:39:40 UTC (rev 695) @@ -190,9 +190,9 @@ //$model->resetOrder(); $model->set('gsu_survey_name', 'label', $this->_('Survey')); $model->set('ggp_name', 'label', $this->_('By'), 'elementClass', 'Exhibitor'); - $model->set('gtr_date_start', 'label', $this->_('From'), 'dateFormat', 'dd-MM-yyyy', 'tdClass', 'date', + $model->set('gtr_date_start', 'label', $this->_('From'), 'dateFormat', Gems_Tracker::DB_DATE_FORMAT, 'tdClass', 'date', 'formatFunction', $this->util->getTranslated()->formatDate); - $model->set('gtr_date_until', 'label', $this->_('Until'), 'dateFormat', 'dd-MM-yyyy', 'tdClass', 'date', + $model->set('gtr_date_until', 'label', $this->_('Until'), 'dateFormat', Gems_Tracker::DB_DATE_FORMAT, 'tdClass', 'date', 'formatFunction', $this->util->getTranslated()->formatDateNa); return $model; Modified: trunk/library/classes/Gems/Default/TrackAction.php =================================================================== --- trunk/library/classes/Gems/Default/TrackAction.php 2012-05-21 09:00:49 UTC (rev 694) +++ trunk/library/classes/Gems/Default/TrackAction.php 2012-05-21 09:39:40 UTC (rev 695) @@ -327,9 +327,9 @@ //$model->resetOrder(); $model->set('gtr_track_name', 'label', $this->_('Track')); $model->set('gtr_survey_rounds', 'label', $this->_('Survey #'), 'tdClass', 'centerAlign', 'thClass', 'centerAlign'); - $model->set('gtr_date_start', 'label', $this->_('From'), 'dateFormat', 'dd-MM-yyyy', + $model->set('gtr_date_start', 'label', $this->_('From'), 'dateFormat', Gems_Tracker::DB_DATE_FORMAT, 'formatFunction', $this->util->getTranslated()->formatDate); - $model->set('gtr_date_until', 'label', $this->_('Until'), 'dateFormat', 'dd-MM-yyyy', + $model->set('gtr_date_until', 'label', $this->_('Until'), 'dateFormat', Gems_Tracker::DB_DATE_FORMAT, 'formatFunction', $this->util->getTranslated()->formatDateNa); return $model; Modified: trunk/library/classes/Gems/Default/TrackActionAbstract.php =================================================================== --- trunk/library/classes/Gems/Default/TrackActionAbstract.php 2012-05-21 09:00:49 UTC (rev 694) +++ trunk/library/classes/Gems/Default/TrackActionAbstract.php 2012-05-21 09:39:40 UTC (rev 695) @@ -209,6 +209,7 @@ 'description', $this->_('Enter the particulars concerning the assignment to this respondent.')); $model->set('assigned_by', 'label', $this->_('Assigned by')); $model->set('gr2t_start_date', 'label', $this->_('Start'), + 'dateFormat', Gems_Tracker::DB_DATE_FORMAT, 'formatFunction', $this->util->getTranslated()->formatDate, 'default', MUtil_Date::format(new Zend_date(), 'dd-MM-yyyy')); $model->set('gr2t_reception_code'); Modified: trunk/library/classes/Gems/Tracker/Snippets/EditTrackSnippetAbstract.php =================================================================== --- trunk/library/classes/Gems/Tracker/Snippets/EditTrackSnippetAbstract.php 2012-05-21 09:00:49 UTC (rev 694) +++ trunk/library/classes/Gems/Tracker/Snippets/EditTrackSnippetAbstract.php 2012-05-21 09:39:40 UTC (rev 695) @@ -150,7 +150,7 @@ $model->set('gr2t_track_info', 'label', $this->_('Description')); $model->set('assigned_by', 'label', $this->_('Assigned by')); $model->set('gr2t_start_date', 'label', $this->_('Start'), - 'dateFormat', 'dd-MM-yyyy', + 'dateFormat', Gems_Tracker::DB_DATE_FORMAT, 'formatFunction', $this->loader->getUtil()->getTranslated()->formatDate, 'default', MUtil_Date::format(new Zend_date(), 'dd-MM-yyyy')); $model->set('gr2t_reception_code'); Modified: trunk/library/classes/Gems/Tracker/Snippets/ShowTrackUsageAbstract.php =================================================================== --- trunk/library/classes/Gems/Tracker/Snippets/ShowTrackUsageAbstract.php 2012-05-21 09:00:49 UTC (rev 694) +++ trunk/library/classes/Gems/Tracker/Snippets/ShowTrackUsageAbstract.php 2012-05-21 09:39:40 UTC (rev 695) @@ -149,7 +149,7 @@ 'description', $this->_('Enter the particulars concerning the assignment to this respondent.')); $model->set('assigned_by', 'label', $this->_('Assigned by')); $model->set('gr2t_start_date', 'label', $this->_('Start'), - 'dateFormat', 'dd-MM-yyyy', + 'dateFormat', Gems_Tracker::DB_DATE_FORMAT, 'formatFunction', $this->loader->getUtil()->getTranslated()->formatDate, 'default', MUtil_Date::format(new Zend_date(), 'dd-MM-yyyy')); $model->set('gr2t_reception_code'); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gem...@li...> - 2012-05-21 09:00:55
|
Revision: 694 http://gemstracker.svn.sourceforge.net/gemstracker/?rev=694&view=rev Author: mennodekker Date: 2012-05-21 09:00:49 +0000 (Mon, 21 May 2012) Log Message: ----------- Fixed apc cache slam Modified Paths: -------------- trunk/library/classes/Gems/User/UserLoader.php Modified: trunk/library/classes/Gems/User/UserLoader.php =================================================================== --- trunk/library/classes/Gems/User/UserLoader.php 2012-05-20 19:48:24 UTC (rev 693) +++ trunk/library/classes/Gems/User/UserLoader.php 2012-05-21 09:00:49 UTC (rev 694) @@ -349,6 +349,7 @@ static $urls; if (! is_array($urls)) { + $urls = array(); if ($this->cache) { $cacheId = GEMS_PROJECT_NAME . '__' . get_class($this) . '__organizations_url'; $urls = $this->cache->load($cacheId); @@ -356,14 +357,15 @@ $cacheId = false; } - if (! $urls) { + // When we don't use cache or cache reports 'false' for a miss or expiration + // then try to reload the data + if ($cacheId === false || $urls === false) { try { $data = $this->db->fetchPairs("SELECT gor_id_organization, gor_url_base FROM gems__organizations WHERE gor_active=1 AND gor_url_base IS NOT NULL"); } catch (Zend_Db_Exception $zde) { // Table might not be filled $data = array(); } - $urls = array(); foreach ($data as $orgId => $urlsBase) { foreach (explode(' ', $urlsBase) as $url) { if ($url) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gem...@li...> - 2012-05-20 19:48:30
|
Revision: 693 http://gemstracker.svn.sourceforge.net/gemstracker/?rev=693&view=rev Author: mennodekker Date: 2012-05-20 19:48:24 +0000 (Sun, 20 May 2012) Log Message: ----------- layoutswitch is only for multi-layout projects 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-05-18 14:45:28 UTC (rev 692) +++ trunk/library/classes/Gems/Default/RespondentExportAction.php 2012-05-20 19:48:24 UTC (rev 693) @@ -217,7 +217,9 @@ $this->_exportRespondent($respondentId); $this->escort->menu->setVisible(false); - $this->escort->layoutSwitch(); + if ($this->escort instanceof Gems_Project_Layout_MultiLayoutInterface) { + $this->escort->layoutSwitch(); + } $this->escort->postDispatch($this->getRequest()); $this->_helper->layout()->disableLayout(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gem...@li...> - 2012-05-18 14:45:37
|
Revision: 692 http://gemstracker.svn.sourceforge.net/gemstracker/?rev=692&view=rev Author: michieltcs Date: 2012-05-18 14:45:28 +0000 (Fri, 18 May 2012) Log Message: ----------- Add MUtil_Validate_Pdf to fake translations Modified Paths: -------------- trunk/library/languages/FakeTranslations.php trunk/library/languages/default-nl.mo trunk/library/languages/default-nl.po Modified: trunk/library/languages/FakeTranslations.php =================================================================== --- trunk/library/languages/FakeTranslations.php 2012-05-18 14:38:23 UTC (rev 691) +++ trunk/library/languages/FakeTranslations.php 2012-05-18 14:45:28 UTC (rev 692) @@ -71,6 +71,9 @@ // MUtil_Validate_Phone _("'%value%' is not a phone number (e.g. +12 (0)34-567 890)."); +// MUtil_Validate_Pdf +_('Unsupported PDF version %value% - only versions 1.0 - 1.4 are supported.'); + // MUtil_Validate_Require _("To set '%description%' you have to set '%fieldDescription%'."); Modified: trunk/library/languages/default-nl.mo =================================================================== (Binary files differ) Modified: trunk/library/languages/default-nl.po =================================================================== --- trunk/library/languages/default-nl.po 2012-05-18 14:38:23 UTC (rev 691) +++ trunk/library/languages/default-nl.po 2012-05-18 14:45:28 UTC (rev 692) @@ -2,7 +2,7 @@ msgstr "" "Project-Id-Version: GemsTracker NL\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-05-18 15:55+0100\n" +"POT-Creation-Date: 2012-05-18 16:44+0100\n" "PO-Revision-Date: \n" "Last-Translator: Michiel Rook <in...@to...>\n" "Language-Team: Erasmus MGZ <mat...@ma...>\n" @@ -2281,88 +2281,83 @@ msgid "Upload new PDF" msgstr "Upload nieuwe PDF" -#: classes/Gems/Default/SurveyMaintenanceAction.php:135 +#: classes/Gems/Default/SurveyMaintenanceAction.php:136 msgid "Usage" msgstr "Gebruik" -#: classes/Gems/Default/SurveyMaintenanceAction.php:150 +#: classes/Gems/Default/SurveyMaintenanceAction.php:151 msgid "Single Survey Assignment" msgstr "Losse vragenlijst toewijzing" -#: classes/Gems/Default/SurveyMaintenanceAction.php:195 +#: classes/Gems/Default/SurveyMaintenanceAction.php:196 msgid "Assignable since" msgstr "Toewijsbaar sinds" -#: classes/Gems/Default/SurveyMaintenanceAction.php:196 +#: classes/Gems/Default/SurveyMaintenanceAction.php:197 msgid "Assignable until" msgstr "Toewijsbaar tot" -#: classes/Gems/Default/SurveyMaintenanceAction.php:202 +#: classes/Gems/Default/SurveyMaintenanceAction.php:203 msgid "Create Single Survey" msgstr "Maak losse vragenlijst" -#: classes/Gems/Default/SurveyMaintenanceAction.php:206 +#: classes/Gems/Default/SurveyMaintenanceAction.php:207 msgid "At the moment this survey can only be assigned to respondents as part of an existing track." msgstr "Op dit moment kan deze vragenlijst alleen aan patiënten toegewezen als onderdeel van een traject." -#: classes/Gems/Default/SurveyMaintenanceAction.php:255 -#, php-format -msgid "Unsupported PDF version %s - only versions 1.0 - 1.4 are supported." -msgstr "Deze PDF heeft een versie (%s) die niet ondersteund wordt, slechts versies 1.0-1.4 worden ondersteund." - -#: classes/Gems/Default/SurveyMaintenanceAction.php:270 +#: classes/Gems/Default/SurveyMaintenanceAction.php:262 msgid "Survey should be assigned to a group before making it active." msgstr "Vragenlijst moet aan een groep toegewezen worden voordat deze actief kan worden gemaakt." -#: classes/Gems/Default/SurveyMaintenanceAction.php:287 +#: classes/Gems/Default/SurveyMaintenanceAction.php:279 #, php-format msgid "Checking survey results for the %s survey." msgstr "Controle op vragenlijstresultaten voor de vragenlijst '%s'." -#: classes/Gems/Default/SurveyMaintenanceAction.php:299 +#: classes/Gems/Default/SurveyMaintenanceAction.php:291 msgid "Checking survey results for all surveys." msgstr "Controle op vragenlijstresultaten voor alle vragenlijsten." -#: classes/Gems/Default/SurveyMaintenanceAction.php:363 +#: classes/Gems/Default/SurveyMaintenanceAction.php:355 msgid "Source" msgstr "Bron" -#: classes/Gems/Default/SurveyMaintenanceAction.php:364 +#: classes/Gems/Default/SurveyMaintenanceAction.php:356 msgid "Status in source" msgstr "Status in bron" -#: classes/Gems/Default/SurveyMaintenanceAction.php:367 +#: classes/Gems/Default/SurveyMaintenanceAction.php:359 msgid "Active in source" msgstr "Actief in bron" -#: classes/Gems/Default/SurveyMaintenanceAction.php:368 +#: classes/Gems/Default/SurveyMaintenanceAction.php:360 #, php-format msgid "Active in %s" msgstr "Actief in %s" -#: classes/Gems/Default/SurveyMaintenanceAction.php:375 +#: classes/Gems/Default/SurveyMaintenanceAction.php:367 msgid "Single" msgstr "Los" -#: classes/Gems/Default/SurveyMaintenanceAction.php:379 +#: classes/Gems/Default/SurveyMaintenanceAction.php:371 msgid "Group" msgstr "Groep" -#: classes/Gems/Default/SurveyMaintenanceAction.php:408 +#: classes/Gems/Default/SurveyMaintenanceAction.php:400 #, php-format msgid "%d times in track." msgstr "%d keer in traject." -#: classes/Gems/Default/SurveyMaintenanceAction.php:410 +#: classes/Gems/Default/SurveyMaintenanceAction.php:402 #, php-format msgid "%d times in %d track(s)." msgstr "%d keer in %d traject(en)." -#: classes/Gems/Default/SurveyMaintenanceAction.php:414 +#: classes/Gems/Default/SurveyMaintenanceAction.php:406 msgid "Not used in track." msgstr "Niet in traject gebruikt." -#: classes/Gems/Default/SurveyMaintenanceAction.php:416 +#: classes/Gems/Default/SurveyMaintenanceAction.php:408 msgid "Not used in tracks." msgstr "Niet in trajecten gebruikt." @@ -4018,30 +4013,34 @@ msgstr "'%value%' is geen telefoonnummer (zoals: +12 (0)34-567 890)." #: languages/FakeTranslations.php:75 +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 msgid "To set '%description%' you have to set '%fieldDescription%'." msgstr " '%fieldDescription%' moet ingevoerd worden om '%description%' te kunnen kiezen." -#: languages/FakeTranslations.php:79 +#: languages/FakeTranslations.php:82 msgid "'%value%' is not an email address (e.g. na...@so...)." msgstr "'%value%' is niet een email address (zoals na...@er...)." -#: languages/FakeTranslations.php:82 +#: languages/FakeTranslations.php:85 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:85 +#: languages/FakeTranslations.php:88 msgid "'%value%' must contain only digits" msgstr "'%value%' mag alleen cijfers bevatten" -#: languages/FakeTranslations.php:86 +#: languages/FakeTranslations.php:89 msgid "'%value%' is an empty string" msgstr "'%value%' is leeg" -#: languages/FakeTranslations.php:87 +#: languages/FakeTranslations.php:90 msgid "Invalid type given. String, integer or float expected" msgstr "Ongeldige invoer, geef een tekst of een nummer op" -#: languages/FakeTranslations.php:90 +#: languages/FakeTranslations.php:93 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-05-18 14:38:30
|
Revision: 691 http://gemstracker.svn.sourceforge.net/gemstracker/?rev=691&view=rev Author: michieltcs Date: 2012-05-18 14:38:23 +0000 (Fri, 18 May 2012) Log Message: ----------- Move PDF version validation to MUtil_Validate_Pdf Modified Paths: -------------- trunk/library/classes/Gems/Default/SurveyMaintenanceAction.php Added Paths: ----------- trunk/library/classes/MUtil/Validate/Pdf.php Modified: trunk/library/classes/Gems/Default/SurveyMaintenanceAction.php =================================================================== --- trunk/library/classes/Gems/Default/SurveyMaintenanceAction.php 2012-05-18 14:35:15 UTC (rev 690) +++ trunk/library/classes/Gems/Default/SurveyMaintenanceAction.php 2012-05-18 14:38:23 UTC (rev 691) @@ -130,7 +130,8 @@ 'destination', $this->loader->getPdf()->getUploadDir('survey_pdfs'), 'extension', 'pdf', 'filename', $data['gsu_id_survey'], - 'required', false); + 'required', false) + ->addValidator(new MUtil_Validate_Pdf()); $bridge->addExhibitor( 'track_count', 'label', $this->_('Usage'), 'value', $data['track_count']); @@ -242,21 +243,12 @@ } // Set the value of the field in the database. - $data['gsu_survey_pdf'] = null; $new_name = $data['gsu_id_survey'] . '.pdf'; - $pdfSource = $form->new_pdf->getDestination() . DIRECTORY_SEPARATOR . $new_name; - if (file_exists($pdfSource)) { - $objFactory = Zend_Pdf_ElementFactory::createFactory(1); - $parser = new Zend_Pdf_Parser($pdfSource, $objFactory, true); - $version = $parser->getPDFVersion(); - - if (version_compare($version, '1.4', '>')) { - $this->addMessage(sprintf($this->_('Unsupported PDF version %s - only versions 1.0 - 1.4 are supported.'), $version)); - return false; - } - + 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'; Added: trunk/library/classes/MUtil/Validate/Pdf.php =================================================================== --- trunk/library/classes/MUtil/Validate/Pdf.php (rev 0) +++ trunk/library/classes/MUtil/Validate/Pdf.php 2012-05-18 14:38:23 UTC (rev 691) @@ -0,0 +1,80 @@ +<?php + + +/** + * Copyright (c) 2012, 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. + * + * @author Michiel Rook <mi...@to...> + * @version $Id$ + * @package MUtil + * @subpackage Validate + */ + +/** + * + * @author Michiel Rook <mi...@to...> + * @package MUtil + * @subpackage Validate + */ +class MUtil_Validate_Pdf extends Zend_Validate_Abstract +{ + /** + * Error constants + */ + const ERROR_INVALID_VERSION = 'invalidVersion'; + + /** + * @var array Message templates + */ + protected $_messageTemplates = array( + self::ERROR_INVALID_VERSION => 'Unsupported PDF version %value% - only versions 1.0 - 1.4 are supported.' + ); + + /** + * Returns true if and only if $value meets the validation requirements + * + * If $value fails validation, then this method returns false, and + * getMessages() will return an array of messages that explain why the + * validation failed. + * + * @param mixed $value + * @return boolean + * @throws Zend_Valid_Exception If validation of $value is impossible + */ + public function isValid($value, $context = array()) + { + $objFactory = Zend_Pdf_ElementFactory::createFactory(1); + $parser = new Zend_Pdf_Parser($value, $objFactory, true); + $version = $parser->getPDFVersion(); + + if (version_compare($version, '1.4', '>')) { + $this->_error(self::ERROR_INVALID_VERSION, $version); + return false; + } + + return true; + } +} Property changes on: trunk/library/classes/MUtil/Validate/Pdf.php ___________________________________________________________________ Added: svn:keywords + Id Rev Revision Date Author Added: svn:eol-style + native This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gem...@li...> - 2012-05-18 14:35:22
|
Revision: 690 http://gemstracker.svn.sourceforge.net/gemstracker/?rev=690&view=rev Author: michieltcs Date: 2012-05-18 14:35:15 +0000 (Fri, 18 May 2012) Log Message: ----------- Call _mergeOptions after the local parameters are filled Modified Paths: -------------- trunk/library/classes/MUtil/Model/FormBridge.php Modified: trunk/library/classes/MUtil/Model/FormBridge.php =================================================================== --- trunk/library/classes/MUtil/Model/FormBridge.php 2012-05-18 13:56:46 UTC (rev 689) +++ trunk/library/classes/MUtil/Model/FormBridge.php 2012-05-18 14:35:15 UTC (rev 690) @@ -426,14 +426,14 @@ $options = func_get_args(); $options = MUtil_Ra::pairs($options, 1); - $options = $this->_mergeOptions($name, $options, - self::DISPLAY_OPTIONS, self::FILE_OPTIONS, self::TEXT_OPTIONS); - $filename = $this->_moveOption('filename', $options); $count = $this->_moveOption('count', $options); $size = $this->_moveOption('size', $options); $extension = $this->_moveOption('extension', $options); + $options = $this->_mergeOptions($name, $options, + self::DISPLAY_OPTIONS, self::FILE_OPTIONS, self::TEXT_OPTIONS); + $element = new Zend_Form_Element_File($name, $options); if ($filename) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gem...@li...> - 2012-05-18 13:56:54
|
Revision: 689 http://gemstracker.svn.sourceforge.net/gemstracker/?rev=689&view=rev Author: michieltcs Date: 2012-05-18 13:56:46 +0000 (Fri, 18 May 2012) Log Message: ----------- Parse the version of the newly uploaded PDF, throw an error if > 1.4 Modified Paths: -------------- trunk/library/classes/Gems/Default/SurveyMaintenanceAction.php trunk/library/languages/default-nl.mo trunk/library/languages/default-nl.po Modified: trunk/library/classes/Gems/Default/SurveyMaintenanceAction.php =================================================================== --- trunk/library/classes/Gems/Default/SurveyMaintenanceAction.php 2012-05-18 11:48:24 UTC (rev 688) +++ trunk/library/classes/Gems/Default/SurveyMaintenanceAction.php 2012-05-18 13:56:46 UTC (rev 689) @@ -242,12 +242,23 @@ } // Set the value of the field in the database. + $data['gsu_survey_pdf'] = null; $new_name = $data['gsu_id_survey'] . '.pdf'; - if (file_exists($form->new_pdf->getDestination() . DIRECTORY_SEPARATOR . $new_name)) { + $pdfSource = $form->new_pdf->getDestination() . DIRECTORY_SEPARATOR . $new_name; + + if (file_exists($pdfSource)) { + $objFactory = Zend_Pdf_ElementFactory::createFactory(1); + $parser = new Zend_Pdf_Parser($pdfSource, $objFactory, true); + $version = $parser->getPDFVersion(); + + if (version_compare($version, '1.4', '>')) { + $this->addMessage(sprintf($this->_('Unsupported PDF version %s - only versions 1.0 - 1.4 are supported.'), $version)); + return false; + } + $data['gsu_survey_pdf'] = $new_name; - } else { - $data['gsu_survey_pdf'] = null; } + $data['gtr_track_class'] = 'SingleSurveyEngine'; // feature request #200 Modified: trunk/library/languages/default-nl.mo =================================================================== (Binary files differ) Modified: trunk/library/languages/default-nl.po =================================================================== --- trunk/library/languages/default-nl.po 2012-05-18 11:48:24 UTC (rev 688) +++ trunk/library/languages/default-nl.po 2012-05-18 13:56:46 UTC (rev 689) @@ -2,7 +2,7 @@ msgstr "" "Project-Id-Version: GemsTracker NL\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-05-18 13:45+0100\n" +"POT-Creation-Date: 2012-05-18 15:55+0100\n" "PO-Revision-Date: \n" "Last-Translator: Michiel Rook <in...@to...>\n" "Language-Team: Erasmus MGZ <mat...@ma...>\n" @@ -2305,59 +2305,64 @@ msgid "At the moment this survey can only be assigned to respondents as part of an existing track." msgstr "Op dit moment kan deze vragenlijst alleen aan patiënten toegewezen als onderdeel van een traject." -#: classes/Gems/Default/SurveyMaintenanceAction.php:259 +#: classes/Gems/Default/SurveyMaintenanceAction.php:255 +#, php-format +msgid "Unsupported PDF version %s - only versions 1.0 - 1.4 are supported." +msgstr "Deze PDF heeft een versie (%s) die niet ondersteund wordt, slechts versies 1.0-1.4 worden ondersteund." + +#: classes/Gems/Default/SurveyMaintenanceAction.php:270 msgid "Survey should be assigned to a group before making it active." msgstr "Vragenlijst moet aan een groep toegewezen worden voordat deze actief kan worden gemaakt." -#: classes/Gems/Default/SurveyMaintenanceAction.php:276 +#: classes/Gems/Default/SurveyMaintenanceAction.php:287 #, php-format msgid "Checking survey results for the %s survey." msgstr "Controle op vragenlijstresultaten voor de vragenlijst '%s'." -#: classes/Gems/Default/SurveyMaintenanceAction.php:288 +#: classes/Gems/Default/SurveyMaintenanceAction.php:299 msgid "Checking survey results for all surveys." msgstr "Controle op vragenlijstresultaten voor alle vragenlijsten." -#: classes/Gems/Default/SurveyMaintenanceAction.php:352 +#: classes/Gems/Default/SurveyMaintenanceAction.php:363 msgid "Source" msgstr "Bron" -#: classes/Gems/Default/SurveyMaintenanceAction.php:353 +#: classes/Gems/Default/SurveyMaintenanceAction.php:364 msgid "Status in source" msgstr "Status in bron" -#: classes/Gems/Default/SurveyMaintenanceAction.php:356 +#: classes/Gems/Default/SurveyMaintenanceAction.php:367 msgid "Active in source" msgstr "Actief in bron" -#: classes/Gems/Default/SurveyMaintenanceAction.php:357 +#: classes/Gems/Default/SurveyMaintenanceAction.php:368 #, php-format msgid "Active in %s" msgstr "Actief in %s" -#: classes/Gems/Default/SurveyMaintenanceAction.php:364 +#: classes/Gems/Default/SurveyMaintenanceAction.php:375 msgid "Single" msgstr "Los" -#: classes/Gems/Default/SurveyMaintenanceAction.php:368 +#: classes/Gems/Default/SurveyMaintenanceAction.php:379 msgid "Group" msgstr "Groep" -#: classes/Gems/Default/SurveyMaintenanceAction.php:397 +#: classes/Gems/Default/SurveyMaintenanceAction.php:408 #, php-format msgid "%d times in track." msgstr "%d keer in traject." -#: classes/Gems/Default/SurveyMaintenanceAction.php:399 +#: classes/Gems/Default/SurveyMaintenanceAction.php:410 #, php-format msgid "%d times in %d track(s)." msgstr "%d keer in %d traject(en)." -#: classes/Gems/Default/SurveyMaintenanceAction.php:403 +#: classes/Gems/Default/SurveyMaintenanceAction.php:414 msgid "Not used in track." msgstr "Niet in traject gebruikt." -#: classes/Gems/Default/SurveyMaintenanceAction.php:405 +#: classes/Gems/Default/SurveyMaintenanceAction.php:416 msgid "Not used in tracks." msgstr "Niet in trajecten gebruikt." This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gem...@li...> - 2012-05-18 11:48:33
|
Revision: 688 http://gemstracker.svn.sourceforge.net/gemstracker/?rev=688&view=rev Author: michieltcs Date: 2012-05-18 11:48:24 +0000 (Fri, 18 May 2012) Log Message: ----------- Add additional report information, update translations Modified Paths: -------------- trunk/library/classes/Gems/Default/RespondentExportAction.php trunk/library/languages/default-nl.mo trunk/library/languages/default-nl.po Modified: trunk/library/classes/Gems/Default/RespondentExportAction.php =================================================================== --- trunk/library/classes/Gems/Default/RespondentExportAction.php 2012-05-18 10:50:20 UTC (rev 687) +++ trunk/library/classes/Gems/Default/RespondentExportAction.php 2012-05-18 11:48:24 UTC (rev 688) @@ -200,10 +200,20 @@ protected function _render($respondentId) { $this->html = new MUtil_Html_Sequence(); - $this->html->h1('Export'); - $this->html->p(sprintf($this->_('Generated by %s on %s'), - $this->loader->getCurrentUser()->getFullName(), new Zend_Date())); + $this->html->h1($this->_('Respondent report')); + $table = $this->html->table(array('class' => 'browser')); + + $table->th($this->_('Report information'), array('colspan' => 2)); + $table->tr()->th($this->_('Generated by')) + ->td($this->loader->getCurrentUser()->getFullName()); + $table->tr()->th($this->_('Generated on')) + ->td(new Zend_Date()); + $table->tr()->th($this->_('Organization')) + ->td($this->loader->getCurrentUser()->getCurrentOrganization()->getName()); + + $this->html->br(); + $this->_exportRespondent($respondentId); $this->escort->menu->setVisible(false); Modified: trunk/library/languages/default-nl.mo =================================================================== (Binary files differ) Modified: trunk/library/languages/default-nl.po =================================================================== --- trunk/library/languages/default-nl.po 2012-05-18 10:50:20 UTC (rev 687) +++ trunk/library/languages/default-nl.po 2012-05-18 11:48:24 UTC (rev 688) @@ -2,14 +2,14 @@ msgstr "" "Project-Id-Version: GemsTracker NL\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-05-07 11:23+0100\n" +"POT-Creation-Date: 2012-05-18 13:45+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" -"Language: \n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Poedit-Language: Dutch\n" "X-Poedit-Country: NETHERLANDS\n" @@ -23,78 +23,92 @@ msgid "Path %s not writable" msgstr "Path %s niet schrijfbaar" -#: classes/GemsEscort.php:752 +#: classes/GemsEscort.php:756 #, php-format msgid "You are logged in as %s" msgstr "Ingelogd als %s" -#: classes/GemsEscort.php:754 -#: classes/Gems/Menu.php:249 +#: classes/GemsEscort.php:758 msgid "Logoff" msgstr "Uitloggen" -#: classes/GemsEscort.php:757 +#: classes/GemsEscort.php:761 msgid "You are not logged in" msgstr "U bent niet ingelogd" -#: classes/GemsEscort.php:941 +#: classes/GemsEscort.php:945 #, php-format msgid "User: %s" msgstr "Login: %s" -#: classes/GemsEscort.php:966 +#: classes/GemsEscort.php:970 msgid "version" msgstr "versie" -#: classes/GemsEscort.php:1397 +#: 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:1528 +#: classes/GemsEscort.php:1543 msgid "Please check back later." msgstr "Probeer het later opnieuw." -#: classes/GemsEscort.php:1530 -#: classes/GemsEscort.php:1534 -#: classes/GemsEscort.php:1535 +#: classes/GemsEscort.php:1545 +#: classes/GemsEscort.php:1550 msgid "System is in maintenance mode" msgstr "Systeem is in onderhoudsmodus" -#: classes/GemsEscort.php:1545 +#: classes/GemsEscort.php:1560 msgid "No access to site." msgstr "Geen toegang tot website." -#: classes/GemsEscort.php:1547 -#: classes/GemsEscort.php:1589 +#: classes/GemsEscort.php:1562 msgid "You have no access to this site." msgstr "U heeft geen toegang tot deze website." -#: classes/GemsEscort.php:1563 +#: classes/GemsEscort.php:1578 msgid "No access to page" msgstr "Geen toegang tot pagina" -#: classes/GemsEscort.php:1565 +#: 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:1575 -#: classes/GemsEscort.php:1587 +#: classes/GemsEscort.php:1590 msgid "You are no longer logged in." msgstr "U bent niet meer ingelogd." -#: classes/GemsEscort.php:1576 +#: 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:1716 -#: classes/GemsEscort.php:1718 +#: 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:77 +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!" @@ -185,7 +199,6 @@ msgstr "Rollen" #: classes/Gems/Menu.php:197 -#: classes/Gems/Menu.php:346 msgid "Assigned" msgstr "Toegewezen" @@ -218,7 +231,6 @@ msgstr "Upgrade" #: classes/Gems/Menu.php:220 -#: classes/Gems/Menu.php:319 msgid "Show" msgstr "Toon" @@ -264,7 +276,6 @@ msgstr "Uw wachtwoord" #: classes/Gems/Menu.php:248 -#: classes/Gems/Menu.php:288 #: classes/Gems/Menu.php:323 msgid "Token" msgstr "Kenmerk" @@ -274,13 +285,11 @@ msgstr "Traject" #: classes/Gems/Menu.php:291 -#: classes/Gems/Menu.php:311 #: classes/Gems/Menu.php:342 msgid "Add" msgstr "Voeg toe" #: classes/Gems/Menu.php:295 -#: classes/Gems/Menu.php:377 msgid "Preview" msgstr "Preview" @@ -344,89 +353,70 @@ msgid "Track Builder" msgstr "Traject bouwer" -#: classes/Gems/Menu.php:563 +#: classes/Gems/Menu.php:566 msgid "Contact" msgstr "Contact" -#: classes/Gems/Menu.php:576 +#: classes/Gems/Menu.php:579 msgid "Changelog" msgstr "Changelog" -#: classes/Gems/Model.php:205 +#: classes/Gems/Model.php:230 msgid "Respondent nr" msgstr "Patiënt nr" -#: classes/Gems/Model.php:206 +#: classes/Gems/Model.php:231 msgid "Opened" msgstr "Bekeken op" -#: classes/Gems/Model.php:207 +#: classes/Gems/Model.php:232 msgid "Consent" msgstr "Toestemming" -#: classes/Gems/Model.php:209 +#: classes/Gems/Model.php:234 msgid "E-Mail" msgstr "Email" -#: classes/Gems/Model.php:214 +#: classes/Gems/Model.php:239 msgid "Gender" msgstr "Geslacht" -#: classes/Gems/Model.php:215 +#: classes/Gems/Model.php:240 msgid "First name" msgstr "Voornaam" -#: classes/Gems/Model.php:216 +#: classes/Gems/Model.php:241 msgid "Surname prefix" msgstr "Tussenvoegsel" -#: classes/Gems/Model.php:217 +#: classes/Gems/Model.php:242 msgid "Last name" msgstr "Achternaam" -#: classes/Gems/Model.php:219 +#: classes/Gems/Model.php:244 msgid "Name" msgstr "Naam" -#: classes/Gems/Model.php:222 +#: classes/Gems/Model.php:247 msgid "Street" msgstr "Straat" -#: classes/Gems/Model.php:223 +#: classes/Gems/Model.php:248 msgid "Zipcode" msgstr "Postcode" -#: classes/Gems/Model.php:224 +#: classes/Gems/Model.php:249 msgid "City" msgstr "Woonplaats" -#: classes/Gems/Model.php:226 +#: classes/Gems/Model.php:251 msgid "Phone" msgstr "Telefoon" -#: classes/Gems/Model.php:228 +#: classes/Gems/Model.php:253 msgid "Birthday" msgstr "Geboren op" -#: 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:77 -msgid "Syncing surveys for all sources" -msgstr "Vragenlijsten synchroniseren voor alle bronnen." - #: classes/Gems/UpgradesAbstract.php:154 msgid "Already at max. level." msgstr "Al op het hoogste niveau." @@ -441,18 +431,250 @@ msgid "Trying upgrade for %s to level %s: %s" msgstr "Probeert upgrade voor %s naar niveau %s: %s" -#: classes/Gems/Controller/BrowseEditAction.php:354 +#: 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" + +#: classes/Gems/Util/Translated.php:204 +msgid "Unknown" +msgstr "Onbekend" + +#: classes/Gems/Util/Translated.php:217 +msgid "mr." +msgstr "meneer" + +#: classes/Gems/Util/Translated.php:217 +msgid "mrs." +msgstr "mevrouw" + +#: classes/Gems/Util/Translated.php:217 +msgid "mr./mrs." +msgstr "heer/mevrouw" + +#: classes/Gems/Util/Translated.php:230 +msgid "Mr." +msgstr "De heer" + +#: classes/Gems/Util/Translated.php:230 +msgid "Mrs." +msgstr "Mevrouw" + +#: classes/Gems/Util/Translated.php:230 +msgid "Mr./Mrs." +msgstr "De heer/Mevrouw" + +#: classes/Gems/Util/Translated.php:238 +msgid "Yes" +msgstr "Ja" + +#: classes/Gems/Util/Translated.php:238 +#: classes/Gems/Util/ReceptionCodeLibrary.php:99 +#: classes/Gems/Util/ReceptionCodeLibrary.php:123 +msgid "No" +msgstr "Nee" + +#: classes/Gems/Util/TrackData.php:147 +msgid "Active" +msgstr "Actief" + +#: classes/Gems/Util/TrackData.php:147 +msgid "Inactive" +msgstr "Inactief" + +#: classes/Gems/Util/ReceptionCodeLibrary.php:100 +msgid "Yes (forget answers)" +msgstr "Ja (vergeet antwoorden)" + +#: classes/Gems/Util/ReceptionCodeLibrary.php:101 +msgid "Yes (keep answers)" +msgstr "Ja (met behoud van antwoorden)" + +#: classes/Gems/Util/ReceptionCodeLibrary.php:124 +msgid "Yes (individual surveys only)" +msgstr "Ja (alleen zelfstandige vragenlijsten)" + +#: classes/Gems/Util/ReceptionCodeLibrary.php:125 +msgid "Stop (per respondent or track only)" +msgstr "Stop (alleen per patiënt og traject)" + +#: classes/Gems/Controller/ModelActionAbstract.php:97 +msgid "Cancel" +msgstr "Annuleren" + #: classes/Gems/Controller/ModelSnippetActionAbstract.php:228 +#: classes/Gems/Controller/BrowseEditAction.php:354 #, php-format msgid "New %s..." msgstr "Nieuwe %s..." -#: classes/Gems/Controller/BrowseEditAction.php:387 +#: classes/Gems/Controller/ModelSnippetActionAbstract.php:238 +#, php-format +msgid "Do you want to delete this %s?" +msgstr "Weet u zeker dat deze %s verwijderd moet worden?" + #: classes/Gems/Controller/ModelSnippetActionAbstract.php:248 +#: classes/Gems/Controller/BrowseEditAction.php:387 #, php-format msgid "Delete %s" msgstr "Verwijder %s" +#: classes/Gems/Controller/ModelSnippetActionAbstract.php:258 +#: classes/Gems/Controller/BrowseEditAction.php:410 +#, php-format +msgid "Edit %s" +msgstr "Bewerk %s" + +#: classes/Gems/Controller/ModelSnippetActionAbstract.php:271 +msgid "No data found." +msgstr "Geen gegevens gevonden." + +#: classes/Gems/Controller/ModelSnippetActionAbstract.php:333 +#, php-format +msgid "No %s found..." +msgstr "Geen %s gevonden..." + +#: classes/Gems/Controller/ModelSnippetActionAbstract.php:343 +#, php-format +msgid "Showing %s" +msgstr "Toon %s" + +#: classes/Gems/Controller/ModelSnippetActionAbstract.php:379 +msgid "item" +msgid_plural "items" +msgstr[0] "item" +msgstr[1] "items" + #: classes/Gems/Controller/BrowseEditAction.php:391 #, php-format msgid "%2$u %1$s deleted" @@ -463,12 +685,6 @@ msgid "Edit %s %s" msgstr "Bewerk %s %s" -#: classes/Gems/Controller/BrowseEditAction.php:410 -#: classes/Gems/Controller/ModelSnippetActionAbstract.php:258 -#, php-format -msgid "Edit %s" -msgstr "Bewerk %s" - #: classes/Gems/Controller/BrowseEditAction.php:508 msgid "Free search text" msgstr "Vrije zoek tekst" @@ -483,7 +699,6 @@ msgstr "Geen %s gevonden" #: classes/Gems/Controller/BrowseEditAction.php:679 -#: classes/Gems/Default/ExportAction.php:234 #, php-format msgid "No %s found." msgstr "Geen %s gevonden." @@ -492,18 +707,6 @@ msgid "Are you sure?" msgstr "Weet u het zeker?" -#: classes/Gems/Controller/BrowseEditAction.php:813 -#: classes/Gems/Default/DatabaseAction.php:187 -#: classes/Gems/Default/DatabaseAction.php:499 -msgid "Yes" -msgstr "Ja" - -#: classes/Gems/Controller/BrowseEditAction.php:814 -#: classes/Gems/Default/DatabaseAction.php:188 -#: classes/Gems/Default/DatabaseAction.php:500 -msgid "No" -msgstr "Nee" - #: classes/Gems/Controller/BrowseEditAction.php:867 #, php-format msgid "Unknown %s requested" @@ -541,36 +744,6 @@ msgid "Unknown %s." msgstr "%s is onbekend." -#: classes/Gems/Controller/ModelActionAbstract.php:97 -#: classes/Gems/Default/DatabaseAction.php:503 -msgid "Cancel" -msgstr "Annuleren" - -#: classes/Gems/Controller/ModelSnippetActionAbstract.php:238 -#, php-format -msgid "Do you want to delete this %s?" -msgstr "Weet u zeker dat deze %s verwijderd moet worden?" - -#: classes/Gems/Controller/ModelSnippetActionAbstract.php:271 -msgid "No data found." -msgstr "Geen gegevens gevonden." - -#: classes/Gems/Controller/ModelSnippetActionAbstract.php:333 -#, php-format -msgid "No %s found..." -msgstr "Geen %s gevonden..." - -#: classes/Gems/Controller/ModelSnippetActionAbstract.php:343 -#, php-format -msgid "Showing %s" -msgstr "Toon %s" - -#: classes/Gems/Controller/ModelSnippetActionAbstract.php:379 -msgid "item" -msgid_plural "items" -msgstr[0] "item" -msgstr[1] "items" - #: classes/Gems/Controller/Action/Helper/BatchRunner.php:65 msgid "Prepare recheck" msgstr "Hercontrole voorbereiden" @@ -584,427 +757,1292 @@ msgid "Nothing to do." msgstr "Niets te doen." -#: classes/Gems/Default/AskAction.php:88 +#: classes/Gems/Snippets/TokenModelSnippetAbstract.php:59 +msgid "+" +msgstr "+" + +#: classes/Gems/Email/MailTemplateForm.php:56 +msgid "Send (test)" +msgstr "Verstuur (test)" + +#: classes/Gems/Email/MailTemplateForm.php:81 +#: classes/Gems/Email/EmailFormAbstract.php:193 +#: classes/Gems/Email/EmailFormAbstract.php:251 +msgid "From" +msgstr "Van" + +#: classes/Gems/Email/MailTemplateForm.php:95 +msgid "Test using" +msgstr "Test met" + +#: classes/Gems/Email/MailTemplateForm.php:124 +msgid "To (test)" +msgstr "Aan (test)" + +#: classes/Gems/Email/MailTemplateForm.php:168 +msgid "Test mail send, changes not saved!" +msgstr "Test email verstuurd. De veranderingen zijn nog niet opgeslagen!" + +#: classes/Gems/Email/EmailFormAbstract.php:101 +msgid "no email adress" +msgstr "geen email adres" + +#: classes/Gems/Email/EmailFormAbstract.php:145 +msgid "Available fields" +msgstr "Beschikbare velden" + +#: classes/Gems/Email/EmailFormAbstract.php:153 +msgid "BBCode" +msgstr "BBCode" + +#: classes/Gems/Email/EmailFormAbstract.php:168 +msgid "Message" +msgstr "Bericht" + +#: classes/Gems/Email/EmailFormAbstract.php:216 +msgid "Organization does not have an e-mail address." +msgstr "Organisatie heeft geen email adres." + +#: classes/Gems/Email/EmailFormAbstract.php:231 +msgid "You do not have an e-mail address." +msgstr "U heeft geen email adres." + +#: classes/Gems/Email/EmailFormAbstract.php:291 +msgid "Preview HTML" +msgstr "Html voorbeeld" + +#: classes/Gems/Email/EmailFormAbstract.php:300 +msgid "Preview text" +msgstr "Tekstvoorbeeld" + +#: classes/Gems/Email/EmailFormAbstract.php:308 +msgid "Template" +msgstr "Sjabloon" + +#: classes/Gems/Email/EmailFormAbstract.php:332 +msgid "Send" +msgstr "Verstuur" + +#: classes/Gems/Email/EmailFormAbstract.php:349 +msgid "Subject" +msgstr "Onderwerp" + +#: classes/Gems/Email/EmailFormAbstract.php:429 +msgid "Input error! No changes made!" +msgstr "Invoer fout! Veranderingen niet uitgevoerd!" + +#: classes/Gems/Email/EmailFormAbstract.php:446 +msgid "Subject:" +msgstr "Onderwerp:" + +#: classes/Gems/Email/EmailFormAbstract.php:474 +msgid "Field" +msgstr "Veld" + +#: classes/Gems/Email/EmailFormAbstract.php:475 +msgid "Value" +msgstr "waarde" + +#: classes/Gems/Email/EmailFormAbstract.php:478 +msgid "BBCode info page" +msgstr "BBCode info pagina" + +#: classes/Gems/Email/OneMailForm.php:47 +msgid "On this test system all mail will be delivered to the from address." +msgstr "Op dit test systeem worden alle emails gestuurd naar het \"van\" adres." + +#: classes/Gems/Email/OneMailForm.php:55 +msgid "Round" +msgstr "Ronde" + +#: classes/Gems/Email/OneMailForm.php:57 +msgid "Survey" +msgstr "Vragenlijst" + +#: classes/Gems/Email/OneMailForm.php:58 +msgid "Last contact" +msgstr "Contactdatum" + +#: classes/Gems/Email/OneMailForm.php:87 +msgid "To" +msgstr "Aan" + +#: classes/Gems/Email/OneMailForm.php:131 +#: classes/Gems/Email/TemplateMailer.php:217 +msgid "The sending of emails was blocked for this installation." +msgstr "Het versturen van emails is geblokkeerd in deze installatie." + +#: classes/Gems/Email/OneMailForm.php:141 +#: classes/Gems/Email/TemplateMailer.php:250 +msgid "Mail failed to send." +msgstr "Mail sturen mislukt." + +#: classes/Gems/Email/OneMailForm.php:145 #, php-format -msgid "Enter your %s token" -msgstr "Voer uw %s kenmerk in" +msgid "Sent email to %s." +msgstr "Email naar %s verzonden." -#: classes/Gems/Default/AskAction.php:91 -msgid "Tokens identify a survey that was assigned to you personally." -msgstr "Elk kenmerk verwijst naar een specifiek aan u toegekende vragenlijst." +#: classes/Gems/Email/TemplateMailer.php:266 +#, php-format +msgid "Sent %d e-mails, updated %d tokens." +msgstr "%d emails verzonden en %d kenmerken bijgewerkt." -#: classes/Gems/Default/AskAction.php:91 -msgid "Entering the token and pressing OK will open that survey." -msgstr "Vul uw kenmerk in en druk op OK om die vragenlijst te openen." +#: classes/Gems/Email/MultiMailForm.php:75 +msgid "Method" +msgstr "Methode" -#: classes/Gems/Default/AskAction.php:95 -msgid "After answering the survey you will be logged off automatically." -msgstr "Na het invullen wordt u automatisch uitgelogd." +#: classes/Gems/Email/MultiMailForm.php:122 +msgid "Survey has been taken." +msgstr "Vragenlijsten is al afgenomen" -#: classes/Gems/Default/AskAction.php:100 -msgid "A token consists of two groups of four letters and numbers, separated by an optional hyphen. Tokens are case insensitive." -msgstr "Een kenmerk bestaat uit twee groepen van vier cijfers en letters met een (niet verplicht) streepje ertussen. Hoofdletters of gewone letters maakt niets uit." +#: classes/Gems/Email/MultiMailForm.php:125 +msgid "Respondent does not have an e-mail address." +msgstr "Patiënt heeft geen email adres" -#: classes/Gems/Default/AskAction.php:101 -msgid "The number zero and the letter O are treated as the same; the same goes for the number one and the letter L." -msgstr "Er wordt geen verschil gemaakt tussen het getal nul en de letter O en ook niet tussen het getal één en de letter L." +#: classes/Gems/Email/MultiMailForm.php:128 +msgid "Survey cannot be taken by a respondent." +msgstr "Deze vragenlijst kan niet door een patiënt ingevuld worden." -#: classes/Gems/Default/AskAction.php:136 +#: classes/Gems/Email/MultiMailForm.php:130 +msgid "Survey cannot be taken at this moment." +msgstr "Deze vragenlijst kan op dit moment niet afgenomen worden." + +#: classes/Gems/Tracker/ChangeTracker.php:64 #, php-format -msgid "Thank you for answering. At the moment we have no further surveys for you to take." -msgstr "Dank u voor uw antwoorden. Op dit moment hebben we geen vragenlijsten meer voor u." +msgid "Checked %d tracks." +msgstr "%d trajecten gecontroleerd." -#: classes/Gems/Default/AskAction.php:138 +#: classes/Gems/Tracker/ChangeTracker.php:67 #, php-format -msgid "The survey for token %s has been answered and no further surveys are open." -msgstr "De vragenlijst met het kenmerk %s is beantwoord en er staan verder geen vragenlijsten open." +msgid "Checked %d tokens." +msgstr "%d kenmerken gecontroleerd." -#: classes/Gems/Default/AskAction.php:145 +#: classes/Gems/Tracker/ChangeTracker.php:72 #, php-format -msgid "The token %s does not exist (any more)." -msgstr "Het kenmerk %s bestaat niet (meer)." +msgid "Answers changed by survey completion event for %d tokens." +msgstr "Bij %d kenmerken zijn de antwoorden aangepast door vragenlijst afrondingscode." -#: classes/Gems/Default/AskAction.php:273 +#: classes/Gems/Tracker/ChangeTracker.php:75 #, php-format -msgid "The survey for token %s is no longer active." -msgstr "De vragenlijst voor kenmerk %s is niet meer in gebruik." +msgid "Results and timing changed for %d tokens." +msgstr "Bij %d kenmerken zijn de resultaten en/of de tijdstippen aangepast." -#: classes/Gems/Default/ConsentAction.php:68 -#: classes/Gems/Default/GroupAction.php:88 -msgid "Description" -msgstr "Omschrijving" +#: classes/Gems/Tracker/ChangeTracker.php:78 +#, php-format +msgid "%d token round completion events caused changed to %d tokens." +msgstr "%2$d kenmerken zijn aangepast vanwege %1$d ronde voltooiingen." -#: classes/Gems/Default/ConsentAction.php:70 -#: classes/Gems/Default/DatabaseAction.php:139 -msgid "Order" -msgstr "Volgorde" +#: classes/Gems/Tracker/ChangeTracker.php:81 +#, php-format +msgid "%2$d token date changes in %1$d tracks." +msgstr "De datum van %2$d kenmerken is aangepast in %1$d trajecten." -#: classes/Gems/Default/ConsentAction.php:71 -msgid "Determines order of presentation in interface." -msgstr "Bepaald de presentatie volgorde." +#: classes/Gems/Tracker/ChangeTracker.php:84 +#, php-format +msgid "Round changes propagated to %d tokens." +msgstr "%d kenmerken veranderd door ronde aanpassingen." -#: classes/Gems/Default/ConsentAction.php:73 -msgid "Consent code" -msgstr "Consent code" +#: classes/Gems/Tracker/ChangeTracker.php:87 +#, php-format +msgid "%d tokens deleted by round changes." +msgstr "Vanwege ronde aanpassingen zijn %d kenmerken verwijderd." -#: classes/Gems/Default/ConsentAction.php:75 -msgid "Internal code, not visible to users, copied with the token information to the source." -msgstr "Interne code, niet zichtbaar voor gebruikers maar wordt met de token informatie aan de bron doorgegeven." +#: classes/Gems/Tracker/ChangeTracker.php:90 +#, php-format +msgid "%d tokens created to by round changes." +msgstr "Vanwege ronde aanpassingen zijn nieuwe %d kenmerken gecreëerd." -#: classes/Gems/Default/ConsentAction.php:92 -msgid "respondent consent" -msgid_plural "respondent consents" -msgstr[0] "patiënt toestemming" -msgstr[1] "patiënt toestemmingen" +#: classes/Gems/Tracker/ChangeTracker.php:93 +msgid "No tokens were changed." +msgstr "Geen kenmerken veranderd." -#: classes/Gems/Default/ConsentAction.php:97 -msgid "Respondent consents" -msgstr "Patiënt toestemming" +#: classes/Gems/Tracker/Engine/StepEngineAbstract.php:370 +msgid "Track start" +msgstr "Traject start" -#: classes/Gems/Default/ContactAction.php:71 +#: classes/Gems/Tracker/Engine/StepEngineAbstract.php:371 +msgid "Track end" +msgstr "Traject einde" + +#: classes/Gems/Tracker/Engine/StepEngineAbstract.php:385 +msgid "Valid from" +msgstr "Geldig vanaf" + +#: classes/Gems/Tracker/Engine/StepEngineAbstract.php:386 +#: classes/Gems/Tracker/Model/StandardTokenModel.php:217 +msgid "Valid until" +msgstr "Geldig tot" + +#: classes/Gems/Tracker/Engine/StepEngineAbstract.php:387 +msgid "Start time" +msgstr "Starten tijd" + +#: classes/Gems/Tracker/Engine/StepEngineAbstract.php:388 +msgid "Completion time" +msgstr "Datum invullen" + +#: classes/Gems/Tracker/Engine/StepEngineAbstract.php:403 +msgid "Minutes" +msgstr "Minuten" + +#: classes/Gems/Tracker/Engine/StepEngineAbstract.php:404 +msgid "Hours" +msgstr "Uren" + +#: classes/Gems/Tracker/Engine/StepEngineAbstract.php:405 +msgid "Days" +msgstr "Dagen" + +#: classes/Gems/Tracker/Engine/StepEngineAbstract.php:406 +msgid "Weeks" +msgstr "Weken" + +#: classes/Gems/Tracker/Engine/StepEngineAbstract.php:407 +msgid "Months" +msgstr "Maanden" + +#: classes/Gems/Tracker/Engine/StepEngineAbstract.php:408 +msgid "Quarters" +msgstr "Kwartieren" + +#: classes/Gems/Tracker/Engine/StepEngineAbstract.php:409 +msgid "Years" +msgstr "Jaren" + +#: classes/Gems/Tracker/Engine/StepEngineAbstract.php:444 +msgid "Valid from calculation" +msgstr "Berekening datum geldig vanaf" + +#: classes/Gems/Tracker/Engine/StepEngineAbstract.php:445 +#: classes/Gems/Tracker/Engine/StepEngineAbstract.php:453 +msgid "Date source" +msgstr "Datum bron" + +#: classes/Gems/Tracker/Engine/StepEngineAbstract.php:446 +#: classes/Gems/Tracker/Engine/StepEngineAbstract.php:454 +msgid "Round used" +msgstr "Gebruikte ronde" + +#: classes/Gems/Tracker/Engine/StepEngineAbstract.php:447 +#: classes/Gems/Tracker/Engine/StepEngineAbstract.php:455 +msgid "Date used" +msgstr "Gebruikte datum" + +#: classes/Gems/Tracker/Engine/StepEngineAbstract.php:448 +#: classes/Gems/Tracker/Engine/StepEngineAbstract.php:456 +msgid "Add to date" +msgstr "Optellen bij datum" + +#: classes/Gems/Tracker/Engine/StepEngineAbstract.php:449 +#: classes/Gems/Tracker/Engine/StepEngineAbstract.php:457 +msgid "Add to date unit" +msgstr "Datumoptel eenheid" + +#: classes/Gems/Tracker/Engine/StepEngineAbstract.php:452 +msgid "Valid for calculation" +msgstr "Berekening datum geldig tot" + +#: classes/Gems/Tracker/Engine/StepEngineAbstract.php:486 +msgid "Does not expire" +msgstr "Blijft altijd geldig" + +#: classes/Gems/Tracker/Engine/StepEngineAbstract.php:489 +msgid "Use an answer from a survey." +msgstr "Gebruikt een antwoord uit een vragenlijst." + +#: classes/Gems/Tracker/Engine/StepEngineAbstract.php:490 +msgid "Use a standard token date." +msgstr "Gebruik een datum uit een kenmerk." + +#: classes/Gems/Tracker/Engine/StepEngineAbstract.php:492 +msgid "Use a track level date." +msgstr "Gebruik een op traject niveau ingestelde datum." + +#: classes/Gems/Tracker/Engine/AnyStepEngine.php:95 +#: classes/Gems/Tracker/Engine/NextStepEngine.php:92 +msgid "This round" +msgstr "Deze ronde" + +#: classes/Gems/Tracker/Engine/AnyStepEngine.php:106 +msgid "Engine for tracks where a rounds activation can depend on any previous survey." +msgstr "Een traject type waar de activatie van een ronde van elke willekeurige eerdere ronde afhankelijk kan zijn." + +#: classes/Gems/Tracker/Engine/AnyStepEngine.php:116 +msgid "Previous Survey" +msgstr "Eerdere vragenlijst" + +#: classes/Gems/Tracker/Engine/TrackEngineAbstract.php:445 #, php-format -msgid "%s is a web application." -msgstr "%s is een web applicatie." +msgid "%s track engines cannot be converted to %s track engines." +msgstr "Traject type %s kan niet geconverteerd worden naar %s." -#: classes/Gems/Default/ContactAction.php:76 +#: classes/Gems/Tracker/Engine/TrackEngineAbstract.php:688 #, php-format -msgid "The %s project is run by: " -msgstr "%s is een project van: " +msgid "%d: %s - %s" +msgstr "%d: %s - %s" -#: classes/Gems/Default/ContactAction.php:82 +#: classes/Gems/Tracker/Engine/TrackEngineAbstract.php:691 +#: classes/Gems/Tracker/Engine/TrackEngineAbstract.php:694 #, php-format -msgid "%s is a collaboration of these organizations:" -msgstr "Deze organisaties werken samen voor het %s project:" +msgid "%d: %s" +msgstr "%d: %s" -#: classes/Gems/Default/ContactAction.php:103 +#: classes/Gems/Tracker/Engine/TrackEngineAbstract.php:697 #, php-format -msgid "The %s project" -msgstr "Het %s project" +msgid "%s - %s" +msgstr "%s - %s" -#: classes/Gems/Default/ContactAction.php:106 -msgid "Information on this application" -msgstr "Information over deze website" +#: classes/Gems/Tracker/Engine/TrackEngineAbstract.php:737 +msgid "Icon" +msgstr "Icoon" -#: classes/Gems/Default/ContactAction.php:107 -msgid "Links concerning this web application:" -msgstr "Links met informatie over deze website:" +#: classes/Gems/Tracker/Engine/TrackEngineAbstract.php:738 +msgid "Order" +msgstr "Volgorde" -#: classes/Gems/Default/CronAction.php:148 -msgid "Cron jobs turned off." -msgstr "Cron opdrachten uitgezet." +#: classes/Gems/Tracker/Engine/TrackEngineAbstract.php:739 +#: classes/Gems/Tracker/Model/StandardTokenModel.php:233 +msgid "Description" +msgstr "Omschrijving" -#: classes/Gems/Default/CronAction.php:221 -msgid "No mails sent." -msgstr "Geen mail verzonden." +#: classes/Gems/Tracker/Engine/TrackEngineAbstract.php:740 +msgid "After change" +msgstr "Ronde veranderingscode" -#: classes/Gems/Default/CronAction.php:224 -msgid "On this test system all mail will be delivered to the from address." -msgstr "Op dit test systeem worden alle emails gestuurd naar het \"van\" adres." +#: classes/Gems/Tracker/Engine/SingleSurveyEngine.php:117 +msgid "Engine for tracks containing a single survey." +msgstr "Een traject type voor trajecten die bestaan uit een enkele vragenlijst." -#: classes/Gems/Default/DatabaseAction.php:75 -msgid "Cache cleaned" -msgstr "Cache opgeschoond" +#: classes/Gems/Tracker/Engine/SingleSurveyEngine.php:127 +msgid "Single Survey" +msgstr "Losse vragenlijst" -#: classes/Gems/Default/DatabaseAction.php:105 -#, php-format -msgid "No rows in %s." -msgstr "Geen gegevens in %s." +#: classes/Gems/Tracker/Engine/SingleSurveyEngine.php:149 +msgid "This track type does not allow the creation of new rounds." +msgstr "Dit type traject staat het niet toe dat nieuwe rondes aangemaakt worden." -#: classes/Gems/Default/DatabaseAction.php:134 -msgid "Type" -msgstr "Type" +#: classes/Gems/Tracker/Engine/NextStepEngine.php:147 +msgid "Engine for tracks where the next round is always dependent on the previous step." +msgstr "Een traject type waar de activatie van een volgende ronde alleen afhangt van de ronde ervoor." -#: classes/Gems/Default/DatabaseAction.php:138 -msgid "Group" -msgstr "Groep" +#: classes/Gems/Tracker/Engine/NextStepEngine.php:158 +msgid "Next Step" +msgstr "Stap voor stap" -#: classes/Gems/Default/DatabaseAction.php:140 -msgid "Location" -msgstr "Locatie" +#: classes/Gems/Tracker/Model/StandardTokenModel.php:216 +msgid "Measure(d) on" +msgstr "Afname op" -#: classes/Gems/Default/DatabaseAction.php:143 -msgid "Status" -msgstr "Status" +#: classes/Gems/Tracker/Model/StandardTokenModel.php:219 +msgid "Completed" +msgstr "Ingevuld" -#: classes/Gems/Default/DatabaseAction.php:146 -msgid "Script" -msgstr "Script" +#: classes/Gems/Tracker/Model/StandardTokenModel.php:220 +msgid "Duration in seconds" +msgstr "Antwoordtijd (in sec.)" -#: classes/Gems/Default/DatabaseAction.php:148 -#: classes/Gems/Default/DatabaseAction.php:293 -#: classes/Gems/Default/DatabaseAction.php:340 +#: classes/Gems/Tracker/Model/StandardTokenModel.php:221 +msgid "Score" +msgstr "Score" + +#: classes/Gems/Tracker/Model/StandardTokenModel.php:222 +msgid "Comments" +msgstr "Opmerkingen" + +#: classes/Gems/Tracker/Model/StandardTokenModel.php:223 msgid "Changed on" msgstr "Veranderd op" -#: classes/Gems/Default/DatabaseAction.php:167 -msgid "This database object does not exist. You cannot delete it." -msgstr "Dit database object bestaat. Het kan dus ook niet verwijderd worden." +#: classes/Gems/Tracker/Model/StandardTokenModel.php:226 +msgid "Assigned by" +msgstr "Toewijzer" -#: classes/Gems/Default/DatabaseAction.php:172 +#: classes/Gems/Tracker/Model/StandardTokenModel.php:227 +msgid "Respondent name" +msgstr "Patiënt naam" + +#: classes/Gems/Tracker/Model/StandardTokenModel.php:230 +msgid "Assigned to" +msgstr "invuller" + +#: classes/Gems/Tracker/Model/StandardTokenModel.php:231 +msgid "Rejection code" +msgstr "Afkeuringscode" + +#: classes/Gems/Tracker/Model/TrackModel.php:118 +msgid "Track Engine" +msgstr "Traject type" + +#: classes/Gems/Tracker/Model/TrackModel.php:123 +msgid "Use until" +msgstr "Geldig tot" + +#: classes/Gems/Tracker/Model/TrackModel.php:127 +msgid "After completion" +msgstr "Na afronding" + +#: classes/Gems/Tracker/Token/TokenValidator.php:164 +msgid "The server is currently busy, please wait a while and try again." +msgstr "De server is bezet, wacht u alstublieft een moment en probeer het dan nogmaals." + +#: classes/Gems/Tracker/Token/TokenValidator.php:199 #, php-format -msgid "Drop %s" -msgstr "Verwijder %s" +msgid "Not a valid token. The format for valid tokens is: %s." +msgstr "Geen geldig kenmerk. Het formaat voor geldige tokens is: %s." -#: classes/Gems/Default/DatabaseAction.php:180 +#: classes/Gems/Tracker/Token/TokenValidator.php:217 +#: classes/Gems/Tracker/Token/TokenValidator.php:231 +msgid "This token is no longer valid." +msgstr "Dit kenmerk is niet meer geldig." + +#: classes/Gems/Tracker/Token/TokenValidator.php:224 +msgid "This token cannot (yet) be used." +msgstr "Dit kenmerk kan (nog) niet gebruikt worden." + +#: classes/Gems/Tracker/Token/TokenValidator.php:238 +msgid "Unknown token." +msgstr "Onbekend kenmerk." + +#: classes/Gems/Tracker/Source/LimeSurvey1m9FieldMap.php:149 +msgid "Uncertain" +msgstr "Weet niet" + +#: classes/Gems/Tracker/Source/LimeSurvey1m9FieldMap.php:152 +msgid "Increase" +msgstr "Toenemend" + +#: classes/Gems/Tracker/Source/LimeSurvey1m9FieldMap.php:153 +msgid "Same" +msgstr "Zelfde" + +#: classes/Gems/Tracker/Source/LimeSurvey1m9FieldMap.php:154 +msgid "Decrease" +msgstr "Afnemend" + +#: classes/Gems/Tracker/Source/LimeSurvey1m9FieldMap.php:162 +msgid "Checked" +msgstr "Aangevinkt" + +#: classes/Gems/Tracker/Source/LimeSurvey1m9FieldMap.php:163 +msgid "Not checked" +msgstr "Niet aangevinkt" + +#: classes/Gems/Tracker/Source/LimeSurvey1m9FieldMap.php:259 #, php-format -msgid "There are %d rows in the table." -msgstr "Er zijn %d rijen in deze tabel." +msgid "Rank %d" +msgstr "Schaal %d" -#: classes/Gems/Default/DatabaseAction.php:182 +#: classes/Gems/Tracker/Source/LimeSurvey1m9FieldMap.php:278 +#: classes/Gems/Tracker/Source/LimeSurvey1m9FieldMap.php:300 +msgid "Comment" +msgstr "Opmerkingen" + +#: classes/Gems/Tracker/Source/LimeSurvey1m9FieldMap.php:278 +#: classes/Gems/Tracker/Source/LimeSurvey1m9FieldMap.php:300 +msgid " (comment)" +msgstr " (opmerkingen)" + +#: classes/Gems/Tracker/Source/LimeSurvey1m9FieldMap.php:290 +#: classes/Gems/Tracker/Source/LimeSurvey1m9FieldMap.php:338 +msgid "Other" +msgstr "Overige" + +#: classes/Gems/Tracker/Source/LimeSurvey1m9FieldMap.php:472 +msgid "Date" +msgstr "Datum" + +#: classes/Gems/Tracker/Source/LimeSurvey1m9FieldMap.php:475 +msgid "Free number" +msgstr "Vrij getal" + +#: classes/Gems/Tracker/Source/LimeSurvey1m9FieldMap.php:481 +msgid "Free text (long)" +msgstr "Vrije tekst (lang)" + +#: classes/Gems/Tracker/Source/LimeSurvey1m9FieldMap.php:484 +msgid "Free text (very long)" +msgstr "Vrije tekst (zeer lang)" + +#: classes/Gems/Tracker/Source/LimeSurvey1m9FieldMap.php:487 +msgid "Free text" +msgstr "Vrije tekst" + +#: classes/Gems/Tracker/Source/LimeSurvey1m9FieldMap.php:628 +#: classes/Gems/Tracker/Source/LimeSurvey1m9FieldMap.php:678 +#: classes/Gems/Tracker/Source/LimeSurvey1m9FieldMap.php:732 #, php-format -msgid "Drop table with %d rows" -msgstr "Tabel met %d rijen aan data verwijderen" +msgid "%s: %s" +msgstr "%s: %s" -#: classes/Gems/Default/DatabaseAction.php:183 -msgid "Are you really sure?" -msgstr "Weet u het heel erg zeker?" +#: classes/Gems/Tracker/Source/LimeSurvey1m9FieldMap.php:752 +#, php-format +msgid "- %s" +msgstr "- %s" -#: classes/Gems/Default/DatabaseAction.php:199 +#: classes/Gems/Tracker/Source/LimeSurvey1m9Database.php:376 +#: classes/Gems/Tracker/Source/LimeSurvey1m9Database.php:1162 #, php-format -msgid "%1$s %2$s dropped" -msgstr "%1$s %2$s verwijderd" +msgid "The '%s' survey is no longer active. The survey was removed from LimeSurvey!" +msgstr "De vragenlijst '%s' is niet meer actief. De vragenlijst is verwijderd uit LimeSurvey!" -#: classes/Gems/Default/DatabaseAction.php:205 -msgid " during statement " -msgstr " tijdens het commando " +#: classes/Gems/Tracker/Source/LimeSurvey1m9Database.php:407 +#, php-format +msgid "Corrected anonymization for survey '%s'" +msgstr "Anonimizatie gecorrigeerd van vragenlijst '%s'" -#: classes/Gems/Default/DatabaseAction.php:216 +#: classes/Gems/Tracker/Source/LimeSurvey1m9Database.php:431 +msgid ", " +msgstr ", " + +#: classes/Gems/Tracker/Source/LimeSurvey1m9Database.php:435 #, php-format -msgid "%s no longer exists in the database." -msgstr "%s bestaat niet meer in de database." +msgid "Added to token table '%s' the field(s): %s" +msgstr "Toegevoegd aan kenmerk tabel '%s', de velden: %s" -#: classes/Gems/Default/DatabaseAction.php:219 +#: classes/Gems/Tracker/Source/LimeSurvey1m9Database.php:440 #, php-format -msgid "%s does not yet exist in the database." -msgstr "%s bestaat nog niet in de database." +msgid "Attribute fields not created for token table for '%s'" +msgstr "Attribuut velden voor de kenmerk tabel '%s' zijn niet toegevoegd." -#: classes/Gems/Default/DatabaseAction.php:222 +#: classes/Gems/Tracker/Source/LimeSurvey1m9Database.php:441 #, php-format -msgid "%s object does exist." -msgstr "%s object bestaat." +msgid "Required fields: %s" +msgstr "Verplicht veld: %s" -#: classes/Gems/Default/DatabaseAction.php:240 -msgid "Object is not a table." -msgstr "Niet een tabel object." +#: classes/Gems/Tracker/Source/LimeSurvey1m9Database.php:466 +#: classes/Gems/Tracker/Source/LimeSurvey1m9Database.php:1315 +#, php-format +msgid "The status of the '%s' survey has changed." +msgstr "De status van de vragenlijst '%s' is veranderd." -#: classes/Gems/Default/DatabaseAction.php:264 -msgid "Structure" -msgstr "Structuur" +#: classes/Gems/Tracker/Source/LimeSurvey1m9Database.php:472 +#: classes/Gems/Tracker/Source/LimeSurvey1m9Database.php:1321 +#, php-format +msgid "Survey '%s' IS NO LONGER ACTIVE!!!" +msgstr "De vragenlijst '%s' IS NIET MEER ACTIEF!!!" -#: classes/Gems/Default/DatabaseAction.php:273 -msgid "database object" -msgid_plural "database objects" -msgstr[0] "database object" -msgstr[1] "database objects" +#: classes/Gems/Tracker/Source/LimeSurvey1m9Database.php:478 +#: classes/Gems/Tracker/Source/LimeSurvey1m9Database.php:1327 +#, php-format +msgid "The status of the '%s' survey has changed to '%s'." +msgstr "De status van de vragenlijst '%s' is veranderd naar '%s'." -#: classes/Gems/Default/DatabaseAction.php:278 -msgid "Database object overview" -msgstr "Database object overzicht" +#: classes/Gems/Tracker/Source/LimeSurvey1m9Database.php:481 +#: classes/Gems/Tracker/Source/LimeSurvey1m9Database.php:1330 +#, php-format +msgid "The status warning for the '%s' survey was removed." +msgstr "De status waarschuwing voor de vragenlijst '%s' is verdwenen." -#: classes/Gems/Default/DatabaseAction.php:287 -#: classes/Gems/Default/DatabaseAction.php:333 -msgid "Level" -msgstr "Niveau" +#: classes/Gems/Tracker/Source/LimeSurvey1m9Database.php:487 +#: classes/Gems/Tracker/Source/LimeSurvey1m9Database.php:1336 +#, php-format +msgid "The name of the '%s' survey has changed to '%s'." +msgstr "De naam van de vragenlijst '%s' is veranderd in '%s'." -#: classes/Gems/Default/DatabaseAction.php:288 -#: classes/Gems/Default/DatabaseAction.php:334 -msgid "Subtype" -msgstr "Subtype" +#: classes/Gems/Tracker/Source/LimeSurvey1m9Database.php:498 +#: classes/Gems/Tracker/Source/LimeSurvey1m9Database.php:1346 +#, php-format +msgid "Imported the '%s' survey." +msgstr "De vragenlijst '%s' is geïmporteerd." -#: classes/Gems/Default/DatabaseAction.php:290 -msgid "To be executed" -msgstr "Uit te voeren" +#: classes/Gems/Tracker/Source/LimeSurvey1m9Database.php:723 +msgid "Submitdate" +msgstr "Invoerdatum" -#: classes/Gems/Default/DatabaseAction.php:291 -#: classes/Gems/Default/DatabaseAction.php:337 -msgid "Executed" -msgstr "Uitgevoerd" +#: classes/Gems/Tracker/Source/LimeSurvey1m9Database.php:1142 +#, php-format +msgid "Updated %d Gems tokens to new token definition." +msgstr "%d Gems kenmerken zijn aangepast aan de nieuwe kenmerk definitie." -#: classes/Gems/Default/DatabaseAction.php:292 -#: classes/Gems/Default/DatabaseAction.php:338 -msgid "Finished" -msgstr "Afgerond" +#: classes/Gems/Tracker/Source/LimeSurvey1m9Database.php:1297 +#, php-format +msgid "Updated %d token to new token definition in survey '%s'." +msgid_plural "Updated %d tokens to new token definition in survey '%s'." +msgstr[0] "%d kenmerk in de vragenlijst '%s' is aangepast aan de nieuwe kenmerk definitie." +msgstr[1] "%d kenmerken in de vragenlijst '%s' zijn aangepast aan de nieuwe kenmerk definitie." -#: classes/Gems/Default/DatabaseAction.php:296 -msgid "Create the patch table!" -msgstr "De patch tabel bestaat nog niet!" +#: classes/Gems/Tracker/Form/AskTokenForm.php:78 +#, php-format +msgid "Enter tokens as %s." +msgstr "Kenmerk invoeren als %s." -#: classes/Gems/Default/DatabaseAction.php:298 +#: classes/Gems/Tracker/Form/AskTokenForm.php:98 +msgid "OK" +msgstr "OK" + +#: classes/Gems/Tracker/Snippets/ShowTokenSnippetAbstract.php:164 #, php-format -msgid "%d new or changed patch(es)." -msgstr "%d nieuwe of veranderde patch(es)." +msgid "Token %s not found." +msgstr "Kenmerk %s niet gevonden" -#: classes/Gems/Default/DatabaseAction.php:303 -msgid "Gems build" -msgstr "Gems bouwnummer" +#: classes/Gems/Tracker/Snippets/ShowTokenSnippetAbstract.php:168 +msgid "No token specified." +msgstr "Geen kenmerk opgegeven." -#: classes/Gems/Default/DatabaseAction.php:304 -msgid "Database build" -msgstr "Database versie" +#: classes/Gems/Tracker/Snippets/ShowTrackUsageAbstract.php:149 +msgid "Enter the particulars concerning the assignment to this respondent." +msgstr "Beschrijf de redenen om dit aan deze patiënt toe te wijzen." -#: classes/Gems/Default/DatabaseAction.php:306 -msgid "Execute level" -msgstr "Uit te voeren versie" +#: classes/Gems/Tracker/Snippets/ShowTrackUsageAbstract.php:151 +msgid "Start" +msgstr "Aanvang" -#: classes/Gems/Default/DatabaseAction.php:310 -msgid "Ignore finished" -msgstr "Afgeronde patches overslaan" +#: classes/Gems/Tracker/Snippets/ShowTokenLoopAbstract.php:115 +msgid "We have received your answers today. Thank you!" +msgstr "We hebben uw vragenlijst vandaag ingevuld ontvangen. Dank u wel!" -#: classes/Gems/Default/DatabaseAction.php:311 -msgid "Ignore executed" -msgstr "Uitgevoerde patches overslaan" +#: classes/Gems/Tracker/Snippets/ShowTokenLoopAbstract.php:118 +msgid "We have received your answers yesterday. Thank you!" +msgstr "We hebben uw vragenlijst gisteren ingevuld ontvangen. Dank u wel!" -#: classes/Gems/Default/DatabaseAction.php:312 -msgid "Show patches" -msgstr "Toon patches" +#: classes/Gems/Tracker/Snippets/ShowTokenLoopAbstract.php:121 +msgid "We have received your answers 2 days ago. Thank you." +msgstr "We hebben uw vragenlijst eergisteren ingevuld ontvangen. Dank u wel." -#: classes/Gems/Default/DatabaseAction.php:326 +#: classes/Gems/Tracker/Snippets/ShowTokenLoopAbstract.php:125 #, php-format -msgid "%d patch(es) executed." -msgstr "%d patch(es) uitgevoerd." +msgid "We have received your answers %d days ago. Thank you." +msgstr "We hebben uw vragenlijst %d dagen geleden ingevuld ontvangen. Dank u wel." -#: classes/Gems/Default/DatabaseAction.php:332 -msgid "Patch" -msgstr "Patch" +#: classes/Gems/Tracker/Snippets/ShowTokenLoopAbstract.php:127 +#, php-format +msgid "We have received your answers on %s. " +msgstr "We hebben uw vragenlijst op %s ingevuld ontvangen." -#: classes/Gems/Default/DatabaseAction.php:336 -msgid "Query" -msgstr "Query" +#: classes/Gems/Tracker/Snippets/ShowTokenLoopAbstract.php:140 +msgid "This survey has no set time limit." +msgstr "Deze vragenlijst heeft geen eindtijd." -#: classes/Gems/Default/DatabaseAction.php:339 -msgid "Result" -msgstr "Resultaat" +#: classes/Gems/Tracker/Snippets/ShowTokenLoopAbstract.php:147 +msgid "Warning!!!" +msgstr "Let op!!!" -#: classes/Gems/Default/DatabaseAction.php:364 -msgid "Patch maintenance" -msgstr "Patch onderhoud" +#: classes/Gems/Tracker/Snippets/ShowTokenLoopAbstract.php:147 +msgid "This survey must be answered today!" +msgstr "Deze vragenlijst moet vandaag ingevuld zijn!" -#: classes/Gems/Default/DatabaseAction.php:368 -msgid "Patch overview" -msgstr "Patch overzicht" +#: classes/Gems/Tracker/Snippets/ShowTokenLoopAbstract.php:150 +msgid "Warning!!" +msgstr "Let op!!" -#: classes/Gems/Default/DatabaseAction.php:430 -msgid "This database object does not exist. You cannot create it." -msgstr "Dit database object bestaat niet en kan ook niet aangemaakt worden." +#: classes/Gems/Tracker/Snippets/ShowTokenLoopAbstract.php:150 +msgid "This survey must be answered tomorrow!" +msgstr "Deze vragenlijst moet morgen ingevuld zijn!" -#: classes/Gems/Default/DatabaseAction.php:436 -msgid "This database object has no script. You cannot execute it." -msgstr "Dit database object heeft geen script. Het kan dus ook niet uitgevoerd worden." +#: classes/Gems/Tracker/Snippets/ShowTokenLoopAbstract.php:153 +msgid "Warning! This survey must be answered over 2 days!" +msgstr "Let op! Deze vragenlijst moet overmorgen ingevuld zijn!" -#: classes/Gems/Default/DatabaseAction.php:447 +#: classes/Gems/Tracker/Snippets/ShowTokenLoopAbstract.php:158 #, php-format -msgid "Run %s" -msgstr "Voer %s script uit" +msgid "This survey must be answered in %d days." +msgstr "Deze vragenlijst moet binnen %d dagen ingevuld zijn!" -#: classes/Gems/Default/DatabaseAction.php:468 +#: classes/Gems/Tracker/Snippets/ShowTokenLoopAbstract.php:160 +msgid "This survey can no longer be answered." +msgstr "Deze vragenlijst kan niet langer worden ingevuld!" + +#: classes/Gems/Tracker/Snippets/ShowTokenLoopAbstract.php:163 #, php-format -msgid "Starting %d object creation scripts." -msgstr "Aanvang %d object aanmaak scripts." +msgid "This survey can be answered until %s." +msgstr "Deze vragenlijst moet ingevuld worden voor %s." -#: classes/Gems/Default/DatabaseAction.php:474 +#: classes/Gems/Tracker/Snippets/ShowRoundSnippetAbstract.php:132 #, php-format -msgid "Finished %s creation script for object %d of %d" -msgstr "Klaar %s met aanmaak script voor object %d van %d" +msgid "%s round" +msgstr "%s ronde" -#: classes/Gems/Default/DatabaseAction.php:479 -msgid "All objects exist. Nothing was executed." -msgstr "Alle objects bestaan. Niets was uitgevoerd." +#: classes/Gems/Tracker/Snippets/ShowRoundSnippetAbstract.php:144 +msgid "No round specified." +msgstr "Geen ronde opgegeven." -#: classes/Gems/Default/DatabaseAction.php:486 -msgid "Create not-existing database objects" -msgstr "Aanmaak van database objecten die nog niet bestaan" +#: classes/Gems/Tracker/Snippets/ShowRoundSnippetAbstract.php:163 +msgid "< Previous" +msgstr "< Terug" -#: classes/Gems/Default/DatabaseAction.php:488 +#: classes/Gems/Tracker/Snippets/ShowRoundSnippetAbstract.php:168 +msgid "Next >" +msgstr "Verder >" + +#: classes/Gems/Tracker/Snippets/EditTokenSnippetAbstract.php:141 +msgid "token" +msgid_plural "tokens" +msgstr[0] "kenmerk" +msgstr[1] "kenmerken" + +#: classes/Gems/Tracker/Snippets/EditTrackEngineSnippetGeneric.php:191 +#: classes/Gems/Tracker/Snippets/EditTrackSnippetAbstract.php:170 +msgid "track" +msgid_plural "tracks" +msgstr[0] "traject" +msgstr[1] "trajecten" + +#: classes/Gems/Tracker/Snippets/EditTrackEngineSnippetGeneric.php:201 +#: classes/Gems/Tracker/Snippets/EditTrackEngineSnippetGeneric.php:237 +msgid "Add new track" +msgstr "Voeg traject toe" + +#: classes/Gems/Tracker/Snippets/EditSingleSurveyTokenSnippetAbstract.php:157 +msgid "survey" +msgid_plural "surveys" +msgstr[0] "vragenlijst" +msgstr[1] "vragenlijsten" + +#: classes/Gems/Tracker/Snippets/EditSingleSurveyTokenSnippetAbstract.php:179 +msgid "Add survey" +msgstr "Vragenlijst toevoegen" + +#: classes/Gems/Tracker/Snippets/EditTrackSnippetAbstract.php:180 +#: classes/Gems/Tracker/Snippets/EditTrackSnippetAbstract.php:230 +msgid "Add track" +msgstr "Voeg traject toe" + +#: classes/Gems/Tracker/Snippets/AnswerModelSnippetGeneric.php:149 +msgid "Status" +msgstr "Status" + +#: classes/Gems/Tracker/Snippets/AnswerModelSnippetGeneric.php:153 +msgid "Question" +msgstr "Vraag" + +#: classes/Gems/Tracker/Snippets/AnswerModelSnippetGeneric.php:223 #, php-format -msgid "One database object does not exist." -msgid_plural "These %d database objects do not exist." -msgstr[0] "Één object bestaat nog niet in de database." -msgstr[1] "%d objecten bestaan nog niet in de database." +msgid "%s answers for patient number %s" +msgstr "%s antwoorden voor patientnummer %s" -#: classes/Gems/Default/DatabaseAction.php:489 -msgid "Are you sure you want to create it?" -msgid_plural "Are you sure you want to create them all?" -msgstr[0] "Weet u zeker dat u dit wil aanmaken?" -msgstr[1] "Weet u zeker dat u deze allemaal wil aanmaken?" +#: classes/Gems/Tracker/Snippets/AnswerModelSnippetGeneric.php:226 +#, php-format +msgid "Answers for token %s, patient number %s: %s." +msgstr "Antwoorden voor kenmerk %s, patientnummer %s: %s." -#: classes/Gems/Default/DatabaseAction.php:502 -msgid "All database objects exist. There is nothing to create." -msgstr "Alle database objecten bestaan. Er valt niets te maken." +#: classes/Gems/Tracker/Snippets/AnswerModelSnippetGeneric.php:249 +msgid "Close" +msgstr "Sluiten" -#: classes/Gems/Default/DatabaseAction.php:515 -msgid "Separate multiple commands with semicolons (;)." -msgstr "Scheidt meerdere commando's met punt-comma's (;)." +#: classes/Gems/Tracker/Snippets/AnswerModelSnippetGeneric.php:250 +msgid "Print" +msgstr "Afdrukken" -#: classes/Gems/Default/DatabaseAction.php:522 +#: classes/Gems/Tracker/Snippets/EditRoundSnippetAbstract.php:119 +msgid "round" +msgid_plural "rounds" +msgstr[0] "ronde" +msgstr[1] "rondes" + +#: classes/Gems/Tracker/Snippets/EditRoundSnippetAbstract.php:129 +msgid "Add new round" +msgstr "Nieuwe ronde toevoegen" + +#: classes/Gems/Tracker/Batch/SynchronizeSourcesBatch.php:135 +msgid "No surveys were changed." +msgstr "Geen vragenlijsten veranderd." + +#: classes/Gems/Tracker/Batch/SynchronizeSourcesBatch.php:137 +#, php-format +msgid "%d surveys checked." +msgstr "%d vragenlijsten gecontroleerd" + +#: classes/Gems/Tracker/Batch/SynchronizeSourcesBatch.php:139 +#, php-format +msgid "%d sources checked." +msgstr "%d bronnen gecontroleerd." + +#: classes/Gems/Menu/SubMenuItem.php:380 +msgid "New" +msgstr "Nieuw" + +#: classes/Gems/Menu/SubMenuItem.php:434 +msgid "Export the current data set to Excel" +msgstr "Exporteer de huidige gegevens naar Excel" + +#: classes/Gems/Menu/SubMenuItem.php:438 +msgid "Excel export" +msgstr "Excel export" + +#: classes/Gems/Menu/MenuAbstract.php:247 +msgid "Activity log" +msgstr "Activiteit" + +#: classes/Gems/Menu/MenuAbstract.php:253 +msgid "Automatic mail" +msgstr "Automatische mail" + +#: classes/Gems/Menu/MenuAbstract.php:254 +msgid "Turn Automatic Mail Jobs OFF" +msgstr "Automatische mail opdrachten UITzetten" + +#: classes/Gems/Menu/MenuAbstract.php:255 msgid "Run" msgstr "Uitvoeren" -#: classes/Gems/Default/DatabaseAction.php:531 -msgid "raw" -msgstr "rauw" +#: classes/Gems/Menu/MenuAbstract.php:258 +msgid "Servers" +msgstr "Servers" -#: classes/Gems/Default/DatabaseAction.php:541 +#: classes/Gems/Menu/MenuAbstract.php:262 +msgid "Templates" +msgstr "Sjablonen" + +#: classes/Gems/Menu/MenuAbstract.php:294 +msgid "By period" +msgstr "Per periode" + +#: classes/Gems/Menu/MenuAbstract.php:295 +msgid "By token" +msgstr "Per kenmerk" + +#: classes/Gems/Menu/MenuAbstract.php:296 +msgid "By respondent" +msgstr "Per patiënt" + +#: classes/Gems/Menu/MenuAbstract.php:300 +msgid "Bulk mail" +msgstr "Bulk mail" + +#: classes/Gems/Menu/MenuAbstract.php:318 +msgid "Errors" +msgstr "Foutmeldingen" + +#: classes/Gems/Menu/MenuAbstract.php:319 +msgid "PHP" +msgstr "PHP" + +#: classes/Gems/Menu/MenuAbstract.php:321 +msgid "Session" +msgstr "Sessie" + +#: classes/Gems/Menu/MenuAbstract.php:322 +msgid "Maintenance mode" +msgstr "Onderhoudsmodus" + +#: classes/Gems/Menu/MenuAbstract.php:323 +msgid "Clean cache" +msgstr "Cache opruimen" + +#: classes/Gems/Menu/MenuAbstract.php:390 +msgid "Reset password" +msgstr "Reset wachtwoord" + +#: classes/Gems/Menu/MenuAbstract.php:415 +msgid "Survey Sources" +msgstr "Bronnen" + +#: classes/Gems/Menu/MenuAbstract.php:416 +msgid "Check status" +msgstr "Status controle" + +#: classes/Gems/Menu/MenuAbstract.php:417 +msgid "Synchronize surveys" +msgstr "Synchroniseer vragenlijsten" + +#: classes/Gems/Menu/MenuAbstract.php:418 +#: classes/Gems/Menu/MenuAbstract.php:430 +msgid "Check answers" +msgstr "Antwoord controle" + +#: classes/Gems/Menu/MenuAbstract.php:419 +msgid "Check attributes" +msgstr "Controleer attributen" + +#: classes/Gems/Menu/MenuAbstract.php:420 +msgid "Synchronize all surveys" +msgstr "Synchroniseer alle vragenlijsten" + +#: classes/Gems/Menu/MenuAbstract.php:421 +#: classes/Gems/Menu/MenuAbstract.php:431 +msgid "Check all answers" +msgstr "Controleer alle antwoorden" + +#: classes/Gems/Menu/MenuAbstract.php:427 +msgid "PDF" +msgstr "PDF" + +#: classes/Gems/Menu/MenuAbstract.php:439 +msgid "Fields" +msgstr "Velden" + +#: classes/Gems/Menu/MenuAbstract.php:446 +msgid "Rounds" +msgstr "Rondes" + +#: classes/Gems/Menu/MenuAbstract.php:461 +msgid "Check assignments" +msgstr "Controleer toewijzingen" + +#: classes/Gems/Menu/MenuAbstract.php:464 +msgid "Check all assignments" +msgstr "Controleer alle toewijzingen" + +#: classes/Gems/Selector/DateSelectorAbstract.php:309 +msgid "<<" +msgstr "<<" + +#: classes/Gems/Selector/DateSelectorAbstract.php:311 +msgid ">>" +msgstr ">>" + +#: classes/Gems/Selector/DateSelectorAbstract.php:315 +msgid "<" +msgstr "<" + +#: classes/Gems/Selector/DateSelectorAbstract.php:317 +msgid ">" +msgstr ">" + +#: classes/Gems/Selector/DateSelectorAbstract.php:320 +msgid "Now!" +msgstr "Nu!" + +#: classes/Gems/Selector/DateSelectorAbstract.php:360 +msgid "Show by day" +msgstr "Toon per dag" + +#: classes/Gems/Selector/DateSelectorAbstract.php:361 +msgid "Show by week" +msgstr "Toon per weerk" + +#: classes/Gems/Selector/DateSelectorAbstract.php:362 +msgid "Show by month" +msgstr "Toon per maand" + +#: classes/Gems/Selector/DateSelectorAbstract.php:363 +msgid "Show by year" +msgstr "Toon per jaar" + +#: classes/Gems/Selector/DateSelectorAbstract.php:370 +msgid "D" +msgstr "D" + +#: classes/Gems/Selector/DateSelectorAbstract.php:371 +msgid "W" +msgstr "W" + +#: classes/Gems/Selector/DateSelectorAbstract.php:372 +msgid "M" +msgstr "M" + +#: classes/Gems/Selector/DateSelectorAbstract.php:373 +msgid "Y" +msgstr "J" + +#: classes/Gems/Selector/DateSelectorAbstract.php:605 +msgid "Period" +msgstr "Periode" + +#: classes/Gems/Selector/DateSelectorAbstract.php:633 #, php-format -msgid "Result set %s." -msgstr "Resultaat %s." +msgid "week %s" +msgstr "week %s" -#: classes/Gems/Default/DatabaseAction.php:564 -msgid "Execute raw SQL" -msgstr "SQL direct uitvoeren" +#: classes/Gems/Selector/TokenDateSelector.php:82 +#: classes/Gems/Selector/TokenByGroupDateSelector.php:83 +msgid "for respondents" +msgstr "voor patiënten" -#: classes/Gems/Default/DatabaseAction.php:567 -msgid "Result sets" -msgstr "Resultaten" +#: classes/Gems/Selector/TokenDateSelector.php:83 +#: classes/Gems/Selector/TokenByGroupDateSelector.php:84 +msgid "for staff" +msgstr "voor medewerkers" -#: classes/Gems/Default/DatabaseAction.php:592 -msgid "This database object does not exist. You cannot view it." -msgstr "Dit database object bestaat. Het kan dus ook niet bekeken worden." +#: classes/Gems/Selector/TokenDateSelector.php:86 +msgid "Activated surveys" +msgstr "Geactiveerde vragenlijsten" -#: classes/Gems/Default/DatabaseAction.php:597 +#: classes/Gems/Selector/TokenDateSelector.php:90 +msgid "Unanswered surveys" +msgstr "Onbeantwoorde vragenlijsten" + +#: classes/Gems/Selector/TokenDateSelector.php:94 +#: classes/Gems/Selector/TokenByGroupDateSelector.php:109 +msgid "Partially completed" +msgstr "Gedeeltelijk ingevoerd" + +#: classes/Gems/Selector/TokenDateSelector.php:103 +msgid "Expired surveys" +msgstr "Verlopen vragenlijsten" + +#: classes/Gems/Selector/TokenDateSelector.php:107 +msgid "Answered surveys" +msgstr "Beantwoorde vragenlijsten" + +#: classes/Gems/Selector/TokenByGroupDateSelector.php:87 +msgid "Tokens" +msgstr "Kenmerken" + +#: classes/Gems/Selector/TokenByGroupDateSelector.php:99 +msgid "Todo" +msgstr "Te doen" + +#: classes/Gems/Selector/TokenByGroupDateSelector.php:119 +msgid "Time left in days - average" +msgstr "Tijd over in dagen - gemiddeld" + +#: classes/Gems/Selector/TokenByGroupDateSelector.php:122 +msgid "least time left" +msgstr "de minste tijd over" + +#: classes/Gems/Selector/TokenByGroupDateSelector.php:125 +msgid "most time left" +msgstr "de meeste tijd over" + +#: classes/Gems/Selector/TokenByGroupDateSelector.php:129 +msgid "Missed" +msgstr "Gemist" + +#: classes/Gems/Selector/TokenByGroupDateSelector.php:139 +msgid "Answered" +msgstr "Beantwoord" + +#: classes/Gems/Selector/TokenByGroupDateSelector.php:149 +msgid "Answer time in days - average" +msgstr ... [truncated message content] |
From: <gem...@li...> - 2012-05-18 10:50:26
|
Revision: 687 http://gemstracker.svn.sourceforge.net/gemstracker/?rev=687&view=rev Author: michieltcs Date: 2012-05-18 10:50:20 +0000 (Fri, 18 May 2012) Log Message: ----------- Round description is empty with single survey tracks, only show tracks with reception code OK Modified Paths: -------------- trunk/library/classes/Gems/Default/RespondentExportAction.php trunk/library/classes/Gems/Tracker/RespondentTrack.php Modified: trunk/library/classes/Gems/Default/RespondentExportAction.php =================================================================== --- trunk/library/classes/Gems/Default/RespondentExportAction.php 2012-05-18 10:29:26 UTC (rev 686) +++ trunk/library/classes/Gems/Default/RespondentExportAction.php 2012-05-18 10:50:20 UTC (rev 687) @@ -75,6 +75,8 @@ */ protected function _exportTrackTokens(Gems_Tracker_RespondentTrack $track) { + $engine = $track->getTrackEngine(); + $table = $this->html->table(array('class' => 'browser')); $table->th($this->_('Survey')) ->th($this->_('Round')) @@ -87,7 +89,7 @@ while ($token) { $table->tr()->td($token->getSurveyName()) - ->td($token->getRoundDescription()) + ->td(($engine->getTrackType() == 'T' ? $token->getRoundDescription() : $this->_('Single Survey'))) ->td(strtoupper($token->getTokenId())) ->td(($token->isCompleted() ? $this->_('Yes') : $this->_('No'))); @@ -110,6 +112,10 @@ */ protected function _exportTrack(Gems_Tracker_RespondentTrack $track) { + if ($track->getReceptionCode() != GemsEscort::RECEPTION_OK) { + return; + } + $trackModel = $this->loader->getTracker()->getRespondentTrackModel(); $trackModel->resetOrder(); $trackModel->set('gtr_track_name', 'label', $this->_('Track')); Modified: trunk/library/classes/Gems/Tracker/RespondentTrack.php =================================================================== --- trunk/library/classes/Gems/Tracker/RespondentTrack.php 2012-05-18 10:29:26 UTC (rev 686) +++ trunk/library/classes/Gems/Tracker/RespondentTrack.php 2012-05-18 10:50:20 UTC (rev 687) @@ -504,6 +504,11 @@ { return $this->_respTrackData['gr2t_id_organization']; } + + public function getReceptionCode() + { + return $this->_respTrackData['gr2t_reception_code']; + } /** * This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gem...@li...> - 2012-05-18 10:29:36
|
Revision: 686 http://gemstracker.svn.sourceforge.net/gemstracker/?rev=686&view=rev Author: michieltcs Date: 2012-05-18 10:29:26 +0000 (Fri, 18 May 2012) Log Message: ----------- Show track fields, list of tokens, only show answers of completed 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-05-16 15:11:59 UTC (rev 685) +++ trunk/library/classes/Gems/Default/RespondentExportAction.php 2012-05-18 10:29:26 UTC (rev 686) @@ -75,16 +75,29 @@ */ protected function _exportTrackTokens(Gems_Tracker_RespondentTrack $track) { + $table = $this->html->table(array('class' => 'browser')); + $table->th($this->_('Survey')) + ->th($this->_('Round')) + ->th($this->_('Token')) + ->th($this->_('Completed')); + + $this->html->br(); + $token = $track->getFirstToken(); - + while ($token) { - $this->html->span()->b($token->getSurveyName() . ($token->getRoundDescription() ? ' (' . $token->getRoundDescription() . ')' : '')); - //$this->addSnippets($token->getAnswerSnippetNames(), 'token', $token, 'tokenId', $token->getTokenId(), - // 'showHeaders', false, 'showButtons', false, 'showSelected', false, 'showTakeButton', false); - $this->addSnippet('AnswerModelSnippet', 'token', $token, 'tokenId', $token->getTokenId(), - 'showHeaders', false, 'showButtons', false, 'showSelected', false, 'showTakeButton', false); + $table->tr()->td($token->getSurveyName()) + ->td($token->getRoundDescription()) + ->td(strtoupper($token->getTokenId())) + ->td(($token->isCompleted() ? $this->_('Yes') : $this->_('No'))); - $this->html->br(); + if ($token->isCompleted()) { + $this->html->span()->b($token->getSurveyName() . ($token->getRoundDescription() ? ' (' . $token->getRoundDescription() . ')' : '')); + $this->addSnippet('AnswerModelSnippet', 'token', $token, 'tokenId', $token->getTokenId(), + 'showHeaders', false, 'showButtons', false, 'showSelected', false, 'showTakeButton', false); + + $this->html->br(); + } $token = $token->getNextToken(); } @@ -123,7 +136,17 @@ } } - $this->html[] = $bridge->getTable(); + $table = $bridge->getTable(); + + foreach ($track->getFieldData() as $field => $value) { + if (is_int($field)) { + continue; + } + + $table->tr()->th($field)->td($value); + } + + $this->html[] = $table; $this->html->br(); $this->_exportTrackTokens($track); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gem...@li...> - 2012-05-16 15:12:10
|
Revision: 685 http://gemstracker.svn.sourceforge.net/gemstracker/?rev=685&view=rev Author: michieltcs Date: 2012-05-16 15:11:59 +0000 (Wed, 16 May 2012) Log Message: ----------- First draft of respondent html export Modified Paths: -------------- trunk/library/classes/Gems/Menu.php trunk/library/snippets/AnswerModelSnippet.php Added Paths: ----------- trunk/library/classes/Gems/Default/RespondentExportAction.php trunk/library/controllers/RespondentExportController.php Added: trunk/library/classes/Gems/Default/RespondentExportAction.php =================================================================== --- trunk/library/classes/Gems/Default/RespondentExportAction.php (rev 0) +++ trunk/library/classes/Gems/Default/RespondentExportAction.php 2012-05-16 15:11:59 UTC (rev 685) @@ -0,0 +1,213 @@ +<?php +/** + * Copyright (c) 2012, 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 Default + * @copyright Copyright (c) 2011 Erasmus MC + * @license New BSD License + * @version $Id$ + */ + +/** + * Standard controller to export respondent data to html + * + * @package Gems + * @subpackage Default + * @author Michiel Rook <mi...@to...> + * @copyright Copyright (c) 2012 Erasmus MC + * @license New BSD License + */ +class Gems_Default_RespondentExportAction extends Gems_Controller_Action +{ + public $useHtmlView = true; + + /** + * Constructs the form + * + * @return Gems_Form_TableForm + */ + protected function _getForm() + { + $form = new Gems_Form_TableForm(); + $form->setAttrib('target', '_blank'); + + $element = new Zend_Form_Element_Text('respondentId'); + $element->setLabel($this->_('Respondent number')); + $form->addElement($element); + + $element = new Zend_Form_Element_Submit('export'); + $element->setLabel($this->_('Export')) + ->setAttrib('class', 'button'); + $form->addElement($element); + + return $form; + } + + /** + * Exports all the tokens of a single track, grouped by round + * + * @param Gems_Tracker_RespondentTrack $track + */ + protected function _exportTrackTokens(Gems_Tracker_RespondentTrack $track) + { + $token = $track->getFirstToken(); + + while ($token) { + $this->html->span()->b($token->getSurveyName() . ($token->getRoundDescription() ? ' (' . $token->getRoundDescription() . ')' : '')); + //$this->addSnippets($token->getAnswerSnippetNames(), 'token', $token, 'tokenId', $token->getTokenId(), + // 'showHeaders', false, 'showButtons', false, 'showSelected', false, 'showTakeButton', false); + $this->addSnippet('AnswerModelSnippet', 'token', $token, 'tokenId', $token->getTokenId(), + 'showHeaders', false, 'showButtons', false, 'showSelected', false, 'showTakeButton', false); + + $this->html->br(); + + $token = $token->getNextToken(); + } + } + + /** + * Exports a single track + * + * @param Gems_Tracker_RespondentTrack $track + */ + protected function _exportTrack(Gems_Tracker_RespondentTrack $track) + { + $trackModel = $this->loader->getTracker()->getRespondentTrackModel(); + $trackModel->resetOrder(); + $trackModel->set('gtr_track_name', 'label', $this->_('Track')); + $trackModel->set('gr2t_track_info', 'label', $this->_('Description'), + 'description', $this->_('Enter the particulars concerning the assignment to this respondent.')); + $trackModel->set('assigned_by', 'label', $this->_('Assigned by')); + $trackModel->set('gr2t_start_date', 'label', $this->_('Start'), + 'formatFunction', $this->util->getTranslated()->formatDate, + 'default', MUtil_Date::format(new Zend_date(), 'dd-MM-yyyy')); + $trackModel->set('gr2t_reception_code'); + $trackModel->set('gr2t_comment', 'label', $this->_('Comment')); + $trackModel->setFilter(array('gr2t_id_respondent_track' => $track->getRespondentTrackId())); + $trackData = $trackModel->loadFirst(); + + $this->html->h3($this->_('Track') . ' ' . $trackData['gtr_track_name']); + + $bridge = new MUtil_Model_VerticalTableBridge($trackModel, array('class' => 'browser')); + $bridge->setRepeater(MUtil_Lazy::repeat(array($trackData))); + $bridge->th($this->_('Track information'), array('colspan' => 2)); + $bridge->setColumnCount(1); + foreach($trackModel->getItemsOrdered() as $name) { + if ($label = $trackModel->get($name, 'label')) { + $bridge->addItem($name, $label); + } + } + + $this->html[] = $bridge->getTable(); + $this->html->br(); + + $this->_exportTrackTokens($track); + + $this->html->hr(); + } + + /** + * Exports a single respondent + * + * @param string $respondentId + */ + protected function _exportRespondent($respondentId) + { + $respondentModel = $this->loader->getModels()->getRespondentModel(false); + $respondentModel->setFilter(array('gr2o_patient_nr' => $respondentId)); + $respondentData = $respondentModel->loadFirst(); + + $bridge = new MUtil_Model_VerticalTableBridge($respondentModel, array('class' => 'browser')); + $bridge->setRepeater(MUtil_Lazy::repeat(array($respondentData))); + $bridge->th($this->_('Respondent information'), array('colspan' => 4)); + $bridge->setColumnCount(2); + foreach($respondentModel->getItemsOrdered() as $name) { + if ($label = $respondentModel->get($name, 'label')) { + $bridge->addItem($name, $label); + } + } + + $this->html[] = $bridge->getTable(); + $this->html->hr(); + + $tracker = $this->loader->getTracker(); + $tracks = $tracker->getRespondentTracks($respondentData['gr2o_id_user'], $respondentData['gr2o_id_organization']); + + foreach ($tracks as $trackId => $track) { + $this->_exportTrack($track); + } + } + + /** + * Renders the entire report (including layout) + * + * @param string $respondentId + */ + protected function _render($respondentId) + { + $this->html = new MUtil_Html_Sequence(); + $this->html->h1('Export'); + $this->html->p(sprintf($this->_('Generated by %s on %s'), + $this->loader->getCurrentUser()->getFullName(), new Zend_Date())); + + $this->_exportRespondent($respondentId); + + $this->escort->menu->setVisible(false); + $this->escort->layoutSwitch(); + $this->escort->postDispatch($this->getRequest()); + + $this->_helper->layout()->disableLayout(); + $this->_helper->viewRenderer->setNoRender(true); + + $htmlData = $this->html->render($this->view); + $this->view->layout()->content = $htmlData; + + echo $this->view->layout->render(); + $this->escort->menu->setVisible(true); + } + + public function indexAction() + { + $form = $this->_getForm(); + $this->html->h2($this->_('Export respondent')); + $div = $this->html->div(array('id' => 'mainform')); + $div[] = $form; + + $request = $this->getRequest(); + + if ($request->isPost()) { + $form->populate($request->getPost()); + + $respondentId = $request->getParam('respondentId'); + + if (!empty($respondentId)) { + $this->_render($respondentId); + } + } + } +} \ No newline at end of file Property changes on: trunk/library/classes/Gems/Default/RespondentExportAction.php ___________________________________________________________________ Added: svn:keywords + Id Rev Revision Date Author Added: svn:eol-style + native Modified: trunk/library/classes/Gems/Menu.php =================================================================== --- trunk/library/classes/Gems/Menu.php 2012-05-16 10:44:42 UTC (rev 684) +++ trunk/library/classes/Gems/Menu.php 2012-05-16 15:11:59 UTC (rev 685) @@ -556,6 +556,9 @@ // EXPORT DATA $this->addContainer('Export data', 'pr.export', array('controller'=>'export', 'action'=>'index')); + // EXPORT TO HTML + $this->addContainer('Export respondent to html', 'pr.export-html', array('controller' => 'respondent-export', 'action'=>'index')); + // OTHER ITEMS $this->addLogonOffToken(); Added: trunk/library/controllers/RespondentExportController.php =================================================================== --- trunk/library/controllers/RespondentExportController.php (rev 0) +++ trunk/library/controllers/RespondentExportController.php 2012-05-16 15:11:59 UTC (rev 685) @@ -0,0 +1,31 @@ +<?php +/** + * Copyright (c) 2012, 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. + * + */ +class RespondentExportController extends Gems_Default_RespondentExportAction +{ +} \ No newline at end of file Property changes on: trunk/library/controllers/RespondentExportController.php ___________________________________________________________________ Added: svn:keywords + Id Rev Revision Date Author Added: svn:eol-style + native Modified: trunk/library/snippets/AnswerModelSnippet.php =================================================================== --- trunk/library/snippets/AnswerModelSnippet.php 2012-05-16 10:44:42 UTC (rev 684) +++ trunk/library/snippets/AnswerModelSnippet.php 2012-05-16 15:11:59 UTC (rev 685) @@ -45,4 +45,18 @@ * @since Class available since version 1.4 */ class AnswerModelSnippet extends Gems_Tracker_Snippets_AnswerModelSnippetGeneric -{ } +{ + /** + * Overrule to implement snippet specific filtering and sorting. + * + * @param MUtil_Model_ModelAbstract $model + */ + protected function processFilterAndSort(MUtil_Model_ModelAbstract $model) + { + if ($this->request) { + $this->processSortOnly($model); + + $model->setFilter(array('gto_id_token' => $this->token->getTokenId())); + } + } +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gem...@li...> - 2012-05-16 10:44:48
|
Revision: 684 http://gemstracker.svn.sourceforge.net/gemstracker/?rev=684&view=rev Author: mennodekker Date: 2012-05-16 10:44:42 +0000 (Wed, 16 May 2012) Log Message: ----------- Restored redirection / post saving after session timeout Modified Paths: -------------- trunk/library/classes/Gems/Default/IndexAction.php trunk/library/classes/GemsEscort.php Modified: trunk/library/classes/Gems/Default/IndexAction.php =================================================================== --- trunk/library/classes/Gems/Default/IndexAction.php 2012-05-15 12:11:40 UTC (rev 683) +++ trunk/library/classes/Gems/Default/IndexAction.php 2012-05-16 10:44:42 UTC (rev 684) @@ -203,13 +203,14 @@ $request = $this->getRequest(); $form = $this->createLoginForm(); + // Retrieve these before the session is reset + $staticSession = GemsEscort::getInstance()->getStaticSession(); + $previousRequestParameters = $staticSession->previousRequestParameters; + $previousRequestMode = $staticSession->previousRequestMode; + if ($request->isPost()) { if ($form->isValid($request->getPost(), false)) { $user = $form->getUser(); - - // Retrieve these before the session is reset - $previousRequestParameters = $this->session->previousRequestParameters; - $user->setAsCurrentUser(); if ($messages = $user->reportPasswordWeakness($request->getParam($form->passwordFieldName))) { Modified: trunk/library/classes/GemsEscort.php =================================================================== --- trunk/library/classes/GemsEscort.php 2012-05-15 12:11:40 UTC (rev 683) +++ trunk/library/classes/GemsEscort.php 2012-05-16 10:44:42 UTC (rev 684) @@ -410,6 +410,10 @@ $session->user_role = 'nologin'; } + // Since userloading can clear the session, we put stuff that should remain (like redirect info) + // in a different namespace that we call a 'static session', use getStaticSession to access. + $this->staticSession = new Zend_Session_Namespace('gems.' . GEMS_PROJECT_NAME . '.sessionStatic'); + return $session; } @@ -1309,6 +1313,16 @@ } /** + * Returns a static session, that will not be affected by loading or unloading a user + * + * @return Zend_Session_Namespace + */ + public function getStaticSession() + { + return $this->staticSession; + } + + /** * Hook 12: Called after an action is dispatched by Zend_Controller_Dispatcher. * * This callback allows for proxy or filter behavior. By altering the @@ -1387,20 +1401,21 @@ */ public function preDispatch(Zend_Controller_Request_Abstract $request) { - if ($this->session->user_id && $previousRequestParameters = $this->session->previousRequestParameters) { + $staticSession = $this->getStaticSession(); + if ($this->session->user_id && $previousRequestParameters = $staticSession->previousRequestParameters) { unset($previousRequestParameters['save_button']); unset($previousRequestParameters['userlogin']); unset($previousRequestParameters['password']); // fake POST - if ($this->session->previousRequestMode == 'POST') { + if ($staticSession->previousRequestMode == 'POST') { $this->addMessage($this->_('Take note: your session has expired, your inputs were not saved. Please check the input data and try again')); $_POST = $previousRequestParameters; - $_SERVER['REQUEST_METHOD'] = $this->session->previousRequestMode; - $this->session->previousRequestMode = null; + $_SERVER['REQUEST_METHOD'] = $staticSession->previousRequestMode; + $staticSession->previousRequestMode = null; } - $this->session->previousRequestParameters = null; + $staticSession->previousRequestParameters = null; } $this->setControllerDirectory($request); @@ -1576,8 +1591,9 @@ $this->addMessage($this->_('You must login to access this page.')); // save original request, we will redirect back once the user succesfully logs in - $this->session->previousRequestParameters = $request->getParams(); - $this->session->previousRequestMode = ($request->isPost() ? "POST" : "GET"); + $staticSession = $this->getStaticSession(); + $staticSession->previousRequestParameters = $request->getParams(); + $staticSession->previousRequestMode = ($request->isPost() ? "POST" : "GET"); } $redirector = Zend_Controller_Action_HelperBroker::getStaticHelper('redirector'); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gem...@li...> - 2012-05-15 12:11:51
|
Revision: 683 http://gemstracker.svn.sourceforge.net/gemstracker/?rev=683&view=rev Author: mennodekker Date: 2012-05-15 12:11:40 +0000 (Tue, 15 May 2012) Log Message: ----------- Failsafe checking for loaded classes Modified Paths: -------------- trunk/library/classes/Gems/Loader/LoaderAbstract.php Modified: trunk/library/classes/Gems/Loader/LoaderAbstract.php =================================================================== --- trunk/library/classes/Gems/Loader/LoaderAbstract.php 2012-05-15 08:49:17 UTC (rev 682) +++ trunk/library/classes/Gems/Loader/LoaderAbstract.php 2012-05-15 12:11:40 UTC (rev 683) @@ -76,6 +76,14 @@ private $_dirs; /** + * This array holds a cache of requested class -> resulting classname pairs so we don't have + * to check all prefixes and paths over and over again + * + * @var array classname->resulting class + */ + private $_loaded = array(); + + /** * Allows sub classes of Gems_Loader_LoaderAbstract to specify the subdirectory where to look for. * * @var string $cascade An optional subdirectory where this subclass always loads from. @@ -157,21 +165,19 @@ $found = false; /** - * First check if the class was already loaded with one of the prefixes + * First check if the class was already loaded * If so, we don't have to try loading from the other paths - * / - foreach ($this->_dirs as $prefix => $path) { - if (class_exists($prefix.$cname, false) && $obj = $this->_loadClassPath('', $prefix . $cname, $create, $arguments)) { - $found = true; - break; - } - } // */ + **/ + if (array_key_exists($cname, $this->_loaded) && $obj = $this->_loadClassPath('', $this->_loaded[$cname], $create, $arguments)) { + $found = true; + } if (!$found) { foreach ($this->_dirs as $prefix => $path) { $fprefix = str_replace('_', '/', $prefix); if ($obj = $this->_loadClassPath($path . '/' . $fprefix . $cfile, $prefix . $cname, $create, $arguments)) { $found = true; + $this->_loaded[$cname] = get_class($obj); break; } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gem...@li...> - 2012-05-15 08:49:28
|
Revision: 682 http://gemstracker.svn.sourceforge.net/gemstracker/?rev=682&view=rev Author: mennodekker Date: 2012-05-15 08:49:17 +0000 (Tue, 15 May 2012) Log Message: ----------- Defined some roles for researcher (only for new projects) + fixed bug where login redirect to a container would result in an error Modified Paths: -------------- trunk/library/classes/Gems/User/User.php trunk/library/configs/db/tables/gems__roles.20.sql Modified: trunk/library/classes/Gems/User/User.php =================================================================== --- trunk/library/classes/Gems/User/User.php 2012-05-15 08:11:18 UTC (rev 681) +++ trunk/library/classes/Gems/User/User.php 2012-05-15 08:49:17 UTC (rev 682) @@ -937,11 +937,21 @@ if ($menuItem) { // Prevent redirecting to the current page. if (! ($menuItem->is('controller', $request->getControllerName()) && $menuItem->is('action', $request->getActionName()))) { - //Probably a debug statement so commented out MD20120308 - //echo $menuItem->get('label') . '<br/>'; + if (!$menuItem->has('controller')) { + //This is a container, try to find first active child + $item = $menuItem; + foreach ($item->sortByOrder()->getChildren() as $menuItem) { + if ($menuItem->isAllowed() && $menuItem->has('controller')) { + break; + } + $menuItem = null; + } + } - $redirector = Zend_Controller_Action_HelperBroker::getStaticHelper('redirector'); - $redirector->gotoRoute($menuItem->toRouteUrl($request), null, true); + if ($menuItem) { + $redirector = Zend_Controller_Action_HelperBroker::getStaticHelper('redirector'); + $redirector->gotoRoute($menuItem->toRouteUrl($request), null, true); + } } } Modified: trunk/library/configs/db/tables/gems__roles.20.sql =================================================================== --- trunk/library/configs/db/tables/gems__roles.20.sql 2012-05-15 08:11:18 UTC (rev 681) +++ trunk/library/configs/db/tables/gems__roles.20.sql 2012-05-15 08:49:17 UTC (rev 682) @@ -31,6 +31,6 @@ ('security','security','','guest', CURRENT_TIMESTAMP, 1, CURRENT_TIMESTAMP, 1), ('staff','staff','pr.option.edit,pr.option.password,pr.plan,pr.plan.overview,pr.plan.token,pr.project,pr.project.questions,pr.respondent.create,pr.respondent.edit,pr.respondent.who,pr.setup,pr.staff,pr.survey,pr.survey.create,pr.token,pr.token.answers,pr.token.delete,pr.token.edit,pr.token.mail,pr.token.print,pr.track,pr.track.create,pr.track.delete,pr.track.edit,pr.respondent.reportdeath','guest', CURRENT_TIMESTAMP, 1, CURRENT_TIMESTAMP, 1), ('physician','physician','','staff', CURRENT_TIMESTAMP, 1, CURRENT_TIMESTAMP, 1), - ('researcher','researcher','pr.invitation,pr.result,pr.islogin','', CURRENT_TIMESTAMP, 1, CURRENT_TIMESTAMP, 1), + ('researcher','researcher','pr.project-information.changelog,pr.contact,pr.export,pr.plan.token,pr.plan.respondent,pr.plan.overview,pr.option.password,pr.option.edit,pr.organization-switch,pr.islogin','', CURRENT_TIMESTAMP, 1, CURRENT_TIMESTAMP, 1), ('admin','admin','pr.consent,pr.consent.create,pr.consent.edit,pr.group,pr.role,pr.mail,pr.mail.create,pr.mail.delete,pr.mail.edit,pr.mail.log,pr.organization,pr.organization-switch,pr.plan.overview.excel,pr.plan.respondent,pr.plan.respondent.excel,pr.plan.token.excel,pr.project-information,pr.reception,pr.reception.create,pr.reception.edit,pr.respondent.choose-org,pr.respondent.delete,pr.respondent.result,pr.source,pr.staff.create,pr.staff.delete,pr.staff.edit,pr.staff.see.all,pr.survey-maintenance,pr.track-maintenance,pr.token.mail.freetext','staff,researcher,security', CURRENT_TIMESTAMP, 1, CURRENT_TIMESTAMP, 1), ('super','super','pr.consent.delete,pr.country,pr.country.create,pr.country.delete,pr.country.edit,pr.database,pr.database.create,pr.database.delete,pr.database.edit,pr.database.execute,pr.database.patches,pr.group.create,pr.group.edit,pr.language,pr.mail.server,pr.mail.server.create,pr.mail.server.delete,pr.mail.server.edit,pr.organization.create,pr.organization.edit,pr.plan.choose-org,pr.plan.mail-as-application,pr.reception.delete,pr.role.create,pr.role.edit,pr.source.create,pr.source.edit,pr.source.synchronize,pr.source.synchronize-all,pr.staff.edit.all,pr.survey-maintenance.edit,pr.track-maintenance.create,pr.track-maintenance.edit,pr.maintenance','admin', CURRENT_TIMESTAMP, 1, CURRENT_TIMESTAMP, 1); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |