Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- namespace api\controllers;
- use Yii;
- use yii\rest\Controller;
- use yii\filters\VerbFilter;
- use yii\filters\AccessControl;
- use yii\filters\ContentNegotiator;
- use yii\web\Response;
- use yii\filters\Cors;
- use yii\rest\ActiveController;
- use api\models\Zayvki;
- use yii\filters\auth\HttpBearerAuth;
- use common\models\User;
- use api\models\Users;
- use yii\helpers\Url;
- class ZayvkiController extends ActiveController
- {
- public $modelClass = 'api\models\Zayvki';
- public function actions()
- {
- $actions = parent::actions();
- unset($actions['create']);
- return $actions;
- }
- public function behaviors()
- {
- $behaviors['corsFilter'] = [
- 'class' => \yii\filters\Cors::className(),
- 'cors' => [
- 'Origin' => ['*'],
- 'Access-Control-Request-Method' => ['GET', 'POST', 'PUT', 'PATCH', 'DELETE', 'HEAD', 'OPTIONS'],
- 'Access-Control-Allow-Credentials' => false,
- ],
- ];
- $behaviors['contentNegotiator'] = [
- 'class' => ContentNegotiator::className(),
- 'formats' => [
- 'application/json' => Response::FORMAT_JSON
- ]
- ];
- unset($behaviors['authenticator']);
- $behaviors['authenticator'] = [
- 'class' => HttpBearerAuth::className(),
- ];
- $behaviors['access'] = [
- 'class' => AccessControl::className(),
- 'rules' => [
- [
- 'allow' => true,
- 'roles' => ['@'],
- ],
- ],
- ];
- return $behaviors;
- }
- public function actionCreate()
- {
- $params = \yii\helpers\Json::decode(Yii::$app->getRequest()->getRawBody());
- $model = new Zayvki();
- $model->attributes = $params;
- $model->user_id = Yii::$app->user-id;
- if ($model->validate() && $model->save()){
- $order = new Order();
- $order->load(Yii::$app->request->post());
- $order->uslugi_id = Yii::$app->request->post('Zayvki')['uslugi_id'];
- $order->category_id = 3;
- $order->load(Yii::$app->request->post());
- $order->link('zayvki', $model);
- $response = Yii::$app->getResponse();
- $response->setStatusCode(201);
- $id = implode(',', array_values($model->getPrimaryKey(true)));
- $response->getHeaders()->set('Location',Url::toRoute(['view', 'id' => $id],true));
- } elseif (!$model->hasErrors()) {
- throw new ServerErrorHttpException('Проверет правильность внесенных данных');
- }
- return $model;
- }
- public function actionMyzayvki(){
- return $this->findModel();
- }
- private function findModel(){
- return Zayvki::find()->where(['user_id' => Yii::$app->user->identity->id])->all();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement