Exemplo n.º 1
0
 public function post_create()
 {
     Customer::create(array('name' => Input::get('name')));
     return Redirect::to_route('home')->with('message', 'The author was created');
 }
 /**
  * Store a newly created resource in storage.
  *
  * @return Response
  */
 public function store()
 {
     die(Input::get('tab_index'));
     $input = Input::all();
     // STEP 1 : validate data (pendding)
     $validator = Validator::make($input, Customer::$rules);
     if (!$validator->passes()) {
         return Redirect::back()->withErrors($validator)->withInput();
     }
     // STEP 2 : build objects
     // Customer Stuff
     $customerData = array();
     $customerData['name_fiscal'] = $input['name_fiscal'];
     //		$customerData['name_commercial'] = $input['name_commercial'];
     //      $customerData['firstname']       = $input['firstname'];
     //      $customerData['lastname']        = $input['lastname'];
     //      $customerData['email']           = $input['email'];
     $customerData['website'] = Input::get('website', '');
     $customerData['identification'] = Input::get('identification', '');
     //      $customerData['phone']           = $input['phone'];
     //      $customerData['phone_mobile']    = $input['phone_mobile'];
     //      $customerData['fax']             = $input['fax'];
     $customerData['outstanding_amount_allowed'] = Input::get('outstanding_amount_allowed', Configuration::get('DEF_OUTSTANDING_AMOUNT'));
     $customerData['outstanding_amount'] = 0;
     $customerData['unresolved_amount'] = 0;
     $customerData['notes'] = Input::get('notes', '');
     $customerData['accept_einvoice'] = Input::get('accept_einvoice', 0);
     $customerData['accept_einvoice'] = intval($customerData['accept_einvoice']) > 0 ? 1 : 0;
     $customerData['blocked'] = 0;
     $customerData['active'] = Input::get('activce', 1);
     $customerData['active'] = intval($customerData['active']) > 0 ? 1 : 0;
     // Customer Relations!
     $customerData['salesrep_id'] = 0;
     $customerData['currency_id'] = 0;
     $customerData['customer_group_id'] = 0;
     $customerData['payment_method_id'] = 0;
     $customerData['sequence_id'] = 0;
     $customerData['carrier_id'] = 0;
     $customerData['price_list_id'] = 0;
     $customerData['direct_debit_account_id'] = 0;
     $customerData['invoicing_address_id'] = 0;
     $customerData['shipping_address_id'] = 0;
     // Addresses Stuff
     $addressInvData = array();
     $addressInvData['alias'] = 'Dirección Principal';
     $addressInvData['model_name'] = 'Customer';
     $addressInvData['name_commercial'] = Input::get('name_commercial', '');
     $addressInvData['address1'] = Input::get('address1', '');
     $addressInvData['address2'] = Input::get('address2', '');
     $addressInvData['postcode'] = Input::get('postcode', '');
     $addressInvData['city'] = Input::get('city', '');
     $addressInvData['state'] = Input::get('state', '');
     $addressInvData['country'] = Input::get('country', Configuration::get('DEF_COUNTRY_NAME'));
     $addressInvData['firstname'] = Input::get('firstname', '');
     $addressInvData['lastname'] = Input::get('lastname', '');
     $addressInvData['email'] = Input::get('email', '');
     $addressInvData['phone'] = Input::get('phone', '');
     $addressInvData['phone_mobile'] = Input::get('phone_mobile', '');
     $addressInvData['fax'] = Input::get('fax', '');
     $addressInvData['notes'] = '';
     $addressInvData['active'] = 1;
     $addressInvData['latitude'] = 0;
     $addressInvData['longitude'] = 0;
     // Address Relations!
     $addressInvData['owner_id'] = 0;
     $addressInvData['state_id'] = 0;
     $addressInvData['country_id'] = 0;
     $addressShipData = array();
     //		$addressShipData[''] = $input['ship_address_'];
     $customer = Customer::create($customerData);
     $addressInv = Address::create($addressInvData);
     $addressInv->Customer()->associate($customer);
     $customer->addresses()->save($addressInv);
     $customer->invoicing_address_id = $addressInv->id;
     $customer->shipping_address_id = $addressInv->id;
     $customer->save();
     // $customer->touch();
     // See: http://stackoverflow.com/questions/16740973/one-to-many-relationship-inserts-2-records-into-table
     // Kind of different...
     /*
                 return Redirect::route('customers.create')
     		->withInput()
     		->with('message_error', 'Esta txuta!');
     */
     // return Redirect::to('customers/' . $customer->id . '/edit')
     return Redirect::to('customers')->with('success', 'El Cliente se ha creado correctamente.');
     // return Redirect::route('customers.create')
     //        ->with('message_error', 'Esta txuta!');
     /*
             $v = Validator::make($input, Customer::$rules);
     
             if ($v->passes())
             {
                 $this->customer->create($input);
     
                 return Redirect::route('admin.customers.index')
     				->with('message_info', 'El registro se ha creado correctamente: '. $input['name'].' - '.$input['percent'].'%');
             }
     
             return Redirect::route('admin.customers.create')
                 ->withInput()
                 ->withErrors($v)
                 ->with('message_error', 'There were validation errors');
     */
 }