Blame view

app/Http/Controllers/Ad_jobsController.php 4.24 KB
d7c3522a7   Андрей Ларионов   Коммит изменение ...
1
2
3
  <?php
  
  namespace App\Http\Controllers;
088323a40   Fedor   task-132687 teleg...
4
  use App\Components\Integrations\Telegram\VacancyChannel;
d7c3522a7   Андрей Ларионов   Коммит изменение ...
5
  use App\Mail\MailSotrudnichestvo;
d7c3522a7   Андрей Ларионов   Коммит изменение ...
6
7
  use App\Models\Ad_employer;
  use App\Models\Ad_jobs;
d7c3522a7   Андрей Ларионов   Коммит изменение ...
8
  use App\Models\Category;
d7c3522a7   Андрей Ларионов   Коммит изменение ...
9
  use App\Models\Employer;
d7c3522a7   Андрей Ларионов   Коммит изменение ...
10
  use App\Models\Job_title;
088323a40   Fedor   task-132687 teleg...
11
12
  use http\Exception\RuntimeException;
  use Illuminate\Http\RedirectResponse;
d7c3522a7   Андрей Ларионов   Коммит изменение ...
13
  use Illuminate\Http\Request;
088323a40   Fedor   task-132687 teleg...
14
  use Telegram\Bot\Exceptions\TelegramSDKException;
d7c3522a7   Андрей Ларионов   Коммит изменение ...
15
16
17
18
19
20
  
  class Ad_jobsController extends Controller
  {
  
      public function add_job_in_vac(Request $request, Ad_employer $ad_employer) {
          $id = Auth()->user()->id;
2c676e6ce   Андрей Ларионов   Обновление 6
21
          $Positions = Category::query()->active()->get();
f364ad5b7   Андрей Ларионов   Коммит по вакансиям
22
23
24
25
26
27
          /*if ($Positions->count()) {
              $jobs = Job_title::query()->orderByDesc('sort')->OrderBy('name')->
                          where('is_remove', '=', '0')->
                          where('is_bd', '=', '0')->
                          where('position_id', $Positions[0]->id)->
                          get();
d7c3522a7   Андрей Ларионов   Коммит изменение ...
28
          } else {
f364ad5b7   Андрей Ларионов   Коммит по вакансиям
29
30
31
32
33
              $jobs = Job_title::query()->orderByDesc('sort')->OrderBy('name')->
                          where('is_remove', '=', '0')->
                          where('is_bd', '=', '0')->
                          where('position_id', 0)->
                          get();
d7c3522a7   Андрей Ларионов   Коммит изменение ...
34
          }
f364ad5b7   Андрей Ларионов   Коммит по вакансиям
35
36
37
38
39
          */
          $jobs = Job_title::query()->orderByDesc('sort')->OrderBy('name')->
          where('is_remove', '=', '0')->
          where('is_bd', '=', '0')->
          get();
d7c3522a7   Андрей Ларионов   Коммит изменение ...
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
          $categories = Category::query()->get();
          $Employer = Employer::query()->with('users')->with('ads')->with('flots')->
          where('user_id', $id)->first();
  
          return view('employers.add_ad_jobs', compact('ad_employer',
                                                  'Positions', 'categories', 'jobs',
                                                            'Employer'));
      }
  
      public function add_job_in_vac_save(Request $request) {
          $params = $request->all();
  
          Ad_jobs::create($params);
          return redirect()->route('employer.vacancy_list');
      }
8f150320c   Андрей Ларионов   Работа рефакторинг
55
      public function edit_job_in_vac(Ad_jobs $ad_job, Ad_employer $ad_employer, Request $request) {
d7c3522a7   Андрей Ларионов   Коммит изменение ...
56
          $id = Auth()->user()->id;
8f150320c   Андрей Ларионов   Работа рефакторинг
57
58
59
60
          if ($request->has('job_title_id'))
              $job_title_id= $request->get('job_title_id');
          else
              $job_title_id = '';
d7c3522a7   Андрей Ларионов   Коммит изменение ...
61

2c676e6ce   Андрей Ларионов   Обновление 6
62
          $Positions = Category::query()->active()->get();
f364ad5b7   Андрей Ларионов   Коммит по вакансиям
63
64
65
66
67
68
          /*if ($Positions->count()) {
              $jobs123 = Job_title::query()->
                  orderByDesc('sort')->OrderBy('name')->
                  where('is_remove', '=', '0')->
                  where('is_bd', '=', '0')->
                  where('position_id', $ad_job->job_title->position_id )->get();
d7c3522a7   Андрей Ларионов   Коммит изменение ...
69
          } else {
f364ad5b7   Андрей Ларионов   Коммит по вакансиям
70
71
72
73
74
75
76
77
78
79
80
81
              $jobs123 = Job_title::query()->
                  orderByDesc('sort')->OrderBy('name')->
                  where('is_remove', '=', '0')->
                  where('is_bd', '=', '0')->
                  where('position_id', 0)->get();
          }*/
  
          $jobs123 = Job_title::query()->
          orderByDesc('sort')->OrderBy('name')->
          where('is_remove', '=', '0')->
          where('is_bd', '=', '0')->
          get();
8f150320c   Андрей Ларионов   Работа рефакторинг
82

d7c3522a7   Андрей Ларионов   Коммит изменение ...
83
84
          $Employer = Employer::query()->with('users')->with('ads')->with('flots')->
          where('user_id', $id)->first();
d7c3522a7   Андрей Ларионов   Коммит изменение ...
85
          return view('employers.edit_ad_jobs', compact('ad_job',
8f150320c   Андрей Ларионов   Работа рефакторинг
86
87
                                                          'Positions',
                                                                    'Employer','jobs123', 'ad_employer', 'job_title_id'));
d7c3522a7   Андрей Ларионов   Коммит изменение ...
88
89
90
91
92
93
94
95
96
97
98
99
100
101
      }
  
      public function edit_job_in_vac_save(Request $request, Ad_jobs $ad_job) {
          $params = $request->all();
  
          $ad_job->update($params);
  
          return redirect()->route('employer.vacancy_list');
      }
  
      public function delete_job_in_vac(Ad_jobs $ad_job) {
          $ad_job->delete();
          return redirect()->route('employer.vacancy_list');
      }
088323a40   Fedor   task-132687 teleg...
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
  
      /**
       * @throws TelegramSDKException
       */
      public function sendVacancyToSocial(string $social, Ad_employer $vacancy): RedirectResponse
      {
          switch ($social) {
              case 'tg':
                  $handler =  new VacancyChannel();
                  break;
              default:
                  throw new RuntimeException('Unkown social');
          }
  
          $handler->sendVacancy($vacancy);
          return response()->redirectTo(route('employer.vacancy_list'));
      }
d7c3522a7   Андрей Ларионов   Коммит изменение ...
119
  }