Esempio n. 1
0
 function process(Mobile_API_Request $request)
 {
     global $current_user;
     // Required for vtws_update API
     $current_user = $this->getActiveUser();
     $module = $request->get('module');
     //update if recordid exist
     $recordid = $request->get('record');
     $valueArray = Mobile_API_Request::getvaluemap($request);
     $values = '';
     if (!empty($valueArray) && is_string($valueArray)) {
         $values = Zend_Json::decode($valueArray);
     } else {
         $values = $valueArray;
         // Either empty or already decoded.
     }
     //catch error
     $response = new Mobile_API_Response();
     if (empty($values)) {
         $response->setError(1501, "Values cannot be empty!");
         return $response;
     }
     try {
         // Retrieve or Initialize
         if (!empty($recordid)) {
             $this->recordValues = parent::processRetrieve($request);
         } else {
             $this->recordValues = array();
         }
         // Set the modified values
         foreach ($values as $name => $value) {
             $this->recordValues[$name] = $value;
         }
         // Update or Create
         if (isset($this->recordValues['id'])) {
             $this->recordValues = vtws_update($this->recordValues, $current_user);
         } else {
             // Set right target module name for Calendar/Event record
             if ($module == 'Calendar') {
                 if (!empty($this->recordValues['eventstatus']) && $this->recordValues['activitytype'] != 'Task') {
                     $module = 'Events';
                 }
             }
             $this->recordValues = vtws_create($module, $this->recordValues, $current_user);
         }
         // Update the record id
         $request->set('record', $this->recordValues['id']);
         $request->set('id', $this->recordValues['id']);
         // Gather response with full details
         $response = parent::process($request);
     } catch (Exception $e) {
         $response->setError($e->getCode(), $e->getMessage());
     }
     return $response;
 }
 function process(Mobile_API_Request $request)
 {
     $response = parent::process($request);
     return $this->processWithGrouping($request, $response);
 }
Esempio n. 3
0
 function process(Mobile_API_Request $request)
 {
     $operation = new Mobile_API_Request();
     $operation = $request->getOperation();
     if ($operation == 'create') {
         $newrecord = Mobile_WS_Describe::process($request);
         $response = new Mobile_API_Response();
         $response->setResult(array('record' => $newrecord));
         return $response;
     } else {
         $response = parent::process($request);
         return $this->processWithGrouping($request, $response);
     }
 }