middleware('auth'); $this->_service = 'ums'; $this->_module = 'contact'; $this->_viewname = 'contact'; $this->_title = 'Contact'; $this->_base_url = '/contact'; $this->_listtype = 'ajaxlist'; } public function list(Request $request) { $fields = $this->get_list_fields(); return $this->view($this->_listtype)->with([ 'title' => $this->_title, 'fields' => $fields, 'base_url' => $this->_base_url, //'items' => $response->data->items, 'buttons' => $this->get_list_buttons() ]); } // public function list(Request $request) { // $response = LambdaRequest::signedrequest('get', $this->_service, $this->_module.'/get_all'); // //echo '
'; print_r($items); exit;
// $items = [];
// foreach ($response->data->items as $item) {
// $item->position = $item->hierarchy_info->code;
// unset($item->hierarchy_info);
// $items[] = $item;
// }
// $fields = $this->get_list_fields();
// return $this->view('list')->with([
// 'title' => $this->_title,
// 'fields' => $fields,
// 'base_url' => $this->_base_url,
// 'items' => $items,
// 'buttons' => $this->get_list_buttons()
// ]);
// }
protected function get_list_fields(){
return [
'actions' => ['title' => 'Actions', 'buttons' => [ 'edit', 'delete' ] ],
'name' => ['title' => 'Name', 'type' => 'text'],
'msl_code' => ['title' => 'MSL Code', 'type' => 'text'],
'position_name' => ['title' => 'Position', 'type' => 'text'],
'user_name' => ['title' => 'Rep Name', 'type' => 'text'],
'status' => ['title' => 'Status', 'type' => 'select'],
];
}
protected function get_form_fields($type, $values){
$response = LambdaRequest::signedrequest('get', 'ums', 'contactattribute/get_all');
//echo ''; print_r($response); exit;
$fields = [
'name' => ['title' => 'Name', 'type' => 'text', 'required' => true],
'email' => ['title' => 'Email', 'type' => 'email', 'required' => true],
'phone' => ['title' => 'Phone', 'type' => 'text', 'required' => true],
'msl_code' => ['title' => 'MSL Code', 'type' => 'text'],
];
foreach ($response->data->items as $item) {
$values = [];
if(in_array($item->type, ['select', 'radio', 'checkbox']) ) {
foreach($item->options as $op) {
$values[$op->value] = $op->display;
}
}
$fields[$item->code] = ['title' => $item->attribute, 'type' => $item->type, 'required' => $item->required=='yes'?true:false, 'values' => $values];
}
return $fields;
}
protected function _beforesave($type, $request) {
$data = $request->except('_token');
$data['entity_id'] = $request->session()->get('entity_id');
$options = [];
if(isset($data['option_value'])) {
foreach($data['option_value'] as $k => $ov) {
$options[] = ['value' => $ov, 'display' => $data['option_name'][$k] ];
}
$data['options'] = $options;
unset($data['option_value']);
unset($data['option_name']);
}
return $data;
}
public function editall(Request $request) {
$response = LambdaRequest::signedrequest('get', $this->_service, $this->_module.'/get_my_contacts');
//echo ''; print_r($response); exit;
$fields = $this->get_list_fields();
return $this->view('editall')->with([
'title' => $this->_title,
'fields' => $response->data->attributes,
'base_url' => $this->_base_url,
'items' => $response->data->items
]);
}
}