Exemplo n.º 1
0
 /**
  * Event Function to update user information
  * @param object $evctl
  */
 public function eventEditRecord(EventControler $evctl)
 {
     $permission = $_SESSION["do_user"]->is_admin == 1 ? true : false;
     $iduser = (int) $evctl->sqrecord;
     if ($iduser > 0 && true === $permission) {
         $this->getId($iduser);
         $do_crm_fields = new CRMFields();
         $crm_fields = $do_crm_fields->get_field_information_by_module_as_array((int) $evctl->idmodule);
         $data_array = array();
         foreach ($crm_fields as $crm_fields) {
             if ($crm_fields["field_type"] == 11) {
                 continue;
             }
             $field_name = $crm_fields["field_name"];
             $field_value = $do_crm_fields->convert_field_value_onsave($crm_fields, $evctl, 'edit');
             if (is_array($field_value) && count($field_value) > 0) {
                 if ($field_value["field_type"] == 12) {
                     $value = $field_value["name"];
                     $avatar_array[] = $field_value;
                 }
             } else {
                 $value = $field_value;
             }
             $data_array[$field_name] = $value;
         }
         $this->update(array($this->primary_key => $iduser), $this->getTable(), $data_array);
         if (is_array($avatar_array) && count($avatar_array) > 0) {
             foreach ($avatar_array as $avatar) {
                 if (is_array($avatar) && array_key_exists('name', $avatar)) {
                     $do_files_and_attachment = new CRMFilesAndAttachments();
                     $do_files_and_attachment->addNew();
                     $do_files_and_attachment->file_name = $avatar["name"];
                     $do_files_and_attachment->file_mime = $avatar["mime"];
                     $do_files_and_attachment->file_size = $avatar["file_size"];
                     $do_files_and_attachment->file_extension = $avatar["extension"];
                     $do_files_and_attachment->idmodule = 7;
                     $do_files_and_attachment->id_referrer = $iduser;
                     $do_files_and_attachment->iduser = 1;
                     $do_files_and_attachment->date_modified = date("Y-m-d H:i:s");
                     $do_files_and_attachment->add();
                 }
             }
         }
         // Record the history
         $do_data_history = new DataHistory();
         $do_data_history->add_history($iduser, 7, 'edit');
         $do_data_history->add_history_value_changes($iduser, 7, $this, $evctl);
         $_SESSION["do_crm_messages"]->set_message('success', _('Data updated successfully !'));
     } else {
         $_SESSION["do_crm_messages"]->set_message('error', _('You do not have permission to add record !'));
         $next_page = NavigationControl::getNavigationLink("User", "list");
         $dis = new Display($next_page);
         $evctl->setDisplayNext($dis);
     }
 }
