Beispiel #1
0
 function saveTabBucketsAction()
 {
     @($team_id = DevblocksPlatform::importGPC($_REQUEST['team_id'], 'integer'));
     @($active_worker = CerberusApplication::getActiveWorker());
     if (!$active_worker->isTeamManager($team_id) && !$active_worker->is_superuser) {
         return;
     }
     // Inbox assignable
     @($inbox_assignable = DevblocksPlatform::importGPC($_REQUEST['inbox_assignable'], 'integer', 0));
     DAO_GroupSettings::set($team_id, DAO_GroupSettings::SETTING_INBOX_IS_ASSIGNABLE, intval($inbox_assignable));
     //========== BUCKETS
     @($ids = DevblocksPlatform::importGPC($_REQUEST['ids'], 'array'));
     @($add_str = DevblocksPlatform::importGPC($_REQUEST['add'], 'string'));
     @($pos = DevblocksPlatform::importGPC($_REQUEST['pos'], 'array'));
     @($names = DevblocksPlatform::importGPC($_REQUEST['names'], 'array'));
     @($assignables = DevblocksPlatform::importGPC($_REQUEST['is_assignable'], 'array'));
     @($deletes = DevblocksPlatform::importGPC($_REQUEST['deletes'], 'array'));
     // Updates
     if (!empty($ids)) {
         $cats = DAO_Bucket::getList($ids);
         foreach ($ids as $idx => $id) {
             @($cat = $cats[$id]);
             if (is_object($cat)) {
                 $is_assignable = false === array_search($id, $assignables) ? 0 : 1;
                 $fields = array(DAO_Bucket::NAME => $names[$idx], DAO_Bucket::POS => intval($pos[$idx]), DAO_Bucket::IS_ASSIGNABLE => intval($is_assignable));
                 DAO_Bucket::update($id, $fields);
             }
         }
     }
     // Adds: Sort and insert team categories
     $categories = DevblocksPlatform::parseCrlfString($add_str);
     if (is_array($categories)) {
         foreach ($categories as $category) {
             $cat_id = DAO_Bucket::create($category, $team_id);
         }
     }
     if (!empty($deletes)) {
         DAO_Bucket::delete(array_values($deletes));
     }
     DevblocksPlatform::redirect(new DevblocksHttpResponse(array('groups', $team_id, 'buckets')));
 }