From: <gem...@li...> - 2011-11-16 17:52:48
|
Revision: 223 http://gemstracker.svn.sourceforge.net/gemstracker/?rev=223&view=rev Author: matijsdejong Date: 2011-11-16 17:52:38 +0000 (Wed, 16 Nov 2011) Log Message: ----------- Start on #40: organizations can defer to each other. Input possible. Array values can be saved in a model and read by multi elements. Modified Paths: -------------- trunk/library/classes/Gems/Default/OrganizationAction.php trunk/library/classes/MUtil/Model/FormBridge.php trunk/library/configs/db/patches.sql trunk/library/configs/db/tables/gems__organizations.20.sql trunk/library/languages/default-en.mo trunk/library/languages/default-en.po trunk/library/languages/default-nl.mo trunk/library/languages/default-nl.po Added Paths: ----------- trunk/library/classes/MUtil/Form/Element/MultiCheckbox.php trunk/library/classes/MUtil/Form/Element/MultiSelect.php trunk/library/classes/MUtil/Model/Save/ trunk/library/classes/MUtil/Model/Save/ArraySaver.php Modified: trunk/library/classes/Gems/Default/OrganizationAction.php =================================================================== --- trunk/library/classes/Gems/Default/OrganizationAction.php 2011-11-16 13:19:44 UTC (rev 222) +++ trunk/library/classes/Gems/Default/OrganizationAction.php 2011-11-16 17:52:38 UTC (rev 223) @@ -140,15 +140,20 @@ 'gor_iso_lang', 'label', $this->_('Language'), 'multiOptions', $this->util->getLocalized()->getLanguages(), 'default', 'nl' ); - $model->set( - 'gor_active', 'label', $this->_('Active'), 'elementClass', 'Checkbox', - 'multiOptions', $this->util->getTranslated()->getYesNo() - ); + $yesNo = $this->util->getTranslated()->getYesNo(); + $model->set('gor_active', 'label', $this->_('Active'), 'elementClass', 'Checkbox', 'multiOptions', $yesNo); + $model->set('gor_add_patients', 'label', $this->_('Allow new respondents'), 'elementClass', 'CheckBox', 'multiOptions', $yesNo); + if ($detailed) { $model->set('gor_name', 'validator', $model->createUniqueValidator('gor_name')); $model->set('gor_welcome', 'label', $this->_('Greeting'), 'description', $this->_('For emails and token forward screen.'), 'elementClass', 'Textarea', 'rows', 5); $model->set('gor_signature', 'label', $this->_('Signature'), 'description', $this->_('For emails and token forward screen.'), 'elementClass', 'Textarea', 'rows', 5); + + $model->set('gor_accessible_by', 'label', $this->_('Accessible by'), 'description', $this->_('Checked organizations see this organizations respondents.'), 'elementClass', 'MultiCheckbox', + 'multiOptions', $this->util->getDbLookup()->getOrganizations()); + MUtil_Model_Save_ArraySaver::create($model, 'gor_accessible_by', ':'); + } if ($this->project->multiLocale) { Added: trunk/library/classes/MUtil/Form/Element/MultiCheckbox.php =================================================================== --- trunk/library/classes/MUtil/Form/Element/MultiCheckbox.php (rev 0) +++ trunk/library/classes/MUtil/Form/Element/MultiCheckbox.php 2011-11-16 17:52:38 UTC (rev 223) @@ -0,0 +1,143 @@ +<?php + +/** + * Copyright (c) 2011, Erasmus MC + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of Erasmus MC nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * + * @package MUtil + * @subpackage Form + * @author Matijs de Jong <mj...@ma...> + * @copyright Copyright (c) 2011 Erasmus MC + * @license New BSD License + * @version $Id: Sample.php 203 2011-07-07 12:51:32Z matijs $ + */ + +/** + * This object allows you to supply a string value when the object expects an + * array value, splitting the string along the valueSeperatorChar. + * + * Return this value as a string is not practical as that breaks the workings + * of all Filters, Validators and Decorators. + * + * @package MUtil + * @subpackage Form + * @copyright Copyright (c) 2011 Erasmus MC + * @license New BSD License + * @since Class available since version 1.5 + */ +class MUtil_Form_Element_MultiCheckbox extends Zend_Form_Element_MultiCheckbox +{ + /** + * En/disables padding the value in separators. The default is true as this + * simplifies search commands (and usually costs only 2 characters). + * + * @var boolean + */ + protected $_valuePad = true; + + /** + * The value seperator enables this control to accept a single string as value + * and split it into an array. + * + * A null seperator means this class behaves as it's parent class and returns an + * array value. + * + * @var string + */ + protected $_valueSeperatorChar = null; + + /** + * En/disables padding the value in separators. The default is true as this + * simplifies search commands (and usually costs only 2 characters). + * + * @return boolean + */ + public function getValuePad() + { + return $this->_valuePad; + } + + /** + * The value seperator enables this control to accept a single string as value + * and split it into an array. + * + * A null seperator means this class behaves as it's parent class and returns an + * array value. + * + * @return string + */ + public function getValueSeperatorChar() + { + return $this->_valueSeperatorChar; + } + + /** + * Set element value + * + * @param mixed $value + * @return MUtil_Form_Element_MultiCheckbox (continuation pattern) + */ + public function setValue($value) + { + if ((null !== $this->_valueSeperatorChar) && (! is_array($value))) { + if ($this->_valuePad) { + $value = trim($value, $this->_valueSeperatorChar); + } + $value = explode($this->_valueSeperatorChar, $value); + } + + return parent::setValue($value); + } + + /** + * En/disables padding the value in separators. The default is true as this + * simplifies search commands (and usually costs only 2 characters). + * + * @param boolean $value + * @return MUtil_Form_Element_MultiCheckbox (continuation pattern) + */ + public function setValuePad($value = true) + { + $this->_valuePad = $value; + return $this; + } + + /** + * The value seperator enables this control to accept a single string as value + * and split it into an array. + * + * A null seperator means this class behaves as it's parent class and returns an + * array value. + * + * @param string $seperator + * @return MUtil_Form_Element_MultiCheckbox (continuation pattern) + */ + public function setValueSeperatorChar($seperator = ' ') + { + $this->_valueSeperatorChar = substr($seperator . ' ', 0, 1); + return $this; + } +} Added: trunk/library/classes/MUtil/Form/Element/MultiSelect.php =================================================================== --- trunk/library/classes/MUtil/Form/Element/MultiSelect.php (rev 0) +++ trunk/library/classes/MUtil/Form/Element/MultiSelect.php 2011-11-16 17:52:38 UTC (rev 223) @@ -0,0 +1,143 @@ +<?php + +/** + * Copyright (c) 2011, Erasmus MC + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of Erasmus MC nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * + * @package MUtil + * @subpackage Form + * @author Matijs de Jong <mj...@ma...> + * @copyright Copyright (c) 2011 Erasmus MC + * @license New BSD License + * @version $Id: Sample.php 203 2011-07-07 12:51:32Z matijs $ + */ + +/** + * This object allows you to supply a string value when the object expects an + * array value, splitting the string along the valueSeperatorChar. + * + * Return this value as a string is not practical as that breaks the workings + * of all Filters, Validators and Decorators. + * + * @package MUtil + * @subpackage Form + * @copyright Copyright (c) 2011 Erasmus MC + * @license New BSD License + * @since Class available since version 1.5 + */ +class MUtil_Form_Element_MultiSelect extends Zend_Form_Element_MultiSelect +{ + /** + * En/disables padding the value in separators. The default is true as this + * simplifies search commands (and usually costs only 2 characters). + * + * @var boolean + */ + protected $_valuePad = true; + + /** + * The value seperator enables this control to accept a single string as value + * and split it into an array. + * + * A null seperator means this class behaves as it's parent class and returns an + * array value. + * + * @var string + */ + protected $_valueSeperatorChar = null; + + /** + * En/disables padding the value in separators. The default is true as this + * simplifies search commands (and usually costs only 2 characters). + * + * @return boolean + */ + public function getValuePad() + { + return $this->_valuePad; + } + + /** + * The value seperator enables this control to accept a single string as value + * and split it into an array. + * + * A null seperator means this class behaves as it's parent class and returns an + * array value. + * + * @return string + */ + public function getValueSeperatorChar() + { + return $this->_valueSeperatorChar; + } + + /** + * Set element value + * + * @param mixed $value + * @return MUtil_Form_Element_MultiCheckbox (continuation pattern) + */ + public function setValue($value) + { + if ((null !== $this->_valueSeperatorChar) && (! is_array($value))) { + if ($this->_valuePad) { + $value = trim($value, $this->_valueSeperatorChar); + } + $value = explode($this->_valueSeperatorChar, $value); + } + + return parent::setValue($value); + } + + /** + * En/disables padding the value in separators. The default is true as this + * simplifies search commands (and usually costs only 2 characters). + * + * @param boolean $value + * @return MUtil_Form_Element_MultiCheckbox (continuation pattern) + */ + public function setValuePad($value = true) + { + $this->_valuePad = $value; + return $this; + } + + /** + * The value seperator enables this control to accept a single string as value + * and split it into an array. + * + * A null seperator means this class behaves as it's parent class and returns an + * array value. + * + * @param string $seperator + * @return MUtil_Form_Element_MultiCheckbox (continuation pattern) + */ + public function setValueSeperatorChar($seperator = ' ') + { + $this->_valueSeperatorChar = substr($seperator . ' ', 0, 1); + return $this; + } +} Modified: trunk/library/classes/MUtil/Model/FormBridge.php =================================================================== --- trunk/library/classes/MUtil/Model/FormBridge.php 2011-11-16 13:19:44 UTC (rev 222) +++ trunk/library/classes/MUtil/Model/FormBridge.php 2011-11-16 17:52:38 UTC (rev 223) @@ -85,7 +85,7 @@ self::FILE_OPTIONS => array('accept', 'count', 'destination', 'valueDisabled'), self::GROUP_OPTIONS => array('elements', 'legend', 'separator'), self::JQUERY_OPTIONS => array('jQueryParams'), - self::MULTI_OPTIONS => array('disable', 'multiOptions', 'onchange', 'separator', 'size'), + self::MULTI_OPTIONS => array('disable', 'multiOptions', 'onchange', 'separator', 'size', 'valuePad', 'valueSeperatorChar'), self::PASSWORD_OPTIONS => array('repeatLabel'), self::TAB_OPTIONS => array('value'), self::TEXT_OPTIONS => array('maxlength', 'minlength', 'onchange', 'onfocus', 'onselect', 'size'), @@ -538,7 +538,7 @@ $options = $this->_mergeOptions($name, $options, self::DISPLAY_OPTIONS, self::MULTI_OPTIONS); - $element = new Zend_Form_Element_MultiCheckbox($name, $options); + $element = new MUtil_Form_Element_MultiCheckbox($name, $options); return $this->_addToForm($name, $element); } @@ -562,7 +562,7 @@ $options = $this->_mergeOptions($name, $options, self::DISPLAY_OPTIONS, self::MULTI_OPTIONS); - $element = new Zend_Form_Element_Multiselect($name, $options); + $element = new MUtil_Form_Element_Multiselect($name, $options); return $this->_addToForm($name, $element); } Property changes on: trunk/library/classes/MUtil/Model/Save ___________________________________________________________________ Added: bugtraq:url + http://survey.erasmusmc.nl/support/mantis/view.php?id=%BUGID% Added: bugtraq:logregex + #(\d+) Added: trunk/library/classes/MUtil/Model/Save/ArraySaver.php =================================================================== --- trunk/library/classes/MUtil/Model/Save/ArraySaver.php (rev 0) +++ trunk/library/classes/MUtil/Model/Save/ArraySaver.php 2011-11-16 17:52:38 UTC (rev 223) @@ -0,0 +1,89 @@ +<?php + +/** + * Copyright (c) 2011, Erasmus MC + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of Erasmus MC nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * + * @package MUtil + * @subpackage Model + * @author Matijs de Jong <mj...@ma...> + * @copyright Copyright (c) 2011 Erasmus MC + * @license New BSD License + * @version $Id: Sample.php 203 2011-07-07 12:51:32Z matijs $ + */ + +/** + * + * + * @package MUtil + * @subpackage Model + * @copyright Copyright (c) 2011 Erasmus MC + * @license New BSD License + * @since Class available since version 1.5 + */ +class MUtil_Model_Save_ArraySaver +{ + protected $seperatorChar = ' '; + + protected $valuePad = true; + + public function __construct($seperatorChar = ' ', $valuePad = true) + { + $this->seperatorChar = substr($seperatorChar . ' ', 0, 1); + $this->valuePad = $valuePad; + } + + /** + * If this field is saved as an array value, use + * + * @param MUtil_Model_ModelAbstract $model + * @param string $name The field to set the seperator character + * @param string $char + * @param boolean $pad + * @return MUtil_Model_ModelAbstract (continuation pattern) + */ + public static function create(MUtil_Model_ModelAbstract $model, $name, $char = ' ', $pad = true) + { + $class = new self($char, $pad); + + $model->set($name, 'valueSeperatorChar', substr($char . ' ', 0, 1), 'valuePad', $pad); + $model->setOnSave($name, array($class, 'saveValue')); + + return $class; + } + + public function saveValue($name, $value, $isNew) + { + if (is_array($value)) { + $value = implode($this->seperatorChar, $value); + + if ($this->valuePad) { + $value = $this->seperatorChar . $value . $this->seperatorChar; + } + } + return $value; + } +} Modified: trunk/library/configs/db/patches.sql =================================================================== --- trunk/library/configs/db/patches.sql 2011-11-16 13:19:44 UTC (rev 222) +++ trunk/library/configs/db/patches.sql 2011-11-16 17:52:38 UTC (rev 223) @@ -311,3 +311,11 @@ -- PATCH: Change Burger Service Nummer to Social Security Number ALTER TABLE `gems__respondents` CHANGE `grs_bsn` `grs_ssn` VARCHAR( 32 ) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL; + +-- PATCH: Extending organizations + +ALTER TABLE `gems__organizations` ADD UNIQUE INDEX (`gor_code`); + +ALTER TABLE `gems__organizations` ADD gor_accessible_by text CHARACTER SET 'utf8' COLLATE 'utf8_general_ci' null AFTER gor_task, + ADD gor_has_patients boolean not null default 1 AFTER gor_iso_lang, + ADD gor_add_patients boolean not null default 1 AFTER gor_has_patients; Modified: trunk/library/configs/db/tables/gems__organizations.20.sql =================================================================== --- trunk/library/configs/db/tables/gems__organizations.20.sql 2011-11-16 13:19:44 UTC (rev 222) +++ trunk/library/configs/db/tables/gems__organizations.20.sql 2011-11-16 17:52:38 UTC (rev 223) @@ -3,20 +3,25 @@ gor_id_organization bigint unsigned not null auto_increment, gor_name varchar(50) CHARACTER SET 'utf8' COLLATE 'utf8_general_ci' not null, - gor_code varchar(20) CHARACTER SET 'utf8' COLLATE 'utf8_general_ci', - gor_location varchar(50) CHARACTER SET 'utf8' COLLATE 'utf8_general_ci', - gor_url varchar(127) CHARACTER SET 'utf8' COLLATE 'utf8_general_ci', - gor_task varchar(50) CHARACTER SET 'utf8' COLLATE 'utf8_general_ci', + gor_code varchar(20) CHARACTER SET 'utf8' COLLATE 'utf8_general_ci' null, + gor_location varchar(50) CHARACTER SET 'utf8' COLLATE 'utf8_general_ci' null, + gor_url varchar(127) CHARACTER SET 'utf8' COLLATE 'utf8_general_ci' null, + gor_task varchar(50) CHARACTER SET 'utf8' COLLATE 'utf8_general_ci' null, - gor_contact_name varchar(50) CHARACTER SET 'utf8' COLLATE 'utf8_general_ci', - gor_contact_email varchar(127) CHARACTER SET 'utf8' COLLATE 'utf8_general_ci', - gor_welcome text CHARACTER SET 'utf8' COLLATE 'utf8_general_ci', - gor_signature text CHARACTER SET 'utf8' COLLATE 'utf8_general_ci', + -- A commy separated list of organization numbers that can look at respondents in this organization + gor_accessible_by text CHARACTER SET 'utf8' COLLATE 'utf8_general_ci' null, + gor_contact_name varchar(50) CHARACTER SET 'utf8' COLLATE 'utf8_general_ci' null, + gor_contact_email varchar(127) CHARACTER SET 'utf8' COLLATE 'utf8_general_ci' null, + gor_welcome text CHARACTER SET 'utf8' COLLATE 'utf8_general_ci' null, + gor_signature text CHARACTER SET 'utf8' COLLATE 'utf8_general_ci' null, + gor_style varchar(15) CHARACTER SET 'utf8' COLLATE 'utf8_general_ci' not null default 'gems', gor_iso_lang char(2) CHARACTER SET 'utf8' COLLATE 'utf8_general_ci' not null default 'en' references gems__languages (gml_iso_lang), + gor_has_patients boolean not null default 1, + gor_add_patients boolean not null default 1, gor_active boolean not null default 1, gor_changed timestamp not null default current_timestamp on update current_timestamp, @@ -24,15 +29,9 @@ gor_created timestamp not null, gor_created_by bigint unsigned not null, - PRIMARY KEY(gor_id_organization) + PRIMARY KEY(gor_id_organization), + UNIQUE (gor_code) ) ENGINE=InnoDB AUTO_INCREMENT = 70 CHARACTER SET 'utf8' COLLATE 'utf8_general_ci'; - --- Default group -INSERT ignore INTO gems__organizations - (gor_id_organization, gor_name, gor_location, gor_active, gor_iso_lang, gor_changed, gor_changed_by, gor_created, gor_created_by) - VALUES - (70, 'Erasmus MGZ', 'Rotterdam', 1, 'nl', current_timestamp, 0, current_timestamp, 0); - Modified: trunk/library/languages/default-en.mo =================================================================== (Binary files differ) Modified: trunk/library/languages/default-en.po =================================================================== --- trunk/library/languages/default-en.po 2011-11-16 13:19:44 UTC (rev 222) +++ trunk/library/languages/default-en.po 2011-11-16 17:52:38 UTC (rev 223) @@ -2,7 +2,7 @@ msgstr "" "Project-Id-Version: Pulse EN\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-11-03 12:50+0100\n" +"POT-Creation-Date: 2011-11-16 18:30+0100\n" "PO-Revision-Date: \n" "Last-Translator: Matijs de Jong <mj...@ma...>\n" "Language-Team: Erasmus MGZ <mat...@ma...>\n" @@ -18,58 +18,58 @@ "X-Poedit-KeywordsList: plural:1,2\n" "X-Poedit-SearchPath-0: .\n" -#: classes/GemsEscort.php:186 +#: classes/GemsEscort.php:201 #, php-format msgid "Path %s not writable" msgstr "Path %s not writable" -#: classes/GemsEscort.php:860 +#: classes/GemsEscort.php:876 #, php-format msgid "User: %s" msgstr "User: %s" -#: classes/GemsEscort.php:884 +#: classes/GemsEscort.php:900 msgid "version" msgstr "version" -#: classes/GemsEscort.php:1405 +#: classes/GemsEscort.php:1330 msgid "Take note: your session has expired, your inputs where not saved. Please check the input data and try again" msgstr "Take note: your session has expired, your inputs where not saved. Please check the input data and try again" -#: classes/GemsEscort.php:1526 +#: classes/GemsEscort.php:1454 msgid "Please check back later." msgstr "Please check back later." -#: classes/GemsEscort.php:1528 -#: classes/GemsEscort.php:1531 -#: classes/GemsEscort.php:1532 +#: classes/GemsEscort.php:1456 +#: classes/GemsEscort.php:1460 +#: classes/GemsEscort.php:1461 msgid "System is in maintenance mode" msgstr "System is in maintenance mode" -#: classes/GemsEscort.php:1546 +#: classes/GemsEscort.php:1470 msgid "No access to site." msgstr "No access to site." -#: classes/GemsEscort.php:1548 -#: classes/GemsEscort.php:1584 +#: classes/GemsEscort.php:1472 +#: classes/GemsEscort.php:1508 msgid "You have no access to this site." msgstr "You have no access to this site." -#: classes/GemsEscort.php:1564 +#: classes/GemsEscort.php:1488 msgid "No access to page" msgstr "No access to page" -#: classes/GemsEscort.php:1566 +#: classes/GemsEscort.php:1490 #, php-format msgid "Access to this page is not allowed for current role: %s." msgstr "Access to this page is not allowed for current role: %s." -#: classes/GemsEscort.php:1571 -#: classes/GemsEscort.php:1582 +#: classes/GemsEscort.php:1495 +#: classes/GemsEscort.php:1506 msgid "You are no longer logged in." msgstr "You are no longer logged in." -#: classes/GemsEscort.php:1572 +#: classes/GemsEscort.php:1496 msgid "You must login to access this page." msgstr "You must login to access this page." @@ -77,15 +77,11 @@ msgid "Database needs to be updated!" msgstr "Database needs to be updated!" -#: classes/Gems/Auth.php:107 -msgid "Please update the database" -msgstr "Please update the database" - -#: classes/Gems/Auth.php:174 +#: classes/Gems/Auth.php:225 msgid "Wrong password." msgstr "Wrong password." -#: classes/Gems/Auth.php:177 +#: classes/Gems/Auth.php:228 msgid "Combination of username password not found." msgstr "Combination of username password not found." @@ -175,7 +171,7 @@ msgstr "Roles" #: classes/Gems/Menu.php:196 -#: classes/Gems/Menu.php:337 +#: classes/Gems/Menu.php:345 msgid "Assigned" msgstr "Assigned" @@ -203,181 +199,202 @@ msgid "Maintenance" msgstr "Maintenance" -#: classes/Gems/Menu.php:227 +#: classes/Gems/Menu.php:218 +msgid "Upgrade" +msgstr "Upgrade" + +#: classes/Gems/Menu.php:219 +#: classes/Gems/Menu.php:318 +msgid "Show" +msgstr "Show" + +#: classes/Gems/Menu.php:220 +msgid "Execute all" +msgstr "Execute all" + +#: classes/Gems/Menu.php:221 +msgid "Execute this" +msgstr "Execute this" + +#: classes/Gems/Menu.php:222 +msgid "Execute from here" +msgstr "Execute from here" + +#: classes/Gems/Menu.php:223 +msgid "Execute to here" +msgstr "Execute to here" + +#: classes/Gems/Menu.php:235 #, php-format msgid "Stand-alone privilige: %s" msgstr "Stand-alone privilige: %s" -#: classes/Gems/Menu.php:234 +#: classes/Gems/Menu.php:242 msgid "Logon" msgstr "Logon" -#: classes/Gems/Menu.php:235 +#: classes/Gems/Menu.php:243 msgid "Lost password" msgstr "Lost password" -#: classes/Gems/Menu.php:236 +#: classes/Gems/Menu.php:244 msgid "Your account" msgstr "Your account" -#: classes/Gems/Menu.php:237 +#: classes/Gems/Menu.php:245 msgid "Activity overview" msgstr "Activity overview" -#: classes/Gems/Menu.php:238 +#: classes/Gems/Menu.php:246 msgid "Change password" msgstr "Change password" -#: classes/Gems/Menu.php:239 -#: classes/Gems/Menu.php:279 -#: classes/Gems/Menu.php:314 +#: classes/Gems/Menu.php:247 +#: classes/Gems/Menu.php:287 +#: classes/Gems/Menu.php:322 msgid "Token" msgstr "Token" -#: classes/Gems/Menu.php:240 +#: classes/Gems/Menu.php:248 msgid "Logoff" msgstr "Logoff" -#: classes/Gems/Menu.php:275 +#: classes/Gems/Menu.php:283 msgid "Track" msgstr "Track" -#: classes/Gems/Menu.php:282 -#: classes/Gems/Menu.php:302 -#: classes/Gems/Menu.php:333 +#: classes/Gems/Menu.php:290 +#: classes/Gems/Menu.php:310 +#: classes/Gems/Menu.php:341 msgid "Add" msgstr "Add" -#: classes/Gems/Menu.php:286 -#: classes/Gems/Menu.php:369 +#: classes/Gems/Menu.php:294 +#: classes/Gems/Menu.php:377 msgid "Preview" msgstr "Preview" -#: classes/Gems/Menu.php:293 +#: classes/Gems/Menu.php:301 msgid "Tracks" msgstr "Tracks" -#: classes/Gems/Menu.php:306 +#: classes/Gems/Menu.php:314 msgid "Assignments" msgstr "Assignments" -#: classes/Gems/Menu.php:310 -msgid "Show" -msgstr "Show" - -#: classes/Gems/Menu.php:318 +#: classes/Gems/Menu.php:326 msgid "Edit" msgstr "Edit" -#: classes/Gems/Menu.php:322 +#: classes/Gems/Menu.php:330 msgid "Delete" msgstr "Delete" -#: classes/Gems/Menu.php:327 +#: classes/Gems/Menu.php:335 msgid "Surveys" msgstr "Surveys" -#: classes/Gems/Menu.php:359 +#: classes/Gems/Menu.php:367 msgid "Fill in" msgstr "Fill in" -#: classes/Gems/Menu.php:363 +#: classes/Gems/Menu.php:371 msgid "Print PDF" msgstr "Print PDF" -#: classes/Gems/Menu.php:366 +#: classes/Gems/Menu.php:374 msgid "E-Mail now!" msgstr "E-Mail now!" -#: classes/Gems/Menu.php:372 +#: classes/Gems/Menu.php:380 msgid "Answers" msgstr "Answers" -#: classes/Gems/Menu.php:510 +#: classes/Gems/Menu.php:518 msgid "Respondents" msgstr "Patients" -#: classes/Gems/Menu.php:513 +#: classes/Gems/Menu.php:521 msgid "Overview" msgstr "Overview" -#: classes/Gems/Menu.php:520 +#: classes/Gems/Menu.php:528 msgid "Project" msgstr "Project" -#: classes/Gems/Menu.php:523 +#: classes/Gems/Menu.php:531 msgid "Setup" msgstr "Setup" -#: classes/Gems/Menu.php:526 +#: classes/Gems/Menu.php:534 msgid "Mail" msgstr "Mail" -#: classes/Gems/Menu.php:529 +#: classes/Gems/Menu.php:537 msgid "Track Builder" msgstr "Track Builder" -#: classes/Gems/Menu.php:538 +#: classes/Gems/Menu.php:546 msgid "Contact" msgstr "Contact" -#: classes/Gems/Menu.php:551 +#: classes/Gems/Menu.php:559 msgid "Changelog" msgstr "Changelog" -#: classes/Gems/Model.php:106 +#: classes/Gems/Model.php:190 msgid "Respondent nr" msgstr "Patient nr" -#: classes/Gems/Model.php:107 +#: classes/Gems/Model.php:191 msgid "Opened" msgstr "Opened" -#: classes/Gems/Model.php:108 +#: classes/Gems/Model.php:192 msgid "Consent" msgstr "Consent" -#: classes/Gems/Model.php:110 +#: classes/Gems/Model.php:194 msgid "E-Mail" msgstr "E-Mail" -#: classes/Gems/Model.php:115 +#: classes/Gems/Model.php:199 msgid "Gender" msgstr "Gender" -#: classes/Gems/Model.php:116 +#: classes/Gems/Model.php:200 msgid "First name" msgstr "First name" -#: classes/Gems/Model.php:117 +#: classes/Gems/Model.php:201 msgid "Surname prefix" msgstr "Surname prefix" -#: classes/Gems/Model.php:118 +#: classes/Gems/Model.php:202 msgid "Last name" msgstr "Last name" -#: classes/Gems/Model.php:120 +#: classes/Gems/Model.php:204 msgid "Name" msgstr "Name" -#: classes/Gems/Model.php:123 +#: classes/Gems/Model.php:207 msgid "Street" msgstr "Street" -#: classes/Gems/Model.php:124 +#: classes/Gems/Model.php:208 msgid "Zipcode" msgstr "Zipcode" -#: classes/Gems/Model.php:125 +#: classes/Gems/Model.php:209 msgid "City" msgstr "City" -#: classes/Gems/Model.php:127 +#: classes/Gems/Model.php:211 msgid "Phone" msgstr "Phone" -#: classes/Gems/Model.php:129 +#: classes/Gems/Model.php:213 msgid "Birthday" msgstr "Birthday" @@ -385,6 +402,20 @@ msgid "Checks performed" msgstr "Checks performed" +#: classes/Gems/UpgradesAbstract.php:164 +msgid "Already at max. level." +msgstr "Already at max. level." + +#: classes/Gems/UpgradesAbstract.php:171 +#, php-format +msgid "Trying upgrade for %s from level %s to level %s" +msgstr "Trying upgrade for %s from level %s to level %s" + +#: classes/Gems/UpgradesAbstract.php:179 +#, php-format +msgid "Trying upgrade for %s to level %s: %s" +msgstr "Trying upgrade for %s to level %s: %s" + #: classes/Gems/Controller/BrowseEditAction.php:344 #, php-format msgid "New %s..." @@ -473,7 +504,8 @@ msgstr "Unknown %s." #: classes/Gems/Controller/ModelActionAbstract.php:97 -#: classes/Gems/Default/AskAction.php:149 +#: classes/Gems/Default/AskAction.php:150 +#: classes/Gems/Default/DatabaseAction.php:524 msgid "Cancel" msgstr "Cancel" @@ -481,99 +513,99 @@ msgid "No data found." msgstr "No data found." -#: classes/Gems/Default/AskAction.php:127 +#: classes/Gems/Default/AskAction.php:128 #, php-format msgid "Welcome %s," msgstr "Welcome %s," -#: classes/Gems/Default/AskAction.php:130 +#: classes/Gems/Default/AskAction.php:131 #, php-format msgid "Thank you for answering the survey for token %s." msgstr "Thank you for answering the survey for token %s." -#: classes/Gems/Default/AskAction.php:131 +#: classes/Gems/Default/AskAction.php:132 msgid "Please click the button below to answer the next survey." msgstr "Please click the button below to answer the next survey." -#: classes/Gems/Default/AskAction.php:136 +#: classes/Gems/Default/AskAction.php:137 #, php-format msgid "Please click the button below to answer the survey for token %s." msgstr "Please click the button below to answer the survey for token %s." -#: classes/Gems/Default/AskAction.php:140 +#: classes/Gems/Default/AskAction.php:141 #, php-format msgid "Wait one second to open the survey automatically or click on Cancel to stop." msgid_plural "Wait %d seconds to open the survey automatically or click on Cancel to stop." msgstr[0] "Wait one second to open the survey automatically or click on Cancel to stop." msgstr[1] "Wait %d seconds to open the survey automatically or click on Cancel to stop." -#: classes/Gems/Default/AskAction.php:155 +#: classes/Gems/Default/AskAction.php:156 #, php-format msgid "After this survey there is one other survey we would like you to answer." msgid_plural "After this survey there are another %d surveys we would like you to answer." msgstr[0] "After this survey there is one other survey we would like you to answer." msgstr[1] "After this survey there are another %d surveys we would like you to answer." -#: classes/Gems/Default/AskAction.php:165 +#: classes/Gems/Default/AskAction.php:166 #, php-format msgid "The survey for token %s is no longer active." msgstr "The survey for token %s is no longer active." -#: classes/Gems/Default/AskAction.php:169 +#: classes/Gems/Default/AskAction.php:170 #, php-format msgid "The token %s does not exist." msgstr "The token %s does not exist." -#: classes/Gems/Default/AskAction.php:171 +#: classes/Gems/Default/AskAction.php:172 #, php-format msgid "Thank you for answering. At the moment we have no further surveys for you to take." msgstr "Thank you for answering. At the moment we have no further surveys for you to take." -#: classes/Gems/Default/AskAction.php:173 +#: classes/Gems/Default/AskAction.php:174 #, php-format msgid "The survey for token %s has been answered and no further surveys are open." msgstr "The survey for token %s has been answered and no further surveys are open." -#: classes/Gems/Default/AskAction.php:180 +#: classes/Gems/Default/AskAction.php:181 #, php-format msgid "The token %s does not exist (any more)." msgstr "The token %s does not exist (any more)." -#: classes/Gems/Default/AskAction.php:194 +#: classes/Gems/Default/AskAction.php:198 #, php-format msgid "Enter your %s token" msgstr "Enter your %s token" -#: classes/Gems/Default/AskAction.php:199 +#: classes/Gems/Default/AskAction.php:203 #, php-format msgid "Enter tokens as %s." msgstr "Enter tokens as %s." -#: classes/Gems/Default/AskAction.php:209 +#: classes/Gems/Default/AskAction.php:213 msgid "OK" msgstr "OK" -#: classes/Gems/Default/AskAction.php:225 +#: classes/Gems/Default/AskAction.php:229 msgid "Tokens identify a survey that was assigned to you personally." msgstr "Tokens identify a survey that was assigned to you personally." -#: classes/Gems/Default/AskAction.php:225 +#: classes/Gems/Default/AskAction.php:229 msgid "Entering the token and pressing OK will open that survey." msgstr "Entering the token and pressing OK will open that survey." -#: classes/Gems/Default/AskAction.php:229 +#: classes/Gems/Default/AskAction.php:233 msgid "After answering the survey you will be logged off automatically." msgstr "After answering the survey you will be logged off automatically." -#: classes/Gems/Default/AskAction.php:231 +#: classes/Gems/Default/AskAction.php:235 msgid "After answering the survey you will return to the respondent overview screen." msgstr "After answering the survey you will return to the paitent overview screen." -#: classes/Gems/Default/AskAction.php:238 +#: classes/Gems/Default/AskAction.php:242 msgid "A token consists of two groups of four letters and numbers, separated by an optional hyphen. Tokens are case insensitive." msgstr "A token consists of two groups of four letters and numbers, separated by an optional hyphen. Tokens are case insensitive." -#: classes/Gems/Default/AskAction.php:239 +#: classes/Gems/Default/AskAction.php:243 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 "The number zero and the letter O are treated as the same; the same goes for the number one and the letter L." @@ -637,14 +669,18 @@ msgid "Links concerning this web application:" msgstr "Links concerning this web application:" -#: classes/Gems/Default/CronAction.php:136 +#: classes/Gems/Default/CronAction.php:148 msgid "Cron jobs turned off." msgstr "Cron jobs turned off." -#: classes/Gems/Default/CronAction.php:200 -msgid "No mails sent" -msgstr "No mails sent" +#: classes/Gems/Default/CronAction.php:218 +msgid "No mails sent." +msgstr "No mails sent." +#: classes/Gems/Default/CronAction.php:221 +msgid "On this test system all mail will be delivered to the from address." +msgstr "On this test system all mail will be delivered to the from address." + #: classes/Gems/Default/DatabaseAction.php:64 #, php-format msgid "Executed %2$s creation script %1$s:" @@ -781,12 +817,12 @@ msgstr "Database object overview" #: classes/Gems/Default/DatabaseAction.php:316 -#: classes/Gems/Default/DatabaseAction.php:362 +#: classes/Gems/Default/DatabaseAction.php:360 msgid "Level" msgstr "Level" #: classes/Gems/Default/DatabaseAction.php:317 -#: classes/Gems/Default/DatabaseAction.php:363 +#: classes/Gems/Default/DatabaseAction.php:361 msgid "Subtype" msgstr "Subtype" @@ -795,12 +831,12 @@ msgstr "To be executed" #: classes/Gems/Default/DatabaseAction.php:320 -#: classes/Gems/Default/DatabaseAction.php:366 +#: classes/Gems/Default/DatabaseAction.php:364 msgid "Executed" msgstr "Executed" #: classes/Gems/Default/DatabaseAction.php:321 -#: classes/Gems/Default/DatabaseAction.php:367 +#: classes/Gems/Default/DatabaseAction.php:365 msgid "Finished" msgstr "Finished" @@ -837,114 +873,114 @@ msgid "Show patches" msgstr "Show patches" -#: classes/Gems/Default/DatabaseAction.php:356 +#: classes/Gems/Default/DatabaseAction.php:354 #, php-format msgid "%d patch(es) executed." msgstr "%d patch(es) executed." -#: classes/Gems/Default/DatabaseAction.php:361 +#: classes/Gems/Default/DatabaseAction.php:359 msgid "Patch" msgstr "Patch" -#: classes/Gems/Default/DatabaseAction.php:365 +#: classes/Gems/Default/DatabaseAction.php:363 msgid "Query" msgstr "Query" -#: classes/Gems/Default/DatabaseAction.php:368 +#: classes/Gems/Default/DatabaseAction.php:366 msgid "Result" msgstr "Result" -#: classes/Gems/Default/DatabaseAction.php:392 +#: classes/Gems/Default/DatabaseAction.php:390 msgid "Patch maintenance" msgstr "Patch maintenance" -#: classes/Gems/Default/DatabaseAction.php:396 +#: classes/Gems/Default/DatabaseAction.php:394 msgid "Patch overview" msgstr "Patch overview" -#: classes/Gems/Default/DatabaseAction.php:458 +#: classes/Gems/Default/DatabaseAction.php:456 msgid "This database object does not exist. You cannot create it." msgstr "This database object does not exist. You cannot create it." -#: classes/Gems/Default/DatabaseAction.php:464 +#: classes/Gems/Default/DatabaseAction.php:462 msgid "This database object has no script. You cannot execute it." msgstr "This database object has no script. You cannot execute it." -#: classes/Gems/Default/DatabaseAction.php:475 +#: classes/Gems/Default/DatabaseAction.php:473 #, php-format msgid "Run %s" msgstr "Run %s" -#: classes/Gems/Default/DatabaseAction.php:494 +#: classes/Gems/Default/DatabaseAction.php:492 #, php-format msgid "Starting %d object creation scripts." msgstr "Starting %d object creation scripts." -#: classes/Gems/Default/DatabaseAction.php:499 +#: classes/Gems/Default/DatabaseAction.php:497 #, php-format msgid "Finished %s creation script for object %d of %d" msgstr "Finished %s creation script for object %d of %d" -#: classes/Gems/Default/DatabaseAction.php:503 +#: classes/Gems/Default/DatabaseAction.php:501 msgid "All objects exist. Nothing was executed." msgstr "All objects exist. Nothing was executed." -#: classes/Gems/Default/DatabaseAction.php:509 +#: classes/Gems/Default/DatabaseAction.php:507 msgid "Create not-existing database objects" msgstr "Create not-existing database objects" -#: classes/Gems/Default/DatabaseAction.php:511 +#: classes/Gems/Default/DatabaseAction.php:509 #, php-format msgid "One database object does not exist." msgid_plural "These %d database objects do not exist." msgstr[0] "One database object does not exist." msgstr[1] "These %d database objects do not exist." -#: classes/Gems/Default/DatabaseAction.php:512 +#: classes/Gems/Default/DatabaseAction.php:510 msgid "Are you sure you want to create it?" msgid_plural "Are you sure you want to create them all?" msgstr[0] "Are you sure you want to create it?" msgstr[1] "Are you sure you want to create them all?" -#: classes/Gems/Default/DatabaseAction.php:525 +#: classes/Gems/Default/DatabaseAction.php:523 msgid "All database objects exist. There is nothing to create." msgstr "All database objects exist. There is nothing to create." -#: classes/Gems/Default/DatabaseAction.php:538 +#: classes/Gems/Default/DatabaseAction.php:536 msgid "Separate multiple commands with semicolons (;)." msgstr "Separate multiple commands with semicolons (;)." -#: classes/Gems/Default/DatabaseAction.php:545 +#: classes/Gems/Default/DatabaseAction.php:543 msgid "Run" msgstr "Run" -#: classes/Gems/Default/DatabaseAction.php:554 +#: classes/Gems/Default/DatabaseAction.php:552 msgid "raw" msgstr "raw" -#: classes/Gems/Default/DatabaseAction.php:563 +#: classes/Gems/Default/DatabaseAction.php:561 #, php-format msgid "Result set %s." msgstr "Result set %s." -#: classes/Gems/Default/DatabaseAction.php:586 +#: classes/Gems/Default/DatabaseAction.php:584 msgid "Execute raw SQL" msgstr "Execute raw SQL" -#: classes/Gems/Default/DatabaseAction.php:589 +#: classes/Gems/Default/DatabaseAction.php:587 msgid "Result sets" msgstr "Result sets" -#: classes/Gems/Default/DatabaseAction.php:614 +#: classes/Gems/Default/DatabaseAction.php:612 msgid "This database object does not exist. You cannot view it." msgstr "This database object does not exist. You cannot view it." -#: classes/Gems/Default/DatabaseAction.php:619 +#: classes/Gems/Default/DatabaseAction.php:617 #, php-format msgid "The data in table %s" msgstr "The data in table %s" -#: classes/Gems/Default/DatabaseAction.php:620 +#: classes/Gems/Default/DatabaseAction.php:618 #, php-format msgid "Contents of %s %s" msgstr "Contents of %s %s" @@ -968,7 +1004,7 @@ msgstr "%s records found." #: classes/Gems/Default/ExportAction.php:174 -#: classes/Gems/Default/IndexAction.php:105 +#: classes/Gems/Default/IndexAction.php:162 #: classes/Gems/Default/MailJobAction.php:119 msgid "Organization" msgstr "Organization" @@ -996,73 +1032,87 @@ msgid "Administrative groups" msgstr "Administrative groups" -#: classes/Gems/Default/IndexAction.php:98 +#: classes/Gems/Default/IndexAction.php:83 +msgid "Enter your token..." +msgstr "Enter your token..." + +#: classes/Gems/Default/IndexAction.php:124 #, php-format msgid "Login to %s application" msgstr "Login to %s application" -#: classes/Gems/Default/IndexAction.php:117 -#: classes/Gems/Default/IndexAction.php:304 -msgid "Username" -msgstr "Username" +#: classes/Gems/Default/IndexAction.php:128 +msgid "Login" +msgstr "Login" -#: classes/Gems/Default/IndexAction.php:125 -#: classes/Gems/Default/MailServerAction.php:88 +#: classes/Gems/Default/IndexAction.php:145 +msgid "Back to login" +msgstr "Back to login" + +#: classes/Gems/Default/IndexAction.php:183 msgid "Password" msgstr "Password" -#: classes/Gems/Default/IndexAction.php:134 -msgid "Login" -msgstr "Login" +#: classes/Gems/Default/IndexAction.php:198 +#, php-format +msgid "Reset password for %s application" +msgstr "Reset password for %s application" -#: classes/Gems/Default/IndexAction.php:141 -msgid "Enter your token..." -msgstr "Enter your token..." +#: classes/Gems/Default/IndexAction.php:202 +msgid "Reset password" +msgstr "Reset password" -#: classes/Gems/Default/IndexAction.php:196 -#: classes/Gems/Default/IndexAction.php:244 +#: classes/Gems/Default/IndexAction.php:248 +msgid "Username" +msgstr "Username" + +#: classes/Gems/Default/IndexAction.php:305 #, php-format msgid "Login successful, welcome %s." msgstr "Login successful, welcome %s." -#: classes/Gems/Default/IndexAction.php:270 -msgid "Good bye: " -msgstr "Good bye: " - -#: classes/Gems/Default/IndexAction.php:300 +#: classes/Gems/Default/IndexAction.php:335 #, php-format -msgid "Reset password for %s application" -msgstr "Reset password for %s application" +msgid "Good bye: %s." +msgstr "Good bye: %s." -#: classes/Gems/Default/IndexAction.php:312 -msgid "Reset password" -msgstr "Reset password" +#: classes/Gems/Default/IndexAction.php:360 +msgid "Reset accepted, enter your new password." +msgstr "Reset accepted, enter your new password." -#: classes/Gems/Default/IndexAction.php:336 -msgid "No such user found or no e-mail address known" -msgstr "No such user found or no e-mail address known" +#: classes/Gems/Default/IndexAction.php:364 +msgid "This key timed out or does not belong to this user." +msgstr "This key timed out or does not belong to this user." -#: classes/Gems/Default/IndexAction.php:338 -msgid "Reset e-mail already sent, please try again after 24 hours" -msgstr "Reset e-mail already sent, please try again after 24 hours" +#: classes/Gems/Default/IndexAction.php:381 +msgid "Password reset requested" +msgstr "Password reset requested" -#: classes/Gems/Default/IndexAction.php:353 -msgid "Follow the instructions in the e-mail" -msgstr "Follow the instructions in the e-mail" +#: classes/Gems/Default/IndexAction.php:382 +#, php-format +msgid "To reset your password for %s, please click this link: %s" +msgstr "To reset your password for %s, please click this link: %s" -#: classes/Gems/Default/IndexAction.php:355 -#: classes/Gems/Default/IndexAction.php:379 -msgid "Unable to send e-mail" -msgstr "Unable to send e-mail" +#: classes/Gems/Default/IndexAction.php:387 +msgid "We sent you an e-mail with a reset link. Click on the link in the e-mail." +msgstr "We sent you an e-mail with a reset link. Click on the link in the e-mail." -#: classes/Gems/Default/IndexAction.php:375 -msgid "An e-mail was sent containing your new password" -msgstr "An e-mail was sent containing your new password" +#: classes/Gems/Default/IndexAction.php:389 +msgid "Unable to send e-mail." +msgstr "Unable to send e-mail." -#: classes/Gems/Default/IndexAction.php:383 -msgid "Unknown request" -msgstr "Unknown request" +#: classes/Gems/Default/IndexAction.php:394 +msgid "No such user found or no e-mail address known or user cannot be reset." +msgstr "No such user found or no e-mail address known or user cannot be reset." +#: classes/Gems/Default/IndexAction.php:398 +msgid "We received your password reset key." +msgstr "We received your password reset key." + +#: classes/Gems/Default/IndexAction.php:399 +msgid "Please enter the organization and username belonging to this key." +msgstr "Please enter the organization and username belonging to this key." + #: classes/Gems/Default/InvitationAction.php:52 msgid "Invite" msgstr "Invite" @@ -1133,7 +1183,6 @@ msgstr "Action" #: classes/Gems/Default/LogAction.php:165 -#: classes/Gems/Default/MailTemplateAction.php:65 msgid "Message" msgstr "Message" @@ -1171,7 +1220,6 @@ msgstr "New automatic mail job..." #: classes/Gems/Default/MailJobAction.php:100 -#: classes/Gems/Default/MailLogAction.php:116 msgid "Template" msgstr "Template" @@ -1340,10 +1388,16 @@ msgstr "User ID" #: classes/Gems/Default/MailServerAction.php:90 +#: classes/Gems/Default/OptionAction.php:112 +#: classes/Gems/Default/OptionAction.php:117 +#: classes/Gems/Default/SourceAction.php:95 +#: classes/Gems/Default/StaffAction.php:144 msgid "Repeat password" msgstr "Repeat password" #: classes/Gems/Default/MailServerAction.php:91 +#: classes/Gems/Default/SourceAction.php:74 +#: classes/Gems/Default/StaffAction.php:118 msgid "Enter only when changing" msgstr "Enter only when changing the password" @@ -1358,6 +1412,7 @@ msgstr "Email servers" #: classes/Gems/Default/MailTemplateAction.php:75 +#: classes/Gems/Default/StaffAction.php:228 msgid "(all organizations)" msgstr "(all organizations)" @@ -1371,34 +1426,38 @@ msgid "Email templates" msgstr "Email templates" -#: classes/Gems/Default/OptionAction.php:75 -#: classes/Gems/Default/OrganizationAction.php:128 -#: classes/Gems/Default/RespondentAction.php:173 -#: classes/Gems/Default/StaffAction.php:196 -msgid "Language" -msgstr "Language" +#: classes/Gems/Default/OptionAction.php:84 +msgid "You are not allowed to change your password." +msgstr "You are not allowed to change your password." -#: classes/Gems/Default/OptionAction.php:94 +#: classes/Gems/Default/OptionAction.php:96 msgid "Current password" msgstr "Current password" -#: classes/Gems/Default/OptionAction.php:105 -#: classes/Gems/Default/OptionAction.php:121 +#: classes/Gems/Default/OptionAction.php:106 +#: classes/Gems/Default/OptionAction.php:122 msgid "New password" msgstr "New password" -#: classes/Gems/Default/OptionAction.php:146 +#: classes/Gems/Default/OptionAction.php:141 msgid "New password is active." msgstr "New password is active." -#: classes/Gems/Default/OptionAction.php:152 +#: classes/Gems/Default/OptionAction.php:146 msgid "Caps Lock seems to be on!" msgstr "Caps Lock seems to be on!" -#: classes/Gems/Default/OptionAction.php:191 +#: classes/Gems/Default/OptionAction.php:190 msgid "Login Name" msgstr "Login Name" +#: classes/Gems/Default/OptionAction.php:197 +#: classes/Gems/Default/OrganizationAction.php:140 +#: classes/Gems/Default/RespondentAction.php:173 +#: classes/Gems/Default/StaffAction.php:213 +msgid "Language" +msgstr "Language" + #: classes/Gems/Default/OptionAction.php:207 #, php-format msgid "Options" @@ -1426,61 +1485,72 @@ msgid "Item" msgstr "Item" -#: classes/Gems/Default/OrganizationAction.php:93 +#: classes/Gems/Default/OrganizationAction.php:105 msgid "Cookies must be enabled." msgstr "Cookies must be enabled." -#: classes/Gems/Default/OrganizationAction.php:96 +#: classes/Gems/Default/OrganizationAction.php:108 msgid "Invalid organization." msgstr "Invalid organization." -#: classes/Gems/Default/OrganizationAction.php:117 +#: classes/Gems/Default/OrganizationAction.php:129 msgid "Url" msgstr "Url" -#: classes/Gems/Default/OrganizationAction.php:118 +#: classes/Gems/Default/OrganizationAction.php:130 msgid "Task" msgstr "Task" -#: classes/Gems/Default/OrganizationAction.php:119 +#: classes/Gems/Default/OrganizationAction.php:131 msgid "Contact name" msgstr "Contact name" -#: classes/Gems/Default/OrganizationAction.php:120 +#: classes/Gems/Default/OrganizationAction.php:132 msgid "Contact email" msgstr "Contact email" -#: classes/Gems/Default/OrganizationAction.php:123 +#: classes/Gems/Default/OrganizationAction.php:135 msgid "Style" msgstr "Style" -#: classes/Gems/Default/OrganizationAction.php:138 +#: classes/Gems/Default/OrganizationAction.php:145 +msgid "Allow new respondents" +msgstr "Allow new patients" + +#: classes/Gems/Default/OrganizationAction.php:150 msgid "Greeting" msgstr "Greeting" -#: classes/Gems/Default/OrganizationAction.php:138 -#: classes/Gems/Default/OrganizationAction.php:139 +#: classes/Gems/Default/OrganizationAction.php:150 +#: classes/Gems/Default/OrganizationAction.php:151 msgid "For emails and token forward screen." msgstr "For emails and token forward screen." -#: classes/Gems/Default/OrganizationAction.php:139 +#: classes/Gems/Default/OrganizationAction.php:151 msgid "Signature" msgstr "Signature" -#: classes/Gems/Default/OrganizationAction.php:155 +#: classes/Gems/Default/OrganizationAction.php:153 +msgid "Accessible by" +msgstr "Accessible by" + +#: classes/Gems/Default/OrganizationAction.php:153 +msgid "Checked organizations see this organizations respondents." +msgstr "Checked organizations see this organizations patients." + +#: classes/Gems/Default/OrganizationAction.php:172 msgid "organization" msgid_plural "organizations" msgstr[0] "organization" msgstr[1] "organizations" -#: classes/Gems/Default/OrganizationAction.php:160 +#: classes/Gems/Default/OrganizationAction.php:177 msgid "Participating organizations" msgstr "Participating organizations" #: classes/Gems/Default/OverviewPlanAction.php:115 #: classes/Gems/Default/ProjectSurveysAction.php:88 #: classes/Gems/Default/SurveyAction.php:203 -#: classes/Gems/Default/SurveyMaintenanceAction.php:409 msgid "survey" msgid_plural "surveys" msgstr[0] "survey" @@ -1614,14 +1684,12 @@ #: classes/Gems/Default/ProjectSurveysAction.php:69 #: classes/Gems/Default/ProjectTracksAction.php:67 #: classes/Gems/Default/SurveyAction.php:193 -#: classes/Gems/Default/TrackAction.php:329 msgid "From" msgstr "From" #: classes/Gems/Default/ProjectSurveysAction.php:70 #: classes/Gems/Default/ProjectTracksAction.php:68 #: classes/Gems/Default/SurveyAction.php:195 -#: classes/Gems/Default/TrackAction.php:331 msgid "Until" msgstr "Until" @@ -1630,12 +1698,10 @@ msgstr "Active surveys" #: classes/Gems/Default/ProjectTracksAction.php:65 -#: classes/Gems/Default/TrackAction.php:328 msgid "Survey #" msgstr "Survey #" #: classes/Gems/Default/ProjectTracksAction.php:85 -#: classes/Gems/Default/TrackAction.php:451 msgid "track" msgid_plural "tracks" msgstr[0] "track" @@ -1695,7 +1761,7 @@ #: classes/Gems/Default/ReceptionAction.php:94 msgid "This reception code can be assigned to a respondent." -msgstr "This reception code can be assigned to a respondent." +msgstr "This reception code can be assigned to a patient." #: classes/Gems/Default/ReceptionAction.php:95 msgid "For tracks" @@ -1801,8 +1867,6 @@ msgstr "Treatment" #: classes/Gems/Default/RespondentAction.php:230 -#: classes/Gems/Default/TrackAction.php:131 -#: classes/Gems/Default/TrackAction.php:475 msgid "Rejection code" msgstr "Rejection code" @@ -1815,45 +1879,39 @@ msgstr "Patient deleted" #: classes/Gems/Default/RespondentAction.php:291 -#: classes/Gems/Default/TrackAction.php:404 msgid "Choose a reception code to delete." msgstr "Choose a reception code to delete." -#: classes/Gems/Default/RespondentAction.php:355 +#: classes/Gems/Default/RespondentAction.php:335 msgid "respondent" msgid_plural "respondents" msgstr[0] "patient" msgstr[1] "patients" -#: classes/Gems/Default/RespondentAction.php:398 +#: classes/Gems/Default/RespondentAction.php:392 msgid "Please settle the informed consent form for this respondent." msgstr "Please settle the informed consent form for this patient." #: classes/Gems/Default/RespondentPlanAction.php:67 #: classes/Gems/Default/SurveyAction.php:171 -#: classes/Gems/Default/TrackAction.php:296 msgid "Show respondent" msgstr "Show patient" #: classes/Gems/Default/RespondentPlanAction.php:73 -#: classes/Gems/Default/TrackAction.php:265 -#: classes/Gems/Default/TrackAction.php:284 msgid "Show track" msgstr "Show track" #: classes/Gems/Default/RespondentPlanAction.php:136 -#: classes/Gems/Default/TrackAction.php:316 msgid " of " msgstr " of " #: classes/Gems/Default/RespondentPlanAction.php:137 -#: classes/Gems/Default/TrackAction.php:317 msgid "Progress" msgstr "Progress" #: classes/Gems/Default/RespondentPlanAction.php:144 msgid "Respondent planning" -msgstr "Respondent planning" +msgstr "Patient planning" #: classes/Gems/Default/RoleAction.php:175 msgid "Illegal name" @@ -1997,23 +2055,23 @@ msgid "Are you sure you want to synchronize all survey sources?" msgstr "Are you sure you want to synchronize all survey sources?" -#: classes/Gems/Default/StaffAction.php:137 +#: classes/Gems/Default/StaffAction.php:158 msgid "If checked the user will logoff when answering a survey." msgstr "If checked the user will logoff when answering a survey." -#: classes/Gems/Default/StaffAction.php:153 +#: classes/Gems/Default/StaffAction.php:174 msgid "You are not allowed to edit this staff member." msgstr "You are not allowed to edit this staff member." -#: classes/Gems/Default/StaffAction.php:191 +#: classes/Gems/Default/StaffAction.php:208 msgid "Primary function" msgstr "Primary function" -#: classes/Gems/Default/StaffAction.php:197 +#: classes/Gems/Default/StaffAction.php:214 msgid "Logout on survey" msgstr "Logout on survey" -#: classes/Gems/Default/StaffAction.php:275 +#: classes/Gems/Default/StaffAction.php:283 msgid "staff member" msgid_plural "staff members" msgstr[0] "staff member" @@ -2116,42 +2174,42 @@ msgid "Checking survey results for the %s survey." msgstr "Checking survey results for the %s survey." -#: classes/Gems/Default/SurveyMaintenanceAction.php:348 +#: classes/Gems/Default/SurveyMaintenanceAction.php:347 msgid "Source" msgstr "Source" -#: classes/Gems/Default/SurveyMaintenanceAction.php:349 +#: classes/Gems/Default/SurveyMaintenanceAction.php:348 msgid "Status in source" msgstr "Status in source" -#: classes/Gems/Default/SurveyMaintenanceAction.php:353 +#: classes/Gems/Default/SurveyMaintenanceAction.php:352 msgid "Active in source" msgstr "Active in source" -#: classes/Gems/Default/SurveyMaintenanceAction.php:354 +#: classes/Gems/Default/SurveyMaintenanceAction.php:353 #, php-format msgid "Active in %s" msgstr "Active in %s" -#: classes/Gems/Default/SurveyMaintenanceAction.php:361 +#: classes/Gems/Default/SurveyMaintenanceAction.php:360 msgid "Single" msgstr "Single" -#: classes/Gems/Default/SurveyMaintenanceAction.php:394 +#: classes/Gems/Default/SurveyMaintenanceAction.php:393 #, php-format msgid "%d times in track." msgstr "%d times in track." -#: classes/Gems/Default/SurveyMaintenanceAction.php:396 +#: classes/Gems/Default/SurveyMaintenanceAction.php:395 #, php-format msgid "%d times in %d track(s)." msgstr "%d times in %d track(s)." -#: classes/Gems/Default/SurveyMaintenanceAction.php:400 +#: classes/Gems/Default/SurveyMaintenanceAction.php:399 msgid "Not used in track." msgstr "Not used in track." -#: classes/Gems/Default/SurveyMaintenanceAction.php:402 +#: classes/Gems/Default/SurveyMaintenanceAction.php:401 msgid "Not used in tracks." msgstr "Not used in tracks." @@ -2242,22 +2300,22 @@ msgid "(all fillers)" msgstr "(all fillers)" -#: classes/Gems/Default/TokenPlanAction.php:358 +#: classes/Gems/Defaul... [truncated message content] |