public function save(array $options = array()) { $saved = parent::save($options); if ($saved) { $data = []; if (is_array($this->original)) { $data = $data + $this->original; } if (is_array($this->attribute)) { $data = $data + $this->attribute; } $data = $data + $options; #here we validate the type and return the source reference switch (ActionType::find($data['action_type_id'])->source_type) { case 'order': $action = 3; $order = Order::find($data['source_id']); if ($order) { $users = [$order->user_id, $order->seller_id]; } break; } if (isset($users)) { Notice::create(['action_type_id' => $action, 'sender_id' => $data['user_id'], 'user_ids' => $users, 'source_id' => $data['source_id']]); } } }
/** * */ public function run() { $faker = Faker::create(); $userIds = User::lists('id'); $groupIds = Group::lists('id'); foreach (range(1, 200) as $index) { Notice::create(['title' => $faker->word, 'user_id' => $faker->randomElement($userIds), 'group_id' => $faker->randomElement($groupIds), 'message' => $faker->paragraph()]); } }
public function run() { $faker = Faker::create(); $users = User::get()->toArray(); foreach ($users as $user) { //dd($user); foreach (range(1, 10) as $void) { $sender_id = $user['id']; while ($sender_id == $user['id']) { $sender_id = $faker->randomElement($users)['id']; } Notice::create(['user_id' => $user['id'], 'sender_id' => $sender_id, 'source_id' => $faker->numberBetween(50, 1000000), 'title' => $faker->text(50), 'message' => $faker->text(150), 'status' => $faker->randomElement(['read', 'unread', 'new']), 'type' => $faker->randomElement(['info', 'danger', 'warning', 'success'])]); } } }
public function rateProduct(Request $request) { $detail_id = $request->get('detail_id'); $product_rate = $request->get('product_rate'); $product_comment = $request->get('product_comment'); $user = \Auth::user(); if ($user) { $detail = OrderDetail::find($detail_id); if ($detail) { //Checks if the order exists and belongs to the current user $order = Order::where('id', $detail->order_id)->where('user_id', $user->id)->first(); if ($order && $order->rate == '') { $product = Product::find($detail->product_id); $product_old_rate = $product->rate_val ? $product->rate_val : 0; $product_old_rate_count = $product->rate_count ? $product->rate_count : 0; //Checks if it is the first time the product is rated if ($product_old_rate_count == 0) { $product->rate_val = $product_rate; $product->rate_count = 1; } else { //Checks if the user has rated this product on this order before if ($detail->rate) { if ($product_old_rate > $product_rate) { $product->rate_val = $product->rate_val - ($product_old_rate - $product_rate) / $product_old_rate_count; } if ($product_old_rate < $product_rate) { $product->rate_val = $product->rate_val + ($product_rate - $product_old_rate) / $product_old_rate_count; } } else { if ($product_old_rate > $product_rate) { $product->rate_val = $product->rate_val - ($product_old_rate - $product_rate) / ($product_old_rate_count + 1); } if ($product_old_rate < $product_rate) { $product->rate_val = $product->rate_val + ($product_rate - $product_old_rate) / ($product_old_rate_count + 1); } $product->rate_count = $product_old_rate_count + 1; } } $seller_user = User::find($order->seller_id); $email = $seller_user->email; $mail_subject = trans('email.product_rated.subject'); $data = ['product_id' => $product->id, 'subject' => $mail_subject, 'email_message' => $mail_subject, 'email' => $email]; Mail::queue('emails.product_rated', $data, function ($message) use($user, $data) { $message->to($data['email'])->subject($data['subject']); }); $product->save(); $detail->rate = $product_rate; $detail->rate_comment = $product_comment; $detail->save(); Notice::create(['user_id' => $seller_user->id, 'sender_id' => $user->id, 'action_type_id' => 14, 'source_id' => $order->id, 'status' => 'new']); return \Response::json(array('success' => true, 'message' => trans('store.order_rate_view.http_messages.success'), 'detail_id' => $detail_id, 'product_rate' => $product_rate), 200); } else { return \Response::json(array('success' => false, 'message' => trans('store.order_rate_view.http_messages.no_order'), 'detail_id' => $detail_id, 'product_rate' => $product_rate), 200); } } else { return \Response::json(array('success' => false, 'message' => trans('store.order_rate_view.http_messages.no_user'), 'detail_id' => $detail_id, 'product_rate' => $product_rate), 200); } } else { return \Response::json(array('success' => false, 'message' => trans('store.order_rate_view.http_messages.no_user'), 'detail_id' => $detail_id, 'product_rate' => $product_rate), 200); } }
/** * Store a newly created resource in storage. * * @return Response */ public function store() { $data = \Request::all(); $this->json_or_dd($data); $notice = Notice::create($data); $this->json_or_dd($notice); //si-nuevo }
/** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { $input = Request::all(); Notice::create($input); return redirect('admin/notice'); }
public function sendNotice() { if (!empty($this->seller_id) && !empty($this->user_id) && $this->type == 'order') { switch ($this->status) { case 'open': Notice::create(['action_type_id' => 1, 'source_id' => $this->id, 'user_id' => $this->seller_id, 'sender_id' => $this->user_id]); break; case 'pending': Notice::create(['action_type_id' => 2, 'source_id' => $this->id, 'user_id' => $this->user_id, 'sender_id' => $this->seller_id]); break; case 'closed': Notice::create(['action_type_id' => 8, 'source_id' => $this->id, 'user_id' => $this->seller_id, 'sender_id' => $this->user_id]); break; case 'cancelled': Notice::create(['action_type_id' => 9, 'source_id' => $this->id, 'users' => [$this->seller_id, $this->user_id]]); break; case 'sent': Notice::create(['action_type_id' => 11, 'source_id' => $this->id, 'user_id' => $this->user_id, 'sender_id' => $this->seller_id]); break; } } // $this->sendMail(); return $this; }