Esempio n. 1
1
 /**
  * Updates a particular model.
  * If update is successful, the browser will be redirected to the 'view' page.
  * @param integer $id the ID of the model to be updated
  */
 public function actionUpdate($id)
 {
     $model = $this->loadModel($id);
     $users = User::getNames();
     $fields = Fields::model()->findAllByAttributes(array('modelName' => 'Product'));
     foreach ($fields as $field) {
         if ($field->type == 'link') {
             $fieldName = $field->fieldName;
             $type = ucfirst($field->linkType);
             if (is_numeric($model->{$fieldName}) && $model->{$fieldName} != 0) {
                 eval("\$lookupModel={$type}::model()->findByPk(" . $model->{$fieldName} . ");");
                 if (isset($lookupModel)) {
                     $model->{$fieldName} = $lookupModel->name;
                 }
             }
         }
     }
     if (isset($_POST['Product'])) {
         $temp = $model->attributes;
         $model->setX2Fields($_POST['Product']);
         // generate history
         $action = new Actions();
         $action->associationType = 'product';
         $action->associationId = $model->id;
         $action->associationName = $model->name;
         $action->assignedTo = Yii::app()->user->getName();
         $action->completedBy = Yii::app()->user->getName();
         $action->dueDate = time();
         $action->completeDate = time();
         $action->visibility = 1;
         $action->complete = 'Yes';
         $action->actionDescription = "Update: {$model->name}\n            Type: {$model->type}\n            Price: {$model->price}\n            Currency: {$model->currency}\n            Inventory: {$model->inventory}";
         $action->save();
         parent::update($model, $temp, '0');
     }
     $this->render('update', array('model' => $model, 'users' => $users));
 }
 /**
  * Updates a particular model.
  * If update is successful, the browser will be redirected to the 'view' page.
  * @param integer $id the ID of the model to be updated
  */
 public function actionUpdate($id)
 {
     $model = $this->loadModel($id);
     $users = User::getNames();
     $fields = Fields::model()->findAllByAttributes(array('modelName' => "Products"));
     foreach ($fields as $field) {
         if ($field->type == 'link') {
             $fieldName = $field->fieldName;
             $type = ucfirst($field->linkType);
             if (is_numeric($model->{$fieldName}) && $model->{$fieldName} != 0) {
                 eval("\$lookupModel={$type}::model()->findByPk(" . $model->{$fieldName} . ");");
                 if (isset($lookupModel)) {
                     $model->{$fieldName} = $lookupModel->name;
                 }
             }
         }
     }
     if (isset($_POST['Product'])) {
         $temp = $model->attributes;
         foreach ($_POST['Product'] as $name => $value) {
             if ($value == $model->getAttributeLabel($name)) {
                 $_POST['Product'][$name] = '';
             }
         }
         foreach ($_POST as $key => $arr) {
             $pieces = explode("_", $key);
             if (isset($pieces[0]) && $pieces[0] == 'autoselect') {
                 $newKey = $pieces[1];
                 if (isset($_POST[$newKey . "_id"]) && $_POST[$newKey . "_id"] != "") {
                     $val = $_POST[$newKey . "_id"];
                 } else {
                     $field = Fields::model()->findByAttributes(array('fieldName' => $newKey));
                     if (isset($field)) {
                         $type = ucfirst($field->linkType);
                         if ($type != "Contacts") {
                             eval("\$lookupModel={$type}::model()->findByAttributes(array('name'=>'{$arr}'));");
                         } else {
                             $names = explode(" ", $arr);
                             $lookupModel = Contacts::model()->findByAttributes(array('firstName' => $names[0], 'lastName' => $names[1]));
                         }
                         if (isset($lookupModel)) {
                             $val = $lookupModel->id;
                         } else {
                             $val = $arr;
                         }
                     }
                 }
                 $model->{$newKey} = $val;
             }
         }
         foreach (array_keys($model->attributes) as $field) {
             if (isset($_POST['Product'][$field])) {
                 $model->{$field} = $_POST['Product'][$field];
                 $fieldData = Fields::model()->findByAttributes(array('modelName' => 'Products', 'fieldName' => $field));
                 if ($fieldData->type == 'assignment' && $fieldData->linkType == 'multiple') {
                     $model->{$field} = Accounts::parseUsers($model->{$field});
                 } elseif ($fieldData->type == 'date') {
                     $model->{$field} = strtotime($model->{$field});
                 }
             }
         }
         // generate history
         $action = new Actions();
         $action->associationType = 'product';
         $action->associationId = $model->id;
         $action->associationName = $model->name;
         $action->assignedTo = Yii::app()->user->getName();
         $action->completedBy = Yii::app()->user->getName();
         $action->dueDate = time();
         $action->completeDate = time();
         $action->visibility = 1;
         $action->complete = 'Yes';
         $action->actionDescription = "Update: <b>{$model->name}</b>\n\t\t\t\tType: <b>{$model->type}</b>\n\t\t\t\tPrice: <b>{$model->price}</b>\n\t\t\t\tCurrency: <b>{$model->currency}</b>\n\t\t\t\tInventory: <b>{$model->inventory}</b>";
         $action->save();
         parent::update($model, $temp, '0');
     }
     $this->render('update', array('model' => $model, 'users' => $users));
 }
 public function update($model, $oldAttributes, $api)
 {
     $dueDate = strtotime($model->dueDate);
     $model->dueDate = $dueDate === false ? '' : $dueDate;
     //date('Y-m-d',$dueDate).' 23:59:59';	// default to being due by 11:59 PM
     $association = $this->getAssociation($model->associationType, $model->associationId);
     if ($association != null) {
         $model->associationName = $association->name;
     } else {
         $model->associationName = 'None';
         $model->associationId = 0;
     }
     if (!is_numeric($model->assignedTo)) {
         // assigned to user
         $profile = ProfileChild::model()->findByAttributes(array('username' => $model->assignedTo));
         $profile->updateGoogleCalendarEvent($model);
         // update action in Google Calendar if user has a Google Calendar
     }
     if ($api == 0) {
         parent::update($model, $oldAttributes, $api);
     } else {
         return parent::update($model, $oldAttributes, $api);
     }
 }
 public function update($model, $oldAttributes, $api = 0)
 {
     // process currency into an INT
     //            $model->quoteAmount = $this->parseCurrency($model->quoteAmount,false);
     $arr = $model->associatedContacts;
     if (isset($model->associatedContacts)) {
         foreach ($model->associatedContacts as $contact) {
             $rel = new Relationships();
             $rel->firstType = 'Contacts';
             $rel->firstId = $contact;
             $rel->secondType = 'Sales';
             $rel->secondId = $model->id;
             if ($rel->firstId != "" && $rel->secondId != "") {
                 $rel->save();
             }
         }
         $model->associatedContacts = Sales::parseContacts($arr);
     }
     $model->lastUpdated = time();
     // if($model->expectedCloseDate!=""){
     // $model->expectedCloseDate=strtotime($model->expectedCloseDate);
     // }
     parent::update($model, $oldAttributes, '0');
 }
