Пример #1
0
 function viewSaveCustomizeAction()
 {
     $translate = DevblocksPlatform::getTranslationService();
     @($id = DevblocksPlatform::importGPC($_REQUEST['id']));
     @($columns = DevblocksPlatform::importGPC($_REQUEST['columns'], 'array', array()));
     @($num_rows = DevblocksPlatform::importGPC($_REQUEST['num_rows'], 'integer', 10));
     $num_rows = max($num_rows, 1);
     // make 1 the minimum
     $view = C4_AbstractViewLoader::getView($id);
     $view->doCustomize($columns, $num_rows);
     $active_worker = CerberusApplication::getActiveWorker();
     // Conditional Persist
     if (substr($id, 0, 5) == "cust_") {
         // custom workspace
         $list_view_id = intval(substr($id, 5));
         // Special custom view fields
         @($title = DevblocksPlatform::importGPC($_REQUEST['title'], 'string', $translate->_('views.new_list')));
         $view->name = $title;
         // Persist Object
         $list_view = new Model_WorkerWorkspaceListView();
         $list_view->title = $title;
         $list_view->columns = $view->view_columns;
         $list_view->num_rows = $view->renderLimit;
         $list_view->params = $view->params;
         $list_view->sort_by = $view->renderSortBy;
         $list_view->sort_asc = $view->renderSortAsc;
         DAO_WorkerWorkspaceList::update($list_view_id, array(DAO_WorkerWorkspaceList::LIST_VIEW => serialize($list_view)));
     } else {
         $prefs = new C4_AbstractViewModel();
         $prefs->class_name = get_class($view);
         $prefs->view_columns = $view->view_columns;
         $prefs->renderLimit = $view->renderLimit;
         $prefs->renderSortBy = $view->renderSortBy;
         $prefs->renderSortAsc = $view->renderSortAsc;
         DAO_WorkerPref::set($active_worker->id, 'view' . $view->id, serialize($prefs));
     }
     C4_AbstractViewLoader::setView($id, $view);
     $view->render();
 }
Пример #2
0
 function saveTab()
 {
     @($forward_bucket = DevblocksPlatform::importGPC($_REQUEST['forward_bucket'], 'string', ''));
     @($forward_address = DevblocksPlatform::importGPC($_REQUEST['forward_address'], 'string', ''));
     @($forward_event = DevblocksPlatform::importGPC($_REQUEST['forward_event'], 'string', ''));
     $worker = CerberusApplication::getActiveWorker();
     // Delete forwards
     @($forward_deletes = DevblocksPlatform::importGPC($_REQUEST['forward_deletes'], 'array', array()));
     if (!empty($forward_deletes)) {
         DAO_WorkerMailForward::delete($forward_deletes);
     }
     // Add forward
     if (!empty($forward_bucket) && !empty($forward_address) && !empty($forward_event)) {
         @(list($group_id, $bucket_id) = split('_', $forward_bucket));
         if (is_null($group_id) || is_null($bucket_id)) {
             break;
         }
         $fields = array(DAO_WorkerMailForward::WORKER_ID => $worker->id, DAO_WorkerMailForward::GROUP_ID => $group_id, DAO_WorkerMailForward::BUCKET_ID => $bucket_id, DAO_WorkerMailForward::EMAIL => $forward_address, DAO_WorkerMailForward::EVENT => $forward_event);
         DAO_WorkerMailForward::create($fields);
     }
     // Assignment notifications
     @($assign_notify_email = DevblocksPlatform::importGPC($_REQUEST['assign_notify_email'], 'string', ''));
     DAO_WorkerPref::set($worker->id, ChWatchersPlugin::WORKER_PREF_ASSIGN_EMAIL, $assign_notify_email);
     DevblocksPlatform::setHttpResponse(new DevblocksHttpResponse(array('preferences', 'notifications')));
 }
Пример #3
0
 function doStopTourAction()
 {
     //		$request = DevblocksPlatform::getHttpRequest();
     $worker = CerberusApplication::getActiveWorker();
     DAO_WorkerPref::set($worker->id, 'assist_mode', 0);
     //		DevblocksPlatform::redirect(new DevblocksHttpResponse($request->path, $request->query));
 }
