public function unPurchase($id) { $punishment = Punishment::find($id); $earning = Earning::where('earnable_type', '=', 'Punishment')->where('earnable_id', '=', $punishment->id)->delete(); $punishment->paid = 0; $punishment->save(); Session::flash('message', 'Sukses membatalkan pembayaran denda!'); }
public function destroy($code) { $earnings = Earning::where('code', '=', $code)->get(); foreach ($earnings as $earning) { switch ($earning->earnable_type) { case 'Receivable': $receivable = Receivable::find($earning->earnable_id); $receivable->balance += $receivable->balance + $earning->payment; $receivable->save(); $earning->delete(); break; case 'Installment': $installment = Installment::find($earning->earnable_id); $installment->balance += $installment->balance + $earning->payment; $installment->paid = 0; $installment->save(); $earning->delete(); break; case 'Registration': $registration = Registration::find($earning->earnable_id); $registration->cost_is_paid = 0; $registration->save(); $earning->delete(); break; case 'Movement': $movement = Movement::find($earning->earnable_id); $movement->paid = 0; $movement->save(); $earning->delete(); break; case 'Punishment': $punishment = Punishment::find($earning->earnable_id); $punishment->paid = 0; $punishment->save(); $earning->delete(); break; case 'Resign': $resign = Resign::find($earning->earnable_id); $resign->is_earned = 0; $resign->save(); $earning->delete(); break; default: $earning->delete(); break; } } }