コード例 #1
0
ファイル: ShareTest.php プロジェクト: esclapes/foodhub.es
 /** @test */
 public function it_is_unique_for_the_same_email_and_order()
 {
     $this->setExpectedException('Illuminate\\Database\\QueryException');
     $share = new Share(['email' => $this->user->email, 'phone' => '676676766', 'comments' => 'Lorem ipsum comment']);
     $share->order_id = $this->order->id;
     $share->save();
     $share = new Share(['email' => $this->user->email, 'phone' => '77474736', 'comments' => 'Another Lorem ipsum comment']);
     $share->order_id = $this->order->id;
     $share->save();
 }
コード例 #2
0
 /**
  * Store a newly created resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @return \Illuminate\Http\Response
  */
 public function store(Request $request, Order $order)
 {
     // @todo: request validation
     // create a new share with contact information
     $share = new Share($request->only('email', 'phone', 'comments'));
     $share->order_id = $order->id;
     $share->save();
     // attach the share items
     $shareItems = $order->getShareItems($request->input('products'));
     $share->items()->saveMany($shareItems);
     return redirect()->action('ShareController@show', [$order->id, $share->id]);
 }
コード例 #3
0
 /**
  * Store a newly created resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @return \Illuminate\Http\Response
  */
 public function store(Request $request)
 {
     $object = new Model();
     $params = $request->only('ru_title', 'en_title', 'ua_title', 'ru_description', 'en_description', 'ua_description', 'ru_text', 'en_text', 'ua_text', 'ru_requirements', 'en_requirements', 'ua_requirements');
     $filter = $object->validator($params);
     if ($filter->fails()) {
         $error = $filter->errors()->toArray();
         return view('admin.share.create', ['input' => $params, 'error' => $error]);
     }
     if ($request->hasFile('file')) {
         $params['file'] = $this->upload('file');
     }
     $object->fill($params);
     $object->save();
     return redirect('admin/share/' . $object->id);
 }
コード例 #4
0
 private function generateOrderSharesFor($group)
 {
     $users = User::all();
     foreach ($group->orders as $order) {
         foreach ($users->random(6)->values()->all() as $user) {
             $share = new Share(['email' => $user->email, 'order_id' => $order->id]);
             $share->save();
             $items = [];
             $order->products->random(5)->each(function ($item) {
                 $items[$item->id] = rand(1, 7) * $item->pivot->step_amount;
             }, array());
             $items = $order->getShareItems($items);
             $share->items()->saveMany($items);
         }
     }
 }