Пример #1
0
 public function store()
 {
     $tariff_name = Tariff::where('name', '=', Input::get('name'))->get();
     if (count($tariff_name) > 0) {
         return response()->json(['callback' => 'danger', 'message_shot' => 'Ошибка!', 'message' => ' Тариф с таким названием уже существует']);
     } else {
         // validate
         // read more on validation at http://laravel.com/docs/validation
         $rules = array('name' => 'required');
         $validator = Validator::make(Input::all(), $rules);
         // process the login
         if ($validator->fails()) {
             return response()->json(['callback' => 'danger', 'message_shot' => 'Ошибка!', 'message' => ' Тариф ' . Input::get('name') . ' не создан']);
         } else {
             // store
             if (Input::get('tariff_id') !== null) {
                 $oldtariff = Tariff::find(Input::get('tariff_id'));
                 $tariff = $oldtariff->replicate();
                 $tariff->name = Input::get('name');
                 $tariff->save();
                 foreach ($oldtariff->commissions as $oldcommission) {
                     $commission = $oldcommission->replicate();
                     $commission->tariff_id = $tariff->id;
                     $commission->save();
                     foreach ($oldcommission->commissionsRages as $oldcommissionsRage) {
                         $commissionsRage = $oldcommissionsRage->replicate();
                         $commissionsRage->commission_id = $commission->id;
                         $commissionsRage->save();
                     }
                 }
                 return response()->json(['callback' => 'success', 'message_shot' => 'Успешно!', 'message' => ' Тариф "' . $oldtariff->name . '"скопирован, теперь вы можете приступить к редактированию комиссий', 'tariff_id' => $tariff->id]);
             } else {
                 $tariff = new Tariff();
                 $tariff->name = Input::get('name');
                 $tariff->save();
                 return response()->json(['callback' => 'success', 'message_shot' => 'Успешно!', 'message' => ' Тариф ' . Input::get('name') . ' создан, теперь добавьте к нему комисси ', 'tariff_id' => $tariff->id]);
             }
         }
     }
 }