Exemplo n.º 2
0
 /**
  * Event function to update the organization data
  * @param object $evctl
  */
 public function eventEditRecord(EventControler $evctl)
 {
     $id_entity = (int) $evctl->sqrecord;
     if ($id_entity > 0 && true === $_SESSION["do_crm_action_permission"]->action_permitted('edit', 11, (int) $evctl->sqrecord)) {
         $obj = $this->getId($id_entity);
         $obj = (object) $obj;
         // convert the data array to Object
         $do_process_plugins = new CRMPluginProcessor();
         // process before update plugin. If any error is raised display that.
         $do_process_plugins->process_action_plugins((int) $evctl->idmodule, $evctl, 3, $id_entity, $obj);
         if (strlen($do_process_plugins->get_error()) > 2) {
             $_SESSION["do_crm_messages"]->set_message('error', $do_process_plugins->get_error());
             $next_page = NavigationControl::getNavigationLink($evctl->module, "edit");
             $dis = new Display($next_page);
             $dis->addParam("sqrecord", $id_entity);
             if ($evctl->return_page != '') {
                 $dis->addParam("return_page", $evctl->return_page);
             }
             $evctl->setDisplayNext($dis);
         } else {
             $do_crm_fields = new CRMFields();
             $crm_fields = $do_crm_fields->get_field_information_by_module_as_array((int) $evctl->idmodule);
             $table_entity = 'vendor';
             $table_entity_address = 'vendor_address';
             $table_entity_custom = 'vendor_custom_fld';
             $table_entity_to_grp = 'vendor_to_grp_rel';
             $entity_data_array = array();
             $custom_data_array = array();
             $addr_data_array = array();
             $assigned_to_as_group = false;
             foreach ($crm_fields as $crm_fields) {
                 $field_name = $crm_fields["field_name"];
                 $field_value = $do_crm_fields->convert_field_value_onsave($crm_fields, $evctl, 'edit');
                 if (is_array($field_value) && count($field_value) > 0) {
                     if ($field_value["field_type"] == 15) {
                         $field_name = 'iduser';
                         $value = $field_value["value"];
                         $assigned_to_as_group = $field_value["assigned_to_as_group"];
                         $group_id = $field_value["group_id"];
                     } elseif ($field_value["field_type"] == 12) {
                         $value = $field_value["name"];
                         $avatar_array[] = $field_value;
                     }
                 } else {
                     $value = $field_value;
                 }
                 if ($crm_fields["table_name"] == $table_entity && $crm_fields["idblock"] > 0) {
                     $entity_data_array[$field_name] = $value;
                 }
                 if ($crm_fields["table_name"] == $table_entity_address && $crm_fields["idblock"] > 0) {
                     $addr_data_array[$field_name] = $value;
                 }
                 if ($crm_fields["table_name"] == $table_entity_custom && $crm_fields["idblock"] > 0) {
                     $custom_data_array[$field_name] = $value;
                 }
             }
             $this->update(array($this->primary_key => $id_entity), $table_entity, $entity_data_array);
             //updating the last_modified,last_modified_by
             $q_upd = "\n\t\t\t\tupdate `" . $this->getTable() . "` set \n\t\t\t\t`last_modified` = ? ,\n\t\t\t\t`last_modified_by` = ? \n\t\t\t\twhere `" . $this->primary_key . "` = ?";
             $this->query($q_upd, array(date("Y-m-d H:i:s"), $_SESSION["do_user"]->iduser, $id_entity));
             if (count($custom_data_array) > 0) {
                 $this->update(array($this->primary_key => $id_entity), $table_entity_custom, $custom_data_array);
             }
             if (count($addr_data_array) > 0) {
                 $this->update(array($this->primary_key => $id_entity), $table_entity_address, $addr_data_array);
             }
             if ($assigned_to_as_group === false) {
                 $qry_grp_rel = "DELETE from `{$table_entity_to_grp}` where idvendor = ? LIMIT 1";
                 $this->query($qry_grp_rel, array($id_entity));
             } else {
                 $qry_grp_rel = "select * from `{$table_entity_to_grp}` where idvendor = ?";
                 $this->query($qry_grp_rel, array($id_entity));
                 if ($this->getNumRows() > 0) {
                     $this->next();
                     $id_grp_rel = $this->idvendor_to_grp_rel;
                     $q_upd = "\n\t\t\t\t\t\tupdate `{$table_entity_to_grp}` set \n\t\t\t\t\t\t`idgroup` = ?\n\t\t\t\t\t\twhere `idvendor_to_grp_rel` = ? LIMIT 1";
                     $this->query($q_upd, array($group_id, $id_grp_rel));
                 } else {
                     $this->insert($table_entity_to_grp, array("idvendor" => $id_entity, "idgroup" => $group_id));
                 }
             }
             // Record the history
             $do_data_history = new DataHistory();
             $do_data_history->add_history($id_entity, (int) $evctl->idmodule, 'edit');
             $do_data_history->add_history_value_changes($id_entity, (int) $evctl->idmodule, $obj, $evctl);
             //record the feed
             $feed_other_assigne = array();
             if ($assigned_to_as_group === true) {
                 $feed_other_assigne = array("related" => "group", "data" => array("key" => "newgroup", "val" => $group_id));
             }
             $do_feed_queue = new LiveFeedQueue();
             $do_feed_queue->add_feed_queue($id_entity, (int) $evctl->idmodule, $evctl->vendor_name, 'edit', $feed_other_assigne);
             // process after update plugin
             $do_process_plugins->process_action_plugins((int) $evctl->idmodule, $evctl, 4, $id_entity, $obj);
             $_SESSION["do_crm_messages"]->set_message('success', _('Data updated successfully !'));
             $next_page = NavigationControl::getNavigationLink($evctl->module, "detail");
             $dis = new Display($next_page);
             $dis->addParam("sqrecord", $id_entity);
             $evctl->setDisplayNext($dis);
         }
     } else {
         $_SESSION["do_crm_messages"]->set_message('error', _('You do not have permission to edit the record ! '));
         $next_page = NavigationControl::getNavigationLink($evctl->module, "list");
         $dis = new Display($next_page);
         $evctl->setDisplayNext($dis);
     }
 }
