From 28a032388bfe8205e3273ee8fad71a7094e64eaf Mon Sep 17 00:00:00 2001 From: Albert Santoni Date: Thu, 26 Sep 2013 15:18:41 -0400 Subject: [PATCH 1/3] Start of bugfixing for SAAS-349. * Also identity verification for erry on Freenode. --- airtime_mvc/application/forms/EditUser.php | 4 +++- .../application/validate/NotDemoValidate.php | 24 +++++++++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 airtime_mvc/application/validate/NotDemoValidate.php diff --git a/airtime_mvc/application/forms/EditUser.php b/airtime_mvc/application/forms/EditUser.php index cff9dfdda..853e8c479 100644 --- a/airtime_mvc/application/forms/EditUser.php +++ b/airtime_mvc/application/forms/EditUser.php @@ -16,7 +16,8 @@ class Application_Form_EditUser extends Zend_Form $userData = Application_Model_User::GetUserData($currentUserId); $notEmptyValidator = Application_Form_Helper_ValidationTypes::overrideNotEmptyValidator(); $emailValidator = Application_Form_Helper_ValidationTypes::overrideEmailAddressValidator(); - + $notDemoValidator = new Application_Validate_NotDemoValidate(); + $this->setDecorators(array( array('ViewScript', array('viewScript' => 'form/edit-user.phtml', "currentUser" => $currentUser->getLogin())))); $this->setAttrib('id', 'current-user-form'); @@ -52,6 +53,7 @@ class Application_Form_EditUser extends Zend_Form $passwordVerify->setRequired(true); $passwordVerify->addFilter('StringTrim'); $passwordVerify->addValidator($notEmptyValidator); + $passwordVerify->addValidator($notDemoValidator); $passwordVerify->setDecorators(array('viewHelper')); $this->addElement($passwordVerify); diff --git a/airtime_mvc/application/validate/NotDemoValidate.php b/airtime_mvc/application/validate/NotDemoValidate.php new file mode 100644 index 000000000..2d9cc0953 --- /dev/null +++ b/airtime_mvc/application/validate/NotDemoValidate.php @@ -0,0 +1,24 @@ + "Cannot be changed in demo mode" + ); + + public function isValid($value) + { + $this->_setValue($value); + + $CC_CONFIG = Config::getConfig(); + if (isset($CC_CONFIG['demo']) && $CC_CONFIG['demo'] == 1) { + $this->_error(self::NOTDEMO); + return false; + } else { + return false; + } + } +} + From c8bb12ca45047020999855ffc84065a847bdd411 Mon Sep 17 00:00:00 2001 From: Albert Santoni Date: Thu, 26 Sep 2013 15:23:02 -0400 Subject: [PATCH 2/3] Freenode identity verification for #airtime --- freenode.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 freenode.txt diff --git a/freenode.txt b/freenode.txt new file mode 100644 index 000000000..05924a820 --- /dev/null +++ b/freenode.txt @@ -0,0 +1 @@ +e7Y4a8H6 From 11ae76beb87dfd8bda4fcdedfff76e8ec8190a0d Mon Sep 17 00:00:00 2001 From: Albert Santoni Date: Thu, 26 Sep 2013 16:23:22 -0400 Subject: [PATCH 3/3] Fix SAAS-349 by preventing password changes in demo mode. * Added a NotDemoValidate validator class to ensure no changes to a field in demo mode. * Prevent the user from changing the password of any user in demo mode. * Fixes SAAS-349. --- airtime_mvc/application/forms/AddUser.php | 5 ++++- airtime_mvc/application/forms/EditUser.php | 1 + airtime_mvc/application/validate/NotDemoValidate.php | 6 +++--- freenode.txt | 1 - 4 files changed, 8 insertions(+), 5 deletions(-) delete mode 100644 freenode.txt diff --git a/airtime_mvc/application/forms/AddUser.php b/airtime_mvc/application/forms/AddUser.php index 75a8f659c..1d3835ae7 100644 --- a/airtime_mvc/application/forms/AddUser.php +++ b/airtime_mvc/application/forms/AddUser.php @@ -1,4 +1,5 @@ setAttrib('id', 'user_form'); $hidden = new Zend_Form_Element_Hidden('user_id'); @@ -42,6 +44,7 @@ class Application_Form_AddUser extends Zend_Form $passwordVerify->setRequired(true); $passwordVerify->addFilter('StringTrim'); $passwordVerify->addValidator($notEmptyValidator); + $passwordVerify->addValidator($notDemoValidator); $this->addElement($passwordVerify); $firstName = new Zend_Form_Element_Text('first_name'); diff --git a/airtime_mvc/application/forms/EditUser.php b/airtime_mvc/application/forms/EditUser.php index 853e8c479..2711bb334 100644 --- a/airtime_mvc/application/forms/EditUser.php +++ b/airtime_mvc/application/forms/EditUser.php @@ -1,4 +1,5 @@ _setValue($value); - + $this->_setValue($value); + $CC_CONFIG = Config::getConfig(); if (isset($CC_CONFIG['demo']) && $CC_CONFIG['demo'] == 1) { $this->_error(self::NOTDEMO); return false; } else { - return false; + return true; } } } diff --git a/freenode.txt b/freenode.txt deleted file mode 100644 index 05924a820..000000000 --- a/freenode.txt +++ /dev/null @@ -1 +0,0 @@ -e7Y4a8H6