diff --git a/airtime_mvc/application/configs/constants.php b/airtime_mvc/application/configs/constants.php index 34f8cab41..9e2563d0f 100644 --- a/airtime_mvc/application/configs/constants.php +++ b/airtime_mvc/application/configs/constants.php @@ -41,6 +41,7 @@ define('UI_MDATA_VALUE_FORMAT_STREAM' , 'live stream'); //User types define('UTYPE_HOST' , 'H'); define('UTYPE_ADMIN' , 'A'); +define('UTYPE_SUPERADMIN' , 'S'); define('UTYPE_GUEST' , 'G'); define('UTYPE_PROGRAM_MANAGER' , 'P'); diff --git a/airtime_mvc/application/controllers/UserController.php b/airtime_mvc/application/controllers/UserController.php index 30963ae98..f28917e9e 100644 --- a/airtime_mvc/application/controllers/UserController.php +++ b/airtime_mvc/application/controllers/UserController.php @@ -63,7 +63,9 @@ class UserController extends Zend_Controller_Action $user->setPassword($formData['password']); } if (array_key_exists('type', $formData)) { - $user->setType($formData['type']); + if ($formData['type'] != UTYPE_SUPERADMIN) { //Don't allow any other user to be promoted to Super Admin + $user->setType($formData['type']); + } } $user->setEmail($formData['email']); $user->setCellPhone($formData['cell_phone']); @@ -189,6 +191,12 @@ class UserController extends Zend_Controller_Action } $user = new Application_Model_User($delId); + + // Don't allow super admins to be deleted. + if ($user->isSuperAdmin()) + { + return; + } # Take care of the user's files by either assigning them to somebody # or deleting them all diff --git a/airtime_mvc/application/models/User.php b/airtime_mvc/application/models/User.php index 8a1008577..dc1cd49c8 100644 --- a/airtime_mvc/application/models/User.php +++ b/airtime_mvc/application/models/User.php @@ -49,7 +49,12 @@ class Application_Model_User { return $this->isUserType(UTYPE_ADMIN); } - + + public function isSuperAdmin() + { + return $this->isUserType(UTYPE_SUPERADMIN); + } + public function canSchedule($p_showId) { $type = $this->getType(); diff --git a/airtime_mvc/application/views/scripts/form/edit-user.phtml b/airtime_mvc/application/views/scripts/form/edit-user.phtml index 1cf55dba4..b26d87499 100644 --- a/airtime_mvc/application/views/scripts/form/edit-user.phtml +++ b/airtime_mvc/application/views/scripts/form/edit-user.phtml @@ -157,7 +157,7 @@ - + diff --git a/airtime_mvc/application/views/scripts/user/add-user.phtml b/airtime_mvc/application/views/scripts/user/add-user.phtml index a85744a46..b58607a89 100644 --- a/airtime_mvc/application/views/scripts/user/add-user.phtml +++ b/airtime_mvc/application/views/scripts/user/add-user.phtml @@ -26,6 +26,9 @@ +