public function updateAsset($id) { if (Session::has('username') && (Session::get('user_type') == "Root" || Session::get('user_type') == "Admin")) { $view = View::make("Assets.Software.update_software_asset"); $view->nav = "assets"; $view->tab = "software"; $software = Software::find($id); if (!$software) { return Redirect::to('assets/software'); } $view->software = $software; $getSoftwareTypes = SoftwareType::all(); $softwareTypes = array("" => "--Select One--"); foreach ($getSoftwareTypes as $gst) { $softwareTypes[$gst->id] = $gst->software_type; } $view->softwareTypes = $softwareTypes; return $view; } else { return Redirect::to("/"); } }
public function advancedSearch() { if (Session::has('username') && (Session::get('user_type') == "Root" || Session::get('user_type') == "Admin" || Session::get("user_type") == "User")) { $view = View::make("Assets.IP.ip_advanced_search"); $view->nav = "assets"; $view->tab = "search"; $view->ip = IP::orderBy("ip")->paginate(25); $view->results = IP::all()->count(); $getSoftwareTypes = SoftwareType::all(); $IPTypes = array("" => "--Select One--", "IPv4" => "IPv4", "IPv6" => "IPv6"); $view->IPTypes = $IPTypes; return $view; } else { return Redirect::to("/"); } }
public function exportSoftwareBegin() { if (Session::has('username') && (Session::get('user_type') == "Root" || Session::get('user_type') == "Admin")) { if (isset($_GET["search"])) { $view = View::make("Export.export_software"); $view->nav = "system"; $view->tab = "software"; $input = Input::all(); $asset_tag = trim($input["asset_tag"]) != null ? str_replace(' ', '%', trim($input["asset_tag"])) : ""; $employee = trim($input["employee"]) != null ? trim($input["employee"]) : ""; $serial_number = trim($input["serial_number"]) != null ? str_replace(' ', '%', trim($input["serial_number"])) : ""; $software_type = trim($input["software_type"]) != null ? str_replace(' ', '%', trim($input["software_type"])) : ""; $asset_status = !empty($input["asset_status"]) ? $input["asset_status"] : ""; $warranty_start = trim($input["warranty_start"]) != null ? str_replace(' ', '%', trim($input["warranty_start"])) : ""; $warranty_end = trim($input["warranty_end"]) != null ? str_replace(' ', '%', trim($input["warranty_end"])) : ""; $software = Software::where("asset_tag", "LIKE", "%{$asset_tag}%")->where(function ($query) use($employee) { $emp = "%" . str_replace(' ', '%', $employee) . "%"; $emp = DB::connection()->getPdo()->quote($emp); if (!empty($employee)) { $query->where("employee_number", "LIKE", $employee)->orWhereHas("employee", function ($q) use($employee, $emp) { $q->whereRaw("concat(first_name,' ',last_name) LIKE {$emp}"); })->orWhereHas("employee", function ($q) use($employee, $emp) { $q->whereRaw("concat(last_name,' ',first_name) LIKE {$emp}"); }); } })->where(function ($query) use($serial_number) { if (!empty($serial_number)) { $query->where("assigned_to_serial_number", "=", $serial_number); } })->where(function ($query) use($software_type) { if (!empty(${$software_type})) { $query->where("software_type_id", "=", $software_type); } })->where(function ($query) use($asset_status) { if (!empty($asset_status)) { $query->where("status", "=", $asset_status); } })->where(function ($query) use($warranty_start) { if (!empty($warranty_start)) { $query->where("warranty_start", "LIKE", "{$warranty_start}%"); } })->where(function ($query) use($warranty_end) { if (!empty($warranty_end)) { $query->where("warranty_end", "LIKE", "{$warranty_end}%"); } })->orderBy("asset_tag")->paginate(25); $result = Software::where("asset_tag", "LIKE", "%{$asset_tag}%")->where(function ($query) use($employee) { $emp = "%" . str_replace(' ', '%', $employee) . "%"; $emp = DB::connection()->getPdo()->quote($emp); if (!empty($employee)) { $query->where("employee_number", "LIKE", $employee)->orWhereHas("employee", function ($q) use($employee, $emp) { $q->whereRaw("concat(first_name,' ',last_name) LIKE {$emp}"); })->orWhereHas("employee", function ($q) use($employee, $emp) { $q->whereRaw("concat(last_name,' ',first_name) LIKE {$emp}"); }); } })->where(function ($query) use($serial_number) { if (!empty($serial_number)) { $query->where("assigned_to_serial_number", "=", $serial_number); } })->where(function ($query) use($software_type) { if (!empty(${$software_type})) { $query->where("software_type_id", "=", $software_type); } })->where(function ($query) use($asset_status) { if (!empty($asset_status)) { $query->where("status", "=", $asset_status); } })->where(function ($query) use($warranty_start) { if (!empty($warranty_start)) { $query->where("warranty_start", "LIKE", "{$warranty_start}%"); } })->where(function ($query) use($warranty_end) { if (!empty($warranty_end)) { $query->where("warranty_end", "LIKE", "{$warranty_end}%"); } })->count(); $getSoftwareTypes = SoftwareType::all(); $softwareTypes = array("" => "--Select One--"); foreach ($getSoftwareTypes as $gst) { $softwareTypes[$gst->id] = $gst->software_type; } $view->softwareTypes = $softwareTypes; $view->software = $software; $view->results = $result; Input::flash(); return $view; } else { if (isset($_GET["export"])) { $input = Input::all(); $asset_tag = trim($input["asset_tag"]) != null ? str_replace(' ', '%', trim($input["asset_tag"])) : ""; $employee = trim($input["employee"]) != null ? trim($input["employee"]) : ""; $serial_number = trim($input["serial_number"]) != null ? str_replace(' ', '%', trim($input["serial_number"])) : ""; $software_type = trim($input["software_type"]) != null ? str_replace(' ', '%', trim($input["software_type"])) : ""; $asset_status = !empty($input["asset_status"]) ? $input["asset_status"] : ""; $warranty_start = trim($input["warranty_start"]) != null ? str_replace(' ', '%', trim($input["warranty_start"])) : ""; $warranty_end = trim($input["warranty_end"]) != null ? str_replace(' ', '%', trim($input["warranty_end"])) : ""; if (Session::has("secure") && Session::get("user_type") == "Root" && isset($_GET["pk"])) { $software = Software::where("asset_tag", "LIKE", "%{$asset_tag}%")->where(function ($query) use($employee) { $emp = "%" . str_replace(' ', '%', $employee) . "%"; $emp = DB::connection()->getPdo()->quote($emp); if (!empty($employee)) { $query->where("employee_number", "LIKE", $employee)->orWhereHas("employee", function ($q) use($employee, $emp) { $q->whereRaw("concat(first_name,' ',last_name) LIKE {$emp}"); })->orWhereHas("employee", function ($q) use($employee, $emp) { $q->whereRaw("concat(last_name,' ',first_name) LIKE {$emp}"); }); } })->where(function ($query) use($serial_number) { if (!empty($serial_number)) { $query->where("assigned_to_serial_number", "=", $serial_number); } })->where(function ($query) use($software_type) { if (!empty(${$software_type})) { $query->where("software_type_id", "=", $software_type); } })->where(function ($query) use($asset_status) { if (!empty($asset_status)) { $query->where("status", "=", $asset_status); } })->where(function ($query) use($warranty_start) { if (!empty($warranty_start)) { $query->where("warranty_start", "LIKE", "{$warranty_start}%"); } })->where(function ($query) use($warranty_end) { if (!empty($warranty_end)) { $query->where("warranty_end", "LIKE", "{$warranty_end}%"); } })->orderBy("asset_tag")->get(); } else { $software = Software::where("asset_tag", "LIKE", "%{$asset_tag}%")->where(function ($query) use($employee) { $emp = "%" . str_replace(' ', '%', $employee) . "%"; $emp = DB::connection()->getPdo()->quote($emp); if (!empty($employee)) { $query->where("employee_number", "LIKE", $employee)->orWhereHas("employee", function ($q) use($employee, $emp) { $q->whereRaw("concat(first_name,' ',last_name) LIKE {$emp}"); })->orWhereHas("employee", function ($q) use($employee, $emp) { $q->whereRaw("concat(last_name,' ',first_name) LIKE {$emp}"); }); } })->where(function ($query) use($serial_number) { if (!empty($serial_number)) { $query->where("assigned_to_serial_number", "=", $serial_number); } })->where(function ($query) use($software_type) { if (!empty(${$software_type})) { $query->where("software_type_id", "=", $software_type); } })->where(function ($query) use($asset_status) { if (!empty($asset_status)) { $query->where("status", "=", $asset_status); } })->where(function ($query) use($warranty_start) { if (!empty($warranty_start)) { $query->where("warranty_start", "LIKE", "{$warranty_start}%"); } })->where(function ($query) use($warranty_end) { if (!empty($warranty_end)) { $query->where("warranty_end", "LIKE", "{$warranty_end}%"); } })->orderBy("asset_tag")->get(array("id", "asset_tag", "location", "warranty_start", "warranty_end", "notes", "status", "employee_number", "assigned_to_serial_number", "software_type_id", "date_added")); } if ($software->count() > 0) { if (isset($_GET["format"])) { $softwareArray = array(); if (Session::has("secure") && Session::get("user_type") == "Root" && isset($_GET["pk"])) { foreach ($software as $s) { $softwareArray[$s->id] = array("Asset Tag" => $s->asset_tag, "Product Key" => $s->product_key, "Employee" => !empty($s->employee->first_name) ? $s->employee->first_name . " " . $s->employee->last_name : "Unassigned.", "Employee Number" => !empty($s->employee->employee_number) ? $s->employee->employee_number : null, "Location" => !empty($s->location) ? $s->location : "No Information.", "Assigned to Laptop" => !empty($s->assigned_to_serial_number) ? $s->assigned_to_serial_number : "No Information.", "Notes" => !empty($s->notes) ? $s->notes : null, "Warranty Start Date" => !empty($s->warranty_start) ? DateTime::createFromFormat("Y-m-d", $s->warranty_start)->format("F d, Y") : "No Information", "Warranty End Date" => !empty($s->warranty_end) ? DateTime::createFromFormat("Y-m-d", $s->warranty_end)->format("F d, Y") : "No Information", "Date Added to System" => DateTime::createFromFormat("Y-m-d H:i:s", $s->date_added)->format("F d, Y g:iA"), "Software Type" => $s->type->software_type, "Status" => $s->status); } } else { foreach ($software as $s) { $softwareArray[$s->id] = array("Asset Tag" => $s->asset_tag, "Employee" => !empty($s->employee->first_name) ? $s->employee->first_name . " " . $s->employee->last_name : "Unassigned.", "Employee Number" => !empty($s->employee->employee_number) ? $s->employee->employee_number : null, "Location" => !empty($s->location) ? $s->location : "No Information.", "Assigned to Laptop" => !empty($s->assigned_to_serial_number) ? $s->assigned_to_serial_number : "No Information.", "Notes" => !empty($s->notes) ? $s->notes : null, "Warranty Start Date" => !empty($s->warranty_start) ? DateTime::createFromFormat("Y-m-d", $s->warranty_start)->format("F d, Y") : "No Information", "Warranty End Date" => !empty($s->warranty_end) ? DateTime::createFromFormat("Y-m-d", $s->warranty_end)->format("F d, Y") : "No Information", "Date Added to System" => DateTime::createFromFormat("Y-m-d H:i:s", $s->date_added)->format("F d, Y g:iA"), "Software Type" => $s->type->software_type, "Status" => $s->status); } } } else { $softwareArray = $software->toArray(); } Excel::create('software_assets_export_' . str_random(6), function ($excel) use($softwareArray) { // Set the title $excel->setTitle('Software Assets Export'); // Chain the setters $excel->setCreator('Vault')->setCompany('Vault'); // Call them separately $excel->setDescription('Software Assets Data Export from IT Vault.'); // Our first sheet $excel->sheet('Software Assets', function ($sheet) use($softwareArray) { $sheet->fromArray($softwareArray); }); })->download('xlsx'); } else { Input::flash(); return Redirect::to('export/software')->withInput()->with('info', "No records have been retrieved. Data export cancelled."); } } } } else { return Redirect::to("/"); } }