public function onAddCourse() { extract(post()); $user = $this->user(); if (!$user) { Flash::info('Войдите или Зарегистрируйтесь, чтобы записаться на курс!'); return ['#layout-flash-messages' => $this->renderPartial('@message')]; } $course = CourseModel::find($course_id); // $userevents = $user->userevents()->isInOrder(); try { $el = '#js' . $course_id . $type_id . $cat_id; // CW::info(['check' => $order->courses->contains('id', $course->id)]); if ($user->userevents->contains('course_id', $course->id)) { Flash::info('Учебная программа уже в личном кабинете'); return [$el => $this->renderPartial('@button'), '#layout-flash-messages' => $this->renderPartial('@message')]; } $userevent = new UserEventModel(); $userevent->user()->associate($user); $userevent->course()->associate($course); $userevent->state()->associate(UserEventStateModel::find(1)); // Статус: В заявке $userevent->fill(['course_type_id' => $type_id, 'course_category_id' => $cat_id]); $userevent->save(); Flash::success('Учебная программа добавлена в личный кабинет'); return [$el => $this->renderPartial('@button'), '#layout-flash-messages' => $this->renderPartial('@message')]; } catch (Exception $e) { Flash::error('Ошибка!'); return ['#layout-flash-messages' => $this->renderPartial('@message')]; } }
/** * Update Events from CRM */ public function onUpdateFromCrm() { $crmuserevents = CRMUserEvent::isNotUpdated()->with(['user', 'event'])->get(); \CW::info(['userevents' => $crmuserevents]); if (count($crmuserevents) == 0) { Flash::info("No UserEvents to Create/Update"); // echo "ERROR!"; return; } $crmuserevents->each(function ($userevent) { if ($userevent->user && $userevent->event) { \CW::info([$userevent]); $cmsuser = User::where('email', $userevent->user->email)->first(); $cmsevent = Event::where('crm_event_id', $userevent->event->id)->with('course')->first(); $cmscourse = $cmsevent->course; $cmsusereventstate = UserEventState::where('crm_state_id', $userevent->state_id)->first(); // $cmsuserevent = UserEvent::firstOrNew(['crm_event_id' => $userevent->event->id, 'user_id' => $cmsuser->id]); // $cmsuserevent = $cmsuser->userevents() // $cmsuserevent = $cmsuserevent $cmsuserevent = UserEvent::where('user_id', $cmsuser->id)->where('event_id', $cmsevent->id)->first(); if (!$cmsuserevent) { $cmsuserevent = new UserEvent(); } \CW::info([$cmsuser, $cmsevent, $cmscourse, $cmsuserevent, $cmsusereventstate]); // if (!$cmsuser) { // Log::warning("CMSUser is NULL\n"); // } // if (!$cmsevent) { // Log::warning("CMSEvent is NULL\n"); // } // if (!$cmscourse) { // Log::warning("CMSCourse is NULL\n"); // } // if (!$cmsuserevent) { // Log::warning("CMSUserEvent is NULL\n"); // } // if (!$cmsusereventstate) { // Log::warning("CMSUserEventState is NULL\n"); // } $cmsuserevent->user()->associate($cmsuser); $cmsuserevent->course()->associate($cmscourse); $cmsuserevent->state()->associate($cmsusereventstate); $cmsuserevent->event()->associate($cmsevent); $cmsuserevent->fill(['course_type_id' => $cmscourse->course_type_id, 'course_category_id' => $cmscourse->course_category_id, 'crm_event_id' => $userevent->event->id]); \CW::info([$cmsuserevent]); $cmsuserevent->save(); $userevent->update(['is_updated' => true]); } }); Flash::success("UserEvents is update"); }