_service = 'ums'; $this->_module = 'contact'; $this->_viewname = 'doctor'; $this->_title = 'Doctors'; $this->_base_url = '/doctor'; } public function list(Request $request) { $post = $request->input(); $token = $request->header('Authorization'); $token = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjp7ImlkIjoiZWEyOGRhNjktNTM3Mi00OTNkLThjYzYtNmQ0Y2NlZDk1ZDMwIiwibmFtZSI6IlJhdmkgR3VsaGFuZSIsImZpcnN0bmFtZSI6IlJhdmkiLCJsYXN0bmFtZSI6Ikd1bGhhbmUiLCJlbWFpbCI6InJhdmlndWxoYW5lMTk4M0BnbWFpbC5jb20iLCJwaG9uZSI6Ijk4MjM0ODgxMzgiLCJkZXNpZ25hdGlvbiI6Ik5TTSIsImhpZXJhcmNoeSI6ImQzNzliOGI1LTQ4YzMtNDY0ZS1hMThlLWQyYjdkOTk1MWY1YiIsImF2YXRhciI6Imh0dHBzOi8vdWktYXZhdGFycy5jb20vYXBpLz9iYWNrZ3JvdW5kPXJhbmRvbSZuYW1lPVJhdmkgR3VsaGFuZSIsInBhcnRpdGlvbiI6InJhcHBvcnQtcmFwcG9ydCIsImRvbWFpbiI6InJhcHBvcnQiLCJhcHBsaWNhdGlvbiI6InJhcHBvcnQiLCJyb2xlcyI6WyIyYzJkMTg4YS03OWFiLTQ4NmQtOWYwOS0zYWYxNmRlMWI0YTIiXSwiZ3JvdXBzIjpbXSwidGVhbXMiOlsiMTY1MDM0NTI3My0wZjk3NWIxMi1hMDVhLTQwNzctYWY1Yy1lNGIxZDBlNTk0YWQiXSwiYWxsX2RhdGFfYWNjZXNzIjp0cnVlfSwicGVybWlzc2lvbnMiOlsicm9sZXNfY3JlYXRlIiwidXNlcnNfY3JlYXRlIiwidXNlcnNfdXBkYXRlIiwidXNlcnNfZ2V0X2FsbCIsInVzZXJzX2dldF9vbmUiLCJ1c2Vyc19kZWxldGUiLCJ1c2Vyc19kcm9wZG93biIsInVzZXJzX3Byb2ZpbGUiLCJ1c2Vyc19zYXZlcHJvZmlsZSIsInJvbGVzX3VwZGF0ZSIsInJvbGVzX2dldF9hbGwiLCJyb2xlc19nZXRfb25lIiwicm9sZXNfZGVsZXRlIiwicm9sZXNfZHJvcGRvd24iLCJncm91cF9jcmVhdGUiLCJncm91cF91cGRhdGUiLCJncm91cF9nZXRfYWxsIiwiZ3JvdXBfZ2V0X29uZSIsImdyb3VwX2RlbGV0ZSIsImdyb3VwX2Ryb3Bkb3duIiwidGVhbV9jcmVhdGUiLCJ0ZWFtX3VwZGF0ZSIsInRlYW1fZ2V0X2FsbCIsInRlYW1fZ2V0X29uZSIsInRlYW1fZGVsZXRlIiwidGVhbV9kcm9wZG93biIsInRlYW1fcGxheWVyX2NyZWF0ZSIsInRlYW1fcGxheWVyX3VwZGF0ZSIsInRlYW1fcGxheWVyX2RlbGV0ZSIsImNoYW5uZWxfY3JlYXRlIiwiY2hhbm5lbF91cGRhdGUiLCJjaGFubmVsX2dldF9hbGwiLCJjaGFubmVsX2dldF9vbmUiLCJjaGFubmVsX2RlbGV0ZSIsImNoYW5uZWxfZHJvcGRvd24iLCJkb21haW5fY3JlYXRlIiwiZG9tYWluX3VwZGF0ZSIsImRvbWFpbl9nZXRfb25lIiwiaGllcmFyY2h5X2NyZWF0ZSIsImhpZXJhcmNoeV91cGRhdGUiLCJoaWVyYXJjaHlfZ2V0X2FsbCIsImhpZXJhcmNoeV9nZXRfb25lIiwiaGllcmFyY2h5X2RlbGV0ZSIsIm1hZ2F6aW5lX2NyZWF0ZSIsIm1hZ2F6aW5lX3VwZGF0ZSIsIm1hZ2F6aW5lX2dldF9hbGwiLCJtYWdhemluZV9nZXRfb25lIiwibWFnYXppbmVfZGVsZXRlIiwibWFnYXppbmVfZHJvcGRvd24iLCJtYWdhemluZV9kYXNoYm9hcmQiLCJtYWdfbWVkaWFfY3JlYXRlIiwibWFnX21lZGlhX3VwZGF0ZSIsIm1hZ19tZWRpYV9nZXRfYWxsIiwibWFnX21lZGlhX2dldF9vbmUiLCJtYWdfbWVkaWFfZGVsZXRlIiwibWFnX21lZGlhX3ZpZXdzX2NyZWF0ZSIsIm1hZ19tZWRpYV92aWV3c191cGRhdGUiLCJtYWdfbWVkaWFfdmlld3NfZ2V0X2FsbCIsIm1hZ19tZWRpYV92aWV3c19nZXRfb25lIiwibWFnX21lZGlhX3ZpZXdzX2RlbGV0ZSIsIm1hZ19tZWRpYV9saWtlIiwibWFnX21lZGlhX2xpa2VzIiwibWFnX21lZGlhX2NvbW1lbnQiLCJtYWdfbWVkaWFfY29tbWVudHMiLCJ3YWxsbWVzc2FnZV9jcmVhdGUiLCJ3YWxsbWVzc2FnZV91cGRhdGUiLCJ3YWxsbWVzc2FnZV9nZXRfYWxsIiwid2FsbG1lc3NhZ2VfZ2V0X29uZSIsIndhbGxtZXNzYWdlX2RlbGV0ZSIsIndhbGxtZXNzYWdlX2xpa2UiLCJ3YWxsbWVzc2FnZV9saWtlcyIsIndhbGxtZXNzYWdlX2NvbW1lbnQiLCJ3YWxsbWVzc2FnZV9jb21tZW50cyIsIndhbGxiYW5uZXJfY3JlYXRlIiwid2FsbGJhbm5lcl91cGRhdGUiLCJ3YWxsYmFubmVyX2dldF9hbGwiLCJ3YWxsYmFubmVyX2dldF9vbmUiLCJ3YWxsYmFubmVyX2RlbGV0ZSIsIndhbGxiYW5uZXJfZGFzaGJvYXJkIiwibWV0cmljX2NyZWF0ZSIsIm1ldHJpY191cGRhdGUiLCJtZXRyaWNfZ2V0X2FsbCIsIm1ldHJpY19nZXRfb25lIiwibWV0cmljX2RlbGV0ZSIsImluamVzdGlvbl9tYXBwaW5nX2NyZWF0ZSIsImluamVzdGlvbl9tYXBwaW5nX3VwZGF0ZSIsImluamVzdGlvbl9tYXBwaW5nX2dldF9hbGwiLCJpbmplc3Rpb25fbWFwcGluZ19nZXRfb25lIiwiaW5qZXN0aW9uX21hcHBpbmdfZGVsZXRlIiwibWV0cmljX2luamVzdCIsIm1ldHJpY192aWV3X2NyZWF0ZSIsIm1ldHJpY192aWV3X3VwZGF0ZSIsIm1ldHJpY192aWV3X2dldF9hbGwiLCJtZXRyaWNfdmlld19nZXRfb25lIiwibWV0cmljX3ZpZXdfZGVsZXRlIiwibWFnYXppbmVfbGlzdCIsIm1hZ2F6aW5lX2RldGFpbHMiLCJtYWdfbWVkaWFfZGV0YWlscyIsIndhbGxtZXNzYWdlX2xpc3QiLCJ3YWxsbWVzc2FnZV9kZXRhaWxzIiwibWV0cmljX3JlcG9ydF9saXN0IiwibWV0cmljX3JlcG9ydF92aWV3IiwiYXBwcmVjaWF0aW9uX2NhdGVnb3J5X2NyZWF0ZSIsImFwcHJlY2lhdGlvbl9jYXRlZ29yeV91cGRhdGUiLCJhcHByZWNpYXRpb25fY2F0ZWdvcnlfZ2V0X2FsbCIsImFwcHJlY2lhdGlvbl9jYXRlZ29yeV9nZXRfb25lIiwiYXBwcmVjaWF0aW9uX2NhdGVnb3J5X2RlbGV0ZSIsImFwcHJlY2lhdGlvbl9pbWFnZV9jcmVhdGUiLCJhcHByZWNpYXRpb25faW1hZ2VfdXBkYXRlIiwiYXBwcmVjaWF0aW9uX2ltYWdlX2dldF9hbGwiLCJhcHByZWNpYXRpb25faW1hZ2VfZ2V0X29uZSIsImFwcHJlY2lhdGlvbl9pbWFnZV9kZWxldGUiLCJiYWRnZV9saXN0X2NyZWF0ZSIsImJhZGdlX2xpc3RfdXBkYXRlIiwiYmFkZ2VfbGlzdF9nZXRfYWxsIiwiYmFkZ2VfbGlzdF9nZXRfb25lIiwiYmFkZ2VfbGlzdF9kZWxldGUiLCJyZXdhcmRfY3JlYXRlIiwicmV3YXJkX3VwZGF0ZSIsInJld2FyZF9nZXRfYWxsIiwicmV3YXJkX2dldF9vbmUiLCJyZXdhcmRfZGVsZXRlIiwicmV3YXJkX2NhdGVnb3J5X2NyZWF0ZSIsInJld2FyZF9jYXRlZ29yeV91cGRhdGUiLCJyZXdhcmRfY2F0ZWdvcnlfZ2V0X2FsbCIsInJld2FyZF9jYXRlZ29yeV9nZXRfb25lIiwicmV3YXJkX2NhdGVnb3J5X2RlbGV0ZSIsInJld2FyZF9vcmRlcl9jcmVhdGUiLCJyZXdhcmRfb3JkZXJfdXBkYXRlIiwicmV3YXJkX29yZGVyX2dldF9hbGwiLCJyZXdhcmRfb3JkZXJfZ2V0X29uZSIsInJld2FyZF9vcmRlcl9kZWxldGUiLCJmb3JtZW50aXR5X2NyZWF0ZSIsImZvcm1lbnRpdHlfdXBkYXRlIiwiZm9ybWVudGl0eV9nZXRfYWxsIiwiZm9ybWVudGl0eV9nZXRfb25lIiwiZm9ybWVudGl0eV9kZWxldGUiLCJmb3JtcXVlc3Rpb25fY3JlYXRlIiwiZm9ybXF1ZXN0aW9uX3VwZGF0ZSIsImZvcm1xdWVzdGlvbl9nZXRfYWxsIiwiZm9ybXF1ZXN0aW9uX2dldF9vbmUiLCJmb3JtcXVlc3Rpb25fZGVsZXRlIiwiZm9ybWFjdGlvbl9jcmVhdGUiLCJmb3JtYWN0aW9uX3VwZGF0ZSIsImZvcm1hY3Rpb25fZ2V0X2FsbCIsImZvcm1hY3Rpb25fZ2V0X29uZSIsImZvcm1hY3Rpb25fZGVsZXRlIiwiZm9ybWFjdGlvbl9saXN0IiwiZm9ybWVudGl0eV9hcHByb3ZhbCIsImZvcm1lbnRpdHlfYXBwcm92ZXJlamVjdCIsImNvbnRhY3RfY3JlYXRlIiwiY29udGFjdF91cGRhdGUiLCJjb250YWN0X2dldF9hbGwiLCJjb250YWN0X2dldF9vbmUiLCJjb250YWN0X2RlbGV0ZSIsImNvbnRhY3RhdHRyaWJ1dGVfY3JlYXRlIiwiY29udGFjdGF0dHJpYnV0ZV91cGRhdGUiLCJjb250YWN0YXR0cmlidXRlX2dldF9hbGwiLCJjb250YWN0YXR0cmlidXRlX2dldF9vbmUiLCJjb250YWN0YXR0cmlidXRlX2RlbGV0ZSIsImZvcm1wcm9kdWN0X2NyZWF0ZSIsImZvcm1wcm9kdWN0X3VwZGF0ZSIsImZvcm1wcm9kdWN0X2dldF9hbGwiLCJmb3JtcHJvZHVjdF9nZXRfb25lIiwiZm9ybXByb2R1Y3RfZGVsZXRlIiwibm90aWZpY2F0aW9uX2xpc3QiLCJyZW1pbmRlcl9jcmVhdGUiLCJyZW1pbmRlcl91cGRhdGUiLCJyZW1pbmRlcl9nZXRfYWxsIiwicmVtaW5kZXJfZ2V0X29uZSIsInJlbWluZGVyX2RlbGV0ZSIsIndpZGdldHNfY3JlYXRlIiwid2lkZ2V0c191cGRhdGUiLCJ3aWRnZXRzX2dldF9hbGwiLCJ3aWRnZXRzX2dldF9vbmUiLCJ3aWRnZXRzX2RlbGV0ZSIsImFsbF9kYXRhX2FjY2VzcyIsImZvcm1leHBvcnRzX2NyZWF0ZSIsImZvcm1leHBvcnRzX3VwZGF0ZSIsImZvcm1leHBvcnRzX2dldF9hbGwiLCJmb3JtZXhwb3J0c19nZXRfb25lIiwiZm9ybWV4cG9ydHNfZGVsZXRlIiwiY29udGVzdF9jcmVhdGUiLCJjb250ZXN0X3VwZGF0ZSIsImNvbnRlc3RfZ2V0X2FsbCIsImNvbnRlc3RfZ2V0X29uZSIsImNvbnRlc3RfZGVsZXRlIiwiY29udGVzdF9kYXNoYm9hcmQiLCJjb250ZXN0X2xpc3QiLCJjb250ZXN0X2RldGFpbHMiLCJjb250ZXN0X3Jlc3BvbnNlX3JlY29yZCIsInBhcmFtZXRlcl9jcmVhdGUiLCJwYXJhbWV0ZXJfdXBkYXRlIiwicGFyYW1ldGVyX2dldF9hbGwiLCJwYXJhbWV0ZXJfZ2V0X29uZSIsInBhcmFtZXRlcl9kZWxldGUiLCJjb250ZXN0X3Jlc3BvbnNlX2NyZWF0ZSIsImNvbnRlc3RfcmVzcG9uc2VfdXBkYXRlIiwiY29udGVzdF9yZXNwb25zZV9nZXRfYWxsIiwiY29udGVzdF9yZXNwb25zZV9nZXRfb25lIiwiY29udGVzdF9yZXNwb25zZV9kZWxldGUiLCJwZXJzb25hbGl6YXRpb25fY3JlYXRlIiwicGVyc29uYWxpemF0aW9uX3VwZGF0ZSIsInBlcnNvbmFsaXphdGlvbl9nZXRfYWxsIiwicGVyc29uYWxpemF0aW9uX2dldF9vbmUiLCJwZXJzb25hbGl6YXRpb25fZGVsZXRlIiwic3VydmV5X2NyZWF0ZSIsInN1cnZleV91cGRhdGUiLCJzdXJ2ZXlfZ2V0X2FsbCIsInN1cnZleV9nZXRfb25lIiwic3VydmV5X2RlbGV0ZSIsInN1cnZleXF1ZXN0aW9uX2NyZWF0ZSIsInN1cnZleXF1ZXN0aW9uX3VwZGF0ZSIsInN1cnZleXF1ZXN0aW9uX2dldF9hbGwiLCJzdXJ2ZXlxdWVzdGlvbl9nZXRfb25lIiwic3VydmV5cXVlc3Rpb25fZGVsZXRlIiwiY2FtcGFpZ25fY3JlYXRlIiwiY2FtcGFpZ25fdXBkYXRlIiwiY2FtcGFpZ25fZ2V0X2FsbCIsImNhbXBhaWduX2dldF9vbmUiLCJjYW1wYWlnbl9kZWxldGUiLCJjYW1wYWlnbnJ1bGVfY3JlYXRlIiwiY2FtcGFpZ25ydWxlX3VwZGF0ZSIsImNhbXBhaWducnVsZV9nZXRfYWxsIiwiY2FtcGFpZ25ydWxlX2dldF9vbmUiLCJjYW1wYWlnbnJ1bGVfZGVsZXRlIl0sInJvbGVzIjpbIjJjMmQxODhhLTc5YWItNDg2ZC05ZjA5LTNhZjE2ZGUxYjRhMiJdLCJpYXQiOjE2NzUzMjA1NTIsImV4cCI6MTY3NTkyNTM1Mn0.0jvJbbgyAN8pdWR19KoMj0oyU91ZubSszLAXiZjVkbI'; if ($token != '') { $request->session()->put('metric_access_key', $token); } else { $token = $request->session()->get('metric_access_key'); } $response = LambdaRequest::getrequest($this->_service, $this->_module . '/get_my_contacts', [], $token); $fields = $this->get_list_fields(); return $this->view('list')->with([ 'title' => $this->_title, 'fields' => $fields, 'base_url' => $this->_base_url, 'items' => $response->data->items, 'buttons' => $this->get_list_buttons() ]); } public function form($type, $id = null) { $token = $this->_request->session()->get('metric_access_key'); $values = []; if ($type == 'edit') { $response = LambdaRequest::getrequest($this->_service, $this->_module . '/get_one', ['id' => $id], $token); $values = $response->data->item; } $data = $this->_beforeform($type, $values); $fields = $this->get_form_fields($type, $values, $token); return $this->view('form')->with([ 'title' => $this->_title, 'mode' => $type, 'fields' => $fields, 'base_url' => $this->_base_url, 'item' => $values, ]); } public function save($type, $request) { $token = $request->session()->get('metric_access_key'); if ($type == 'edit') { $url = '/update'; } else { $url = '/create'; } $data = $this->_beforesave($type, $request); $response = LambdaRequest::postrequest($this->_service, $this->_module . $url, $data, $token); if ($response->statusCode == 200 && $response->status == "success") { return redirect($this->_base_url . 's')->withMessage('Successfully Saved !!!'); } else { return redirect($this->_base_url . 's')->withError('Some Error occured! ' . $response->body->message); } } public function createdoctor(Request $request) { return Doctor::create($request->only(['msl_code', 'email', 'contact_id', 'name', 'phone']))->id; } protected function get_list_fields() { return [ 'actions' => ['title' => 'Actions', 'buttons' => ['edit', 'delete']], 'name' => ['title' => 'Name', 'type' => 'text'], 'msl_code' => ['title' => 'MSL Code', 'type' => 'text'] ]; } public function action($action, Request $request) { $this->_request = $request; switch ($action) { case 'edit': return $this->form('edit', $request->input('id')); break; case 'addnew': return $this->form('new'); break; case 'delete': return $this->delete($request->input('id')); break; default: return $this->{$action}($request); break; } } protected function get_form_fields($type, $values, $token) { $response = LambdaRequest::getrequest('ums', 'contactattribute/get_all', [], $token); $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'], 'status' => ['title' => 'Status', 'type' => 'select', 'required' => true, 'values' => ['active' => 'Active', 'disabled' => 'Disabled']], ]; 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; } public function delete($id) { $token = $this->_request->session()->get('metric_access_key'); $response = LambdaRequest::getrequest($this->_service, $this->_module . '/delete', ['id' => $id], $token); if ($response->statusCode == 200 && $response->status == "success") { return redirect($this->_base_url . 's')->withMessage('Successfully Marked Deleted !!!'); } else { return redirect($this->_base_url . 's')->withError('Some Error occured! ' . $response->body->message); } } }