Exemplo n.º 3
0
 /**
  * function to edit the event
  * @param object $evctl
  * @param object $do_crm_fields
  */
 public function edit_event($evctl, $crm_fields)
 {
     $id_entity = (int) $evctl->sqrecord;
     if ($id_entity > 0) {
         $obj = $this->getId($id_entity);
         $obj = (object) $obj;
         // convert the data array to Object
         $table_entity = 'events';
         $table_entity_custom = 'events_custom_fld';
         $table_entity_to_grp = 'events_to_grp_rel';
         $table_entity_related_to = 'events_related_to';
         $entity_data_array = array();
         $custom_data_array = array();
         $assigned_to_as_group = false;
         $related_to_field = false;
         $do_crm_fields = new CRMFields();
         foreach ($crm_fields as $crm_fields) {
             $field_name = $crm_fields["field_name"];
             $field_value = $do_crm_fields->convert_field_value_onsave($crm_fields, $evctl);
             if (is_array($field_value) && count($field_value) > 0) {
                 if ($field_value["field_type"] == 15) {
                     $field_name = 'iduser';
                     $value = $field_value["value"];
                     $assigned_to_as_group = $field_value["assigned_to_as_group"];
                     $group_id = $field_value["group_id"];
                 }
             } else {
                 $value = $field_value;
             }
             if ($crm_fields["table_name"] == $table_entity && $crm_fields["idblock"] > 0) {
                 $entity_data_array[$field_name] = $value;
             }
             if ($crm_fields["table_name"] == $table_entity_custom && $crm_fields["idblock"] > 0) {
                 $custom_data_array[$field_name] = $value;
             }
             if ($crm_fields["table_name"] == $table_entity_related_to && $crm_fields["idblock"] > 0) {
                 if ((int) $field_value > 0) {
                     $related_to_field = true;
                     $related_to = $value;
                     $idmodule_rel_to = $evctl->related_to_opt;
                 }
             }
         }
         $this->update(array("idevents" => $id_entity), $table_entity, $entity_data_array);
         //updating the last_modified,last_modified_by
         $q_upd = "\n\t\t\tupdate `" . $this->getTable() . "` set \n\t\t\t`last_modified` = ? ,\n\t\t\t`last_modified_by` = ?\n\t\t\twhere `" . $this->primary_key . "` = ?";
         $this->query($q_upd, array(date("Y-m-d H:i:s"), $_SESSION["do_user"]->iduser, $id_entity));
         if (count($custom_data_array) > 0) {
             $this->update(array("idevents" => $id_entity), $table_entity_custom, $custom_data_array);
         }
         if ($assigned_to_as_group === false) {
             $qry_grp_rel = "DELETE from `{$table_entity_to_grp}` where `idevents` = ? LIMIT 1";
             $this->query($qry_grp_rel, array($id_entity));
         } else {
             $qry_grp_rel = "select * from `{$table_entity_to_grp}` where `idevents` = ?";
             $this->query($qry_grp_rel, array($id_entity));
             if ($this->getNumRows() > 0) {
                 $this->next();
                 $id_grp_rel = $this->idevents_to_grp_rel;
                 $q_upd = "\n\t\t\t\t\tupdate `{$table_entity_to_grp}` set \n\t\t\t\t\t`idgroup` = ?\n\t\t\t\t\twhere `idevents_to_grp_rel` = ? LIMIT 1";
                 $this->query($q_upd, array($group_id, $id_grp_rel));
             } else {
                 $this->insert($table_entity_to_grp, array("idevents" => $id_entity, "idgroup" => $group_id));
             }
         }
         if ($related_to_field === true) {
             $this->query("select * from `{$table_entity_related_to}` where idevents = ?", array($id_entity));
             if ($this->getNumRows() > 0) {
                 $q_upd = "\n\t\t\t\t\tupdate `{$table_entity_related_to}` set \n\t\t\t\t\t`related_to` = ?,\n\t\t\t\t\t`idmodule` = ?\n\t\t\t\t\twhere `idevents` = ? limit 1 ";
                 $this->query($q_upd, array($related_to, $idmodule_rel_to, $id_entity));
             } else {
                 $this->insert($table_entity_related_to, array("idevents" => $id_entity, "related_to" => $related_to, "idmodule" => $idmodule_rel_to));
             }
         }
         // Record the history
         $do_data_history = new DataHistory();
         $do_data_history->add_history($id_entity, (int) $evctl->idmodule, 'edit');
         $do_data_history->add_history_value_changes($id_entity, (int) $evctl->idmodule, $obj, $evctl);
         //record the feed
         $feed_other_assigne = array();
         if ($assigned_to_as_group === true) {
             $feed_other_assigne = array("related" => "group", "data" => array("key" => "newgroup", "val" => $group_id));
         }
         $do_feed_queue = new LiveFeedQueue();
         $do_feed_queue->add_feed_queue($id_entity, (int) $evctl->idmodule, $evctl->subject, 'edit', $feed_other_assigne);
         $_SESSION["do_crm_messages"]->set_message('success', _('Data updated successfully !'));
         return $id_entity;
     }
 }