public function delatt() { $tab = \Input::all(); $obj = Attendance::findOrFail($tab['id']); $obj->delete(); if ($obj->trashed()) { $att = Attendance::onlyTrashed()->findOrFail($tab['id']); $att->forceDelete(); } }
/** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(Request $request, $id) { $this->validate($request, ['attendance' => 'required|date', 'student_id' => 'integer', 'user_id' => 'integer']); $attendanceStudentData = Attendance::findOrFail($id); $attendanceUserData = AttendanceUser::findOrFail($id); $attendanceStudentData->update(['attendance' => $request->date, 'student_id' => $request->student_id]); $attendanceUserData->update(['attendance' => $request->date, 'user_id' => $request->user_id]); return Redirect::route('attendance.show'); }
public function delatt() { $tab = \Input::all(); $obj = Attendance::findOrFail($tab['id']); $obj->delete(); }
public function archive_att($id) { $att = Attendance::findOrFail($id); $att->delete(); if ($att->trashed()) { return redirect()->back()->with('success', "l'opération d'archivage a été effectué avec succès"); } }
/** * Update the specified resource in storage. * * @param Request $request * @param int $id * @return Response */ public function update(Request $request, $activityId, $attId) { $oldId = 0; $newId = 0; // ?action = [ late | sms | leave | update ] $action = $request->query('action', 'update'); // TODO: Set the correct "Recorded By" as a system user $recordedBy = 1; // This value should be set by the SESSION $postData = $request->input('attendance', []); $comments = $request->input('comments', ''); try { $activity = Activity::findOrFail($activityId); $requestedAtt = Attendance::findOrFail($attId); if ($activity->acty_id != $requestedAtt->acty_id) { throw new Exception("Requested att record {$attId} does not belong to activity {$activityId}", 'ERR_MISMATCH'); } if ($action == 'update') { if (array_key_exists('recorded_value', $postData)) { $recordedValue = $postData['recorded_value']; // value to be recorded $ultimateAtt = $this->chainLookupUltimate($requestedAtt); $oldId = $ultimateAtt->att_id; if ($ultimateAtt->recorded_value == '0') { // Case 1: If the attendance record is "blank" i.e. recorded_value = '0' // Update the existing record $ultimateAtt->comments = $comments; $ultimateAtt->recorded_value = $recordedValue; $ultimateAtt->recorded_by = $recordedBy; $ultimateAtt->save(); $newId = $ultimateAtt->att_id; } else { // Case 2: The attendance record was already filled. // Make a superseding one $newAtt = new Attendance(); $newAtt->regt_num = $ultimateAtt->regt_num; $newAtt->prev_att_id = $ultimateAtt->att_id; $newAtt->recorded_value = $recordedValue; $newAtt->recorded_by = $recordedBy; $savedAtt = $activity->attendances()->save($newAtt); $newId = $savedAtt->att_id; } } else { // Payload didn't specify an attendance value. return an error throw new \Exception('No attendance value in payload', ResponseCodes::ERR_POSTDATA_MISSING); } } else { $oldId = $requestedAtt->att_id; if ($action == 'late') { // Case 3: If the update mode is "lateness" // Update the existing record if (array_key_exists('is_late', $postData)) { $requestedAtt->is_late = $postData['is_late'] == '1' ? 1 : 0; $requestedAtt->save(); $newId = $requestedAtt->att_id; } else { throw new \Exception('Expected is_late value in post data', self::ERR_POSTDATA_MISSING); } } elseif ($action == 'leave') { // Case 4: If the update mode is "linking a leave record" // Update the existing record // $leaveId = $request->input('leave', 0); // if ($leaveId){ // $requestedAtt->leave_id = ; // $requestedAtt->save(); // $newId = $requestedAtt->att_id; // } // else { // $error = ['code' => 'EX', 'reason' => $ex->getMessage()]; // } } elseif ($action == 'sms') { // Case 5: Updating the SMS sent status // Update the existing record foreach (['is_sms_sent' => 0, 'sms_timestamp' => date('Y-m-d'), 'sms_mobile' => 'unknown', 'sms_failure' => 'N/A'] as $smsKey => $defaultValue) { if (array_key_exists($smsKey, $postData)) { $ultimateAtt->{$smsKey} = $postData[$smsKey]; // $ultimateAtt->is_sms_sent = $request->input('smsSent', 0); // $ultimateAtt->sms_timestamp = $request->input('smsTimestamp', date('Y-m-d')); // $ultimateAtt->sms_mobile = $request->input('smsMobile', 'unknown'); // $ultimateAtt->sms_failure = $request->input('smsFailure', 'N/A'); } else { $ultimateAtt->{$smsKey} = $defaultValue; } } $ultimateAtt->save(); $newId = $ultimateAtt->att_id; } } return response()->json(['attId' => $attId, 'oldRecordId' => $oldId, 'recordId' => $newId]); } catch (\Exception $ex) { return response()->json(['error' => ['code' => $ex->getCode(), 'reason' => $ex->getMessage()]], 400); } }