/** * @param Organization $organization * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ public function organizationPage(Organization $organization) { $workers = null; $snapshot = Snapshot::where('organization_id', $organization->id)->orderBy('id', 'desc')->first(); if (!is_null($snapshot)) { $workers = Worker::where('snapshot_id', $snapshot->id)->get(); $workers = Worker::structure($workers); } $this->getCounters(); return view('site.organization', ['organization' => $organization, 'snapshot' => $snapshot, 'workers' => $workers, 'fixed' => true]); }
/** * Удаление организации * @param Organization $organization * @return \Illuminate\Http\RedirectResponse * @throws \Exception */ public function delete(Organization $organization) { // удаляем подразделения Organization::where('parent_id', $organization->id)->delete(); // удаляем сотрудников Worker::where('organization_id', $organization->id)->delete(); Snapshot::where('organization_id', $organization->id)->delete(); // удаляем саму организацию $organization->delete(); return redirect()->route('admin::organization'); }
/** * Выводим список снимков списка сотрудников (снимок - 1 загрузка всех сотрудников компании) * @param Organization $organization * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ public function workersPage(Organization $organization) { $snapshots = Snapshot::where('organization_id', $organization->id)->get(); return view('admin.organization.snapshots', ['organization' => $organization, 'snapshots' => $snapshots, 'menu' => 'workers']); }