public function create($aData) { $oConnection = Propel::getConnection(GatewayPeer::DATABASE_NAME); try { $sGatewayUID = G::generateUniqueID(); $aData['GAT_UID'] = $sGatewayUID; $oGateway = new Gateway(); $oGateway->fromArray($aData, BasePeer::TYPE_FIELDNAME); if ($oGateway->validate()) { $oConnection->begin(); $iResult = $oGateway->save(); $oConnection->commit(); return $sGatewayUID; } else { $sMessage = ''; $aValidationFailures = $oGateway->getValidationFailures(); foreach ($aValidationFailures as $oValidationFailure) { $sMessage .= $oValidationFailure->getMessage() . '<br />'; } throw new Exception('The registry cannot be created!<br />' . $sMessage); } } catch (Exception $oError) { $oConnection->rollback(); throw $oError; } }
/** * Store a newly created resource in storage. * * @return Response */ public function postStore() { $input = Input::only('user_id', 'gateway_name', 'gateway_address'); $input['prefix'] = $this->generate_prefix(); $rules = array('gateway_name' => 'required|min:3', 'gateway_address' => 'required|ip_hostname|unique:gateways,gateway_address,NULL,id,deleted_at,NULL', 'prefix' => 'unique:gateways,prefix'); $v = Validator::make($input, $rules); if ($v->fails()) { return Output::push(array('path' => 'gateway/add', 'errors' => $v, 'input' => TRUE)); } $gateway = new Gateway(['user_id' => Auth::user()->status == 2 ? $input['user_id'] : Auth::user()->id, 'gateway_name' => $input['gateway_name'], 'gateway_address' => $input['gateway_address'], 'prefix' => $input['prefix']]); $gateway->save(); Event::fire('logger', array(array('gateway_add', array('id' => $gateway->id, 'gateway_name' => $gateway->gateway), 2))); if ($gateway->id) { return Output::push(array('path' => 'gateway', 'messages' => array('success' => _('You have added gateway successfully')))); } else { return Output::push(array('path' => 'gateway/add', 'messages' => array('fail' => _('Fail to add gateway')), 'input' => TRUE)); } }