Esempio n. 5
0
 /**
  * Updates a particular model.
  * If update is successful, the browser will be redirected to the 'view' page.
  * @param integer $id the ID of the model to be updated
  */
 public function actionUpdate($id)
 {
     $model = $this->loadModel($id);
     $users = User::getNames();
     if (isset($_POST['Templates'])) {
         $temp = $model->attributes;
         $model->setX2Fields($_POST['Templates']);
         parent::update($model, $temp, '0');
     }
     $this->render('update', array('model' => $model, 'users' => $users));
 }
Esempio n. 6
0
 public function update($model, $oldAttributes, $api)
 {
     // now in Actions::beforeSave()
     /* $model->dueDate = Formatter::parseDateTime($model->dueDate);
     
               if($model->completeDate)
               $model->completeDate = Formatter::parseDateTime($model->completeDate);
     
               $association = $this->getAssociation($model->associationType,$model->associationId);
     
               if($association != null) {
               $model->associationName = $association->name;
               } else {
               $model->associationName = 'None';
               $model->associationId = 0;
               } */
     // now in Actions::synchGoogleCalendar()
     /* if( !is_numeric($model->assignedTo)) { // assigned to user
        $profile = Profile::model()->findByAttributes(array('username'=>$model->assignedTo));
        if(isset($profile)) // prevent error for actions assigned to 'Anyone'
        $profile->updateGoogleCalendarEvent($model); // update action in Google Calendar if user has a Google Calendar
        } else { // Assigned to group
        $groups = Yii::app()->db->createCommand()->select('userId')->from('x2_group_to_user')->where("groupId={$model->assignedTo}")->queryAll();
        foreach($groups as $group) {
        $profile = Profile::model()->findByPk($group['userId']);
        if(isset($profile)) // prevent error for actions assigned to 'Anyone'
        $profile->updateGoogleCalendarEvent($model);
        }
        } */
     if ($api == 0) {
         parent::update($model, $oldAttributes, $api);
     } else {
         return parent::update($model, $oldAttributes, $api);
     }
 }
 /**
  * Updates a particular model.
  * If update is successful, the browser will be redirected to the 'view' page.
  * @param integer $id the ID of the model to be updated
  */
 public function actionUpdate($id)
 {
     $model = $this->loadModel($id);
     $name = 'Marketing';
     parent::update($model, $name);
 }
 public function update($model, $oldAttributes, $api)
 {
     if ($api == 0) {
         parent::update($model, $oldAttributes, $api);
     } else {
         return parent::update($model, $oldAttributes, $api);
     }
 }
 public function update($model, $oldAttributes, $api)
 {
     // process currency into an INT
     $model->annualRevenue = $this->parseCurrency($model->annualRevenue, false);
     if ($api == 0) {
         parent::update($model, $oldAttributes, $api);
     } else {
         return parent::update($model, $oldAttributes, $api);
     }
 }
 /**
  * Updates a particular model.
  * If update is successful, the browser will be redirected to the 'view' page.
  * @param integer $id the ID of the model to be updated
  */
 public function actionUpdate($id)
 {
     $model = $this->loadModel($id);
     if (isset($_POST['Campaign'])) {
         $oldAttributes = $model->attributes;
         $model->setX2Fields($_POST['Campaign']);
         parent::update($model, $oldAttributes, 0);
     }
     $this->render('update', array('model' => $model));
 }
