public function storeAccount() { $userManager = new \KodeInfo\UserManagement\UserManagement(); try { $user = $userManager->createUser(Input::all(), Input::get('group', 'admin'), true); if (Input::hasFile('avatar')) { $user->avatar = \Cashout\Helpers\Utils::imageUpload(Input::file('avatar'), 'profile'); $user->save(); } Session::flash('success_msg', 'Admin created successfully'); return Redirect::back(); } catch (\KodeInfo\UserManagement\Exceptions\AuthException $e) { Session::flash('error_msg', \Cashout\Helpers\Utils::buildMessages($e->getErrors())); return Redirect::back(); } }
public function store() { $v = Validator::make(["name" => Input::get('name'), "email" => Input::get('email'), "priority" => Input::get('priority'), "company" => Input::get('company'), "department" => Input::get('department'), "attachment" => Input::get('attachment'), "subject" => Input::get('subject'), "description" => Input::get('description')], ["name" => 'required', "email" => 'required|email', "priority" => 'required', "company" => 'required', "department" => 'required', "description" => 'required', "attachment" => 'mimes:rar,zip|size:10000', "subject" => 'required']); if ($v->passes()) { $company_customer_ids = CompanyCustomers::where('company_id', Input::get('company'))->lists('customer_id'); if (sizeof($company_customer_ids) > 0) { $user = User::where('email', Input::get('email'))->first(); } else { $user = null; } if (!empty($user) && !is_null($user)) { $user = User::where('email', Input::get('email'))->first(); if (!empty($user)) { $company_customer = new CompanyCustomers(); $company_customer->company_id = Input::get('company'); $company_customer->customer_id = $user->id; $company_customer->save(); } } else { $password = Str::random(); $userManager = new \KodeInfo\UserManagement\UserManagement(); $user = $userManager->createUser(["name" => Input::get('name'), "email" => Input::get('email'), "password" => $password, "password_confirmation" => $password], 'customer', false); $user->avatar = "/assets/img/default-avatar.jpg"; $user->save(); $company_customer = new CompanyCustomers(); $company_customer->company_id = Input::get('company'); $company_customer->customer_id = $user->id; $company_customer->save(); } $repo = new KodeInfo\Repo\MessageRepo(); $thread = $repo->createNewThread($user->id, Input::get("description"), true); $ticket = new Tickets(); $ticket->thread_id = $thread['thread_id']; $ticket->customer_id = $user->id; $ticket->priority = Input::get("priority"); $ticket->company_id = Input::get("company"); $ticket->department_id = Input::get("department"); $ticket->subject = Input::get("subject"); $ticket->description = Input::get("description"); $ticket->status = Tickets::TICKET_NEW; $ticket->requested_on = \Carbon\Carbon::now(); $ticket->save(); $ticket_attachment = new TicketAttachments(); $ticket_attachment->thread_id = $thread['thread_id']; $ticket_attachment->message_id = $thread['msg_id']; $ticket_attachment->has_attachment = Input::hasFile('attachment'); $ticket_attachment->attachment_path = Input::hasFile('attachment') ? Utils::fileUpload(Input::file('attachment'), 'attachments') : ''; $ticket_attachment->save(); $country = DB::table('countries')->where('countryCode', Input::get('country'))->first(); $geo_info = new ThreadGeoInfo(); $geo_info->thread_id = $thread['thread_id']; $geo_info->ip_address = Input::get('ip'); $geo_info->country_code = Input::get('country'); $geo_info->country = !empty($country) ? $country->countryName : ""; $geo_info->provider = Input::get('provider'); $geo_info->current_page = ""; $geo_info->all_pages = ""; $geo_info->save(); $customer = User::find($ticket->customer_id); $mailer_extra = ['ticket' => $ticket, 'has_attachment' => $ticket_attachment->has_attachment, 'attachment_path' => $ticket_attachment->attachment_path]; $this->ticketMailer->created($customer->email, $customer->name, $mailer_extra); RecentActivities::createActivity("New Ticket created by User ID:" . Auth::user()->id . " User Name:" . Auth::user()->name); Session::flash('success_msg', trans('msgs.ticket_created_success')); return Redirect::to('/tickets/all'); } else { Session::flash('error_msg', Utils::buildMessages($v->messages()->all())); return Redirect::back()->withInput(Input::except('attachment')); } }