Update api_usergroup.php
authorRobert Sesek <rsesek@bluestatic.org>
Sat, 6 Sep 2008 20:12:42 +0000 (16:12 -0400)
committerRobert Sesek <rsesek@bluestatic.org>
Sat, 6 Sep 2008 20:12:42 +0000 (16:12 -0400)
includes/api_usergroup.php

index 2344287cb7bc3d1d35b3bc36953263044e64f11d..d8190d4f3d5a1e34dd2f87d55c97e2e131386c58 100644 (file)
@@ -19,8 +19,7 @@
 || ###################################################################
 \*=====================================================================*/
 
-$GLOBALS['isso:callback']->load('api', null);
-
+require_once ISSO . '/Api.php';
 require_once('./includes/functions_datastore.php');
 
 /**
@@ -32,86 +31,88 @@ require_once('./includes/functions_datastore.php');
 * @package             Bugdar
 * 
 */
-class UsergroupAPI extends API
+class UsergroupAPI extends BSApi
 {
        /**
-       * Fields
-       * @var  array
-       * @access       private
-       */
-       var $fields = array(
-               'usergroupid'   => array(TYPE_UINT,             REQ_AUTO,       'verify_nozero'),
-               'title'                 => array(TYPE_STR,              REQ_YES,        'verify_noempty'),
+        * Fields
+        * @var array
+        */
+       protected $fields = array(
+               'usergroupid'   => array(TYPE_UINT,             REQ_AUTO),
+               'title'                 => array(TYPE_STR,              REQ_YES),
                'displaytitle'  => array(TYPE_STR,              REQ_NO),
                'permissions'   => array(TYPE_UINT,             REQ_NO)
        );
        
        /**
-       * Database table
-       * @var  string
-       * @access       private
-       */
-       var $table = 'usergroup';
+        * Database table
+        * @var string
+        */
+       protected $table = 'usergroup';
        
        /**
-       * Table prefix
-       * @var  string
-       * @access       private
-       */
-       var $prefix = TABLE_PREFIX;
+        * Table prefix
+        * @var string
+        */
+       protected $prefix = TABLE_PREFIX;
        
-       // ###################################################################
        /**
-       * Post-insert
-       *
-       * @access       private
-       */
-       function post_insert()
+        * Post-insert
+        */
+       protected function post_insert()
        {
                build_usergroups();
        }
        
-       // ###################################################################
        /**
-       * Post-update
-       *
-       * @access       private
-       */
-       function post_update()
+        * Post-update
+        */
+       protected function post_update()
        {
                build_usergroups();
                build_assignedto();
        }
        
-       // ###################################################################
        /**
-       * Pre-delete
-       *
-       * @access       private
-       */
-       function pre_delete()
+        * Pre-delete
+        */
+       protected function pre_delete()
        {
                if ($this->values['usergroupid'] < 7)
                {
-                       return T('You can\'t delete a default usergroup.');
+                       throw new FieldException(T('You can\'t delete a default usergroup.'), 'usergroupid');
+                       return false;
                }
        }
        
-       // ###################################################################
        /**
-       * Post-delete
-       *
-       * @access       private
-       */
-       function post_delete()
+        * Post-delete
+        */
+       protected function post_delete()
        {
-               $this->registry->db->query("DELETE FROM " . TABLE_PREFIX . "permission WHERE usergroupid = " . $this->values['usergroupid']);
-               $this->registry->db->query("DELETE FROM " . TABLE_PREFIX . "bugfieldpermission WHERE usergroupid = " . $this->values['usergroupid']);
-               $this->registry->db->query("UPDATE " . TABLE_PREFIX . "user SET usergroupid = 2 WHERE usergroupid = " . $this->values['usergroupid']);
+               BSApp::$db->query("DELETE FROM " . TABLE_PREFIX . "permission WHERE usergroupid = " . $this->values['usergroupid']);
+               BSApp::$db->query("DELETE FROM " . TABLE_PREFIX . "bugfieldpermission WHERE usergroupid = " . $this->values['usergroupid']);
+               BSApp::$db->query("UPDATE " . TABLE_PREFIX . "user SET usergroupid = 2 WHERE usergroupid = " . $this->values['usergroupid']);
                build_usergroups();
                build_permissions();
                build_assignedto();
        }
+       
+       /**
+        * Validate: usergroupid
+        */
+       protected function validate_usergroupid($field)
+       {
+               return $this->_verifyIsNotZero($field);
+       }
+       
+       /**
+        * Validate: usergroup
+        */
+       protected function validate_usergroup($field)
+       {
+               return $this->_verifyIsNotEmpty($field);
+       }
 }
 
 /*=====================================================================*\