Esempio n. 11
-1
 /**
  * Updates a particular model.
  * If update is successful, the browser will be redirected to the 'view' page.
  * @param integer $id the ID of the model to be updated
  */
 public function actionUpdate($id)
 {
     $model = $this->loadModel($id);
     $users = User::getNames();
     $fields = Fields::model()->findAllByAttributes(array('modelName' => "Templates"));
     foreach ($fields as $field) {
         if ($field->type == 'link') {
             $fieldName = $field->fieldName;
             $type = ucfirst($field->linkType);
             if (is_numeric($model->{$fieldName}) && $model->{$fieldName} != 0) {
                 eval("\$lookupModel={$type}::model()->findByPk(" . $model->{$fieldName} . ");");
                 if (isset($lookupModel)) {
                     $model->{$fieldName} = $lookupModel->name;
                 }
             }
         } elseif ($field->type == 'date') {
             $fieldName = $field->fieldName;
             $model->{$fieldName} = date("Y-m-d", $model->{$fieldName});
         }
     }
     if (isset($_POST['Templates'])) {
         $temp = $model->attributes;
         foreach ($_POST['Templates'] as $name => $value) {
             if ($value == $model->getAttributeLabel($name)) {
                 $_POST['Templates'][$name] = '';
             }
         }
         foreach ($_POST as $key => $arr) {
             $pieces = explode("_", $key);
             if (isset($pieces[0]) && $pieces[0] == 'autoselect') {
                 $newKey = $pieces[1];
                 if (isset($_POST[$newKey . "_id"]) && $_POST[$newKey . "_id"] != "") {
                     $val = $_POST[$newKey . "_id"];
                 } else {
                     $field = Fields::model()->findByAttributes(array('fieldName' => $newKey));
                     if (isset($field)) {
                         $type = ucfirst($field->linkType);
                         if ($type != "Contacts") {
                             eval("\$lookupModel={$type}::model()->findByAttributes(array('name'=>'{$arr}'));");
                         } else {
                             $names = explode(" ", $arr);
                             if (count($names) > 1) {
                                 $lookupModel = Contacts::model()->findByAttributes(array('firstName' => $names[0], 'lastName' => $names[1]));
                             }
                         }
                         if (isset($lookupModel)) {
                             $val = $lookupModel->id;
                         } else {
                             $val = $arr;
                         }
                     }
                 }
                 $model->{$newKey} = $val;
             }
         }
         $temp = $model->attributes;
         foreach (array_keys($model->attributes) as $field) {
             if (isset($_POST['Templates'][$field])) {
                 $model->{$field} = $_POST['Templates'][$field];
                 $fieldData = Fields::model()->findByAttributes(array('modelName' => 'Templates', 'fieldName' => $field));
                 if ($fieldData->type == 'assignment' && $fieldData->linkType == 'multiple') {
                     $model->{$field} = Accounts::parseUsers($model->{$field});
                 } elseif ($fieldData->type == 'date') {
                     $model->{$field} = strtotime($model->{$field});
                 }
             }
         }
         parent::update($model, $temp, '0');
     }
     $this->render('update', array('model' => $model, 'users' => $users));
 }