public function save() { //De facut verificare cu db daca aprobarea era null si s-a modificat sa se trimita mail cu confirmare if (auth()->user()->hasRole('Buyer')) { if ((int) auth()->user()->credit <= config('credit.pret_vanzator')) { return redirect()->back()->withFlashError('Nu mai aveti credit'); } } $data = Input::get('data'); $data['color_text'] = User::color(); $validator = Validator::make($data, Terrain::generalValidatorRules(), Terrain::generalValidatorMessages()); if ($validator->passes()) { try { $user_ud = (int) $data['user_owner'] > 0 ? $data['user_owner'] : Auth::user()->id; unset($data['user_owner']); if (auth()->user()->hasRole('Administrator')) { $out['aprobat'] = 1; } $out = Terrain::create($data + ['user_id' => $user_ud]); if (!auth()->user()->hasRole('Administrator')) { User::credit(-config('credit.pret_vanzator')); } if ($data['id_tip_caracteristici']) { $out->characteristics()->attach($data['id_tip_caracteristici']); } $out = Terrain::with('characteristics')->where('id', $out->id)->first(); $result = ['success' => true, 'message' => 'Datele au fost salvate cu succes!', 'out' => $out, 'has_abonament' => User::hasAbonament()]; } catch (Exception $e) { $result = ['success' => false, 'runtime' => 1, 'exception' => ['message' => $e->getMessage(), 'method' => __METHOD__, 'line' => $e->getLine(), 'file' => $e->getFile()]]; } $result['credit'] = auth()->user()->credit; return $result; } $alert = ['caption' => 'Atentie', 'message' => 'Vă rugăm să completați câmpurile obligatorii.', 'type' => 'warning']; return ['success' => false, 'runtime' => 0, 'messages' => $validator->messages(), 'alert' => $alert]; }