Пример #4
0
 function saveDefaultsAction()
 {
     @($timezone = DevblocksPlatform::importGPC($_REQUEST['timezone'], 'string'));
     @($lang_code = DevblocksPlatform::importGPC($_REQUEST['lang_code'], 'string', 'en_US'));
     @($default_signature = DevblocksPlatform::importGPC($_REQUEST['default_signature'], 'string'));
     @($default_signature_pos = DevblocksPlatform::importGPC($_REQUEST['default_signature_pos'], 'integer', 0));
     @($reply_box_height = DevblocksPlatform::importGPC($_REQUEST['reply_box_height'], 'integer'));
     $worker = CerberusApplication::getActiveWorker();
     $translate = DevblocksPlatform::getTranslationService();
     $tpl = DevblocksPlatform::getTemplateService();
     $pref_errors = array();
     // Time
     $_SESSION['timezone'] = $timezone;
     @date_default_timezone_set($timezone);
     DAO_WorkerPref::set($worker->id, 'timezone', $timezone);
     // Language
     $_SESSION['locale'] = $lang_code;
     DevblocksPlatform::setLocale($lang_code);
     DAO_WorkerPref::set($worker->id, 'locale', $lang_code);
     @($new_password = DevblocksPlatform::importGPC($_REQUEST['change_pass'], 'string'));
     @($verify_password = DevblocksPlatform::importGPC($_REQUEST['change_pass_verify'], 'string'));
     //[mdf] if nonempty passwords match, update worker's password
     if ($new_password != "" && $new_password === $verify_password) {
         $session = DevblocksPlatform::getSessionService();
         $fields = array(DAO_Worker::PASSWORD => md5($new_password));
         DAO_Worker::updateAgent($worker->id, $fields);
     }
     @($assist_mode = DevblocksPlatform::importGPC($_REQUEST['assist_mode'], 'integer', 0));
     DAO_WorkerPref::set($worker->id, 'assist_mode', $assist_mode);
     @($keyboard_shortcuts = DevblocksPlatform::importGPC($_REQUEST['keyboard_shortcuts'], 'integer', 0));
     DAO_WorkerPref::set($worker->id, 'keyboard_shortcuts', $keyboard_shortcuts);
     @($mail_inline_comments = DevblocksPlatform::importGPC($_REQUEST['mail_inline_comments'], 'integer', 0));
     DAO_WorkerPref::set($worker->id, 'mail_inline_comments', $mail_inline_comments);
     @($mail_always_show_all = DevblocksPlatform::importGPC($_REQUEST['mail_always_show_all'], 'integer', 0));
     DAO_WorkerPref::set($worker->id, 'mail_always_show_all', $mail_always_show_all);
     // Alternate Email Addresses
     @($new_email = DevblocksPlatform::importGPC($_REQUEST['new_email'], 'string', ''));
     @($email_delete = DevblocksPlatform::importGPC($_REQUEST['email_delete'], 'array', array()));
     // Confirm deletions are assigned to the current worker
     if (!empty($email_delete)) {
         foreach ($email_delete as $e) {
             if (null != ($worker_address = DAO_AddressToWorker::getByAddress($e)) && $worker_address->worker_id == $worker->id) {
                 DAO_AddressToWorker::unassign($e);
             }
         }
     }
     // Assign a new e-mail address if it's legitimate
     if (!empty($new_email)) {
         if (null != ($addy = DAO_Address::lookupAddress($new_email, true))) {
             if (null == ($assigned = DAO_AddressToWorker::getByAddress($new_email))) {
                 $this->_sendConfirmationEmail($new_email, $worker);
             } else {
                 $pref_errors[] = vsprintf($translate->_('prefs.address.exists'), $new_email);
             }
         } else {
             $pref_errors[] = vsprintf($translate->_('prefs.address.invalid'), $new_email);
         }
     }
     $tpl->assign('pref_errors', $pref_errors);
     DevblocksPlatform::setHttpResponse(new DevblocksHttpResponse(array('preferences')));
 }
Пример #5
0
 function saveTabGeneralAction()
 {
     @($timezone = DevblocksPlatform::importGPC($_REQUEST['timezone'], 'string'));
     @($lang_code = DevblocksPlatform::importGPC($_REQUEST['lang_code'], 'string', 'en_US'));
     $worker = PortSensorApplication::getActiveWorker();
     $translate = DevblocksPlatform::getTranslationService();
     $tpl = DevblocksPlatform::getTemplateService();
     // Time
     $_SESSION['timezone'] = $timezone;
     @date_default_timezone_set($timezone);
     DAO_WorkerPref::set($worker->id, 'timezone', $timezone);
     // Language
     $_SESSION['locale'] = $lang_code;
     DevblocksPlatform::setLocale($lang_code);
     DAO_WorkerPref::set($worker->id, 'locale', $lang_code);
     @($new_password = DevblocksPlatform::importGPC($_REQUEST['change_pass'], 'string'));
     @($verify_password = DevblocksPlatform::importGPC($_REQUEST['change_pass_verify'], 'string'));
     //[mdf] if nonempty passwords match, update worker's password
     if ($new_password != "" && $new_password === $verify_password) {
         $session = DevblocksPlatform::getSessionService();
         $fields = array(DAO_Worker::PASS => md5($new_password));
         DAO_Worker::update($worker->id, $fields);
     }
     @($assist_mode = DevblocksPlatform::importGPC($_REQUEST['assist_mode'], 'integer', 0));
     DAO_WorkerPref::set($worker->id, 'assist_mode', $assist_mode);
     @($keyboard_shortcuts = DevblocksPlatform::importGPC($_REQUEST['keyboard_shortcuts'], 'integer', 0));
     DAO_WorkerPref::set($worker->id, 'keyboard_shortcuts', $keyboard_shortcuts);
     DevblocksPlatform::setHttpResponse(new DevblocksHttpResponse(array('preferences')));
 }