Code Duplication    Length = 38-38 lines in 2 locations

app/Http/Controllers/ApplicationByJobController.php 2 locations

@@ 157-194 (lines=38) @@
154
    * @param  \App\Models\JobPoster  $jobPoster
155
    * @return \Illuminate\Http\Response
156
    */
157
    public function edit_essential_skills(JobPoster $jobPoster)
158
    {
159
160
        $applicant = Auth::user()->applicant;
161
162
        $application = $this->getApplicationFromJob($jobPoster);
163
164
        //Ensure user has permissions to view and update application
165
        $this->authorize('view', $application);
166
        $this->authorize('update', $application);
167
168
        $criteria = [
169
            'essential' => $jobPoster->criteria->filter(function($value, $key) {
170
                return $value->criteria_type->name == 'essential';
171
            }),
172
            'asset' => $jobPoster->criteria->filter(function($value, $key) {
173
                return $value->criteria_type->name == 'asset';
174
            }),
175
        ];
176
177
        return view('applicant/application_post_03', [
178
179
            /* Application Template Data */
180
            "application_step" => 3,
181
            "application_template" => Lang::get("applicant/application_template"),
182
183
            /* Job Data */
184
            "job" => $jobPoster,
185
186
            /* Skills Data */
187
            "skills" => Skill::all(),
188
            "skill_template" => Lang::get("common/skills"),
189
            "criteria" => $criteria,
190
191
            /* Applicant Data */
192
            "applicant" => $applicant,
193
            "job_application" => $application,
194
195
            /* Submission */
196
            "form_submit_action" => route('job.application.update.3', $jobPoster)
197
@@ 208-245 (lines=38) @@
205
    * @param  \App\Models\JobPoster  $jobPoster
206
    * @return \Illuminate\Http\Response
207
    */
208
    public function edit_asset_skills(JobPoster $jobPoster)
209
    {
210
211
        $applicant = Auth::user()->applicant;
212
213
        $application = $this->getApplicationFromJob($jobPoster);
214
215
        //Ensure user has permissions to view and update application
216
        $this->authorize('view', $application);
217
        $this->authorize('update', $application);
218
219
        $criteria = [
220
            'essential' => $jobPoster->criteria->filter(function($value, $key) {
221
                return $value->criteria_type->name == 'essential';
222
            }),
223
            'asset' => $jobPoster->criteria->filter(function($value, $key) {
224
                return $value->criteria_type->name == 'asset';
225
            }),
226
        ];
227
228
        return view('applicant/application_post_04', [
229
230
            /* Application Template Data */
231
            "application_step" => 4,
232
            "application_template" => Lang::get("applicant/application_template"),
233
234
            /* Job Data */
235
            "job" => $jobPoster,
236
237
            /* Skills Data */
238
            "skills" => Skill::all(),
239
            "skill_template" => Lang::get("common/skills"),
240
            "criteria" => $criteria,
241
242
            /* Applicant Data */
243
            "applicant" => $applicant,
244
            "job_application" => $application,
245
246
            /* Submission */
247
            "form_submit_action" => route('job.application.update.4', $jobPoster)
248