コード例 #1
0
 public function safeUp()
 {
     $this->addColumn('{{%object_cbs}}', 'id', Schema::TYPE_PK);
     $this->addColumn('{{%object_cbs}}', 'created_at', Schema::TYPE_INTEGER . ' NOT NULL');
     $this->addColumn('{{%object_cbs}}', 'updated_at', Schema::TYPE_INTEGER . ' NOT NULL');
     $query = \app\models\Objects::find();
     $query->where(['not', ['cbs' => null]]);
     $dataProvider = new \yii\data\ActiveDataProvider(['query' => $query]);
     $objectsArray = $dataProvider->getModels();
     foreach ($objectsArray as $objects) {
         $cbsNames = explode(',', $objects->cbs);
         foreach ($cbsNames as $cbsName) {
             // Find the CBS from APIs that matches the name that was saved as a text before
             $cbs = \app\models\Apis::findOne(['name' => $cbsName]);
             if ($cbs) {
                 $objectsCBS = new \app\models\ObjectCBS();
                 $objectsCBS->object = $objects->id;
                 $objectsCBS->cbs = $cbs->id;
                 $objectsCBS->save();
             }
         }
     }
     // Drop column cbs from Objects Table that is not needed anymore
     $this->dropColumn('{{%objects}}', 'cbs');
 }
コード例 #2
0
ファイル: ObjectSearch.php プロジェクト: kosjka/device
 /**
  * Creates data provider instance with search query applied
  *
  * @param array $params
  *
  * @return ActiveDataProvider
  */
 public function search($params)
 {
     $query = Objects::find();
     $dataProvider = new ActiveDataProvider(['query' => $query]);
     $this->load($params);
     if (!$this->validate()) {
         // uncomment the following line if you do not want to return any records when validation fails
         // $query->where('0=1');
         return $dataProvider;
     }
     $query->andFilterWhere(['id' => $this->id]);
     $query->andFilterWhere(['like', 'name', $this->name]);
     return $dataProvider;
 }
コード例 #3
0
 function BuildObject($objectName, $objectDescription)
 {
     $model = Objects::find()->where(['name' => $objectName])->one();
     if ($model === null) {
         $model = new Objects();
     } else {
         Properties::deleteAll(['object' => $model->id]);
     }
     // If APIS_addressmodel keep only addressmodel and make it Addressmodel
     // If Checkin_openicheckin keep only checkin and make it Checkin
     $model->name = $objectName;
     $pos = strpos($model->name, '_');
     if ($pos !== false) {
         $model->name = substr($model->name, $pos + 1);
     }
     $model->name = str_replace("openi", "", $model->name);
     $model->name = ucfirst($model->name);
     $model->description = $objectDescription;
     $model->api = $this->_apiID;
     $model->privacy = 'public';
     $model->save();
     $this->_objectID = $model->id;
 }
コード例 #4
0
 /**
  * Creates data provider instance with search query applied
  *
  * @param array $params
  *
  * @return ActiveDataProvider
  */
 public function search($params)
 {
     $query = Objects::find();
     $query->joinWith(['createdBy']);
     $query->where(['or', ['privacy' => 'public'], ['privacy' => 'protected'], ['privacy' => 'private', 'created_by' => Yii::$app->getUser()->id]]);
     $query->where(['not in', 'name', ['Addressmodel', 'Timemodel', 'Durationmodel', 'Frommodel', 'Locationmodel', 'Sizemodel', 'Tagsmodel', 'Applicationmodel', 'Basefilemodel', 'Organizationmodel', 'Personmodel', 'Placemodel', 'Productmodel', 'Servicemodel', 'Cartproductlist', 'Cartservicelist', 'Cart_target_id', 'Orderproductlist', 'Orderservicelist', 'Registeredapplication_user']]);
     $dataProvider = new ActiveDataProvider(['query' => $query]);
     $dataProvider->sort->attributes['createdBy.username'] = ['asc' => ['user.username' => SORT_ASC], 'desc' => ['user.username' => SORT_DESC]];
     if (!($this->load($params) && $this->validate())) {
         return $dataProvider;
     }
     $query->andFilterWhere(['id' => $this->id, 'api' => $this->api, 'inherited' => $this->inherited, 'created_by' => $this->created_by, 'updated_by' => $this->updated_by, 'created_at' => $this->created_at, 'updated_at' => $this->updated_at, 'votes_up' => $this->votes_up, 'votes_down' => $this->votes_down, 'proposed' => $this->proposed]);
     $query->andFilterWhere(['like', 'name', $this->name])->andFilterWhere(['like', 'description', $this->description])->andFilterWhere(['like', 'privacy', $this->privacy])->andFilterWhere(['like', 'methods', $this->methods])->andFilterWhere(['like', 'schema_org', $this->schema_org]);
     return $dataProvider;
 }
コード例 #5
0
ファイル: DevicesController.php プロジェクト: kosjka/device
 /**
  * Updates an existing Devices model.
  * If update is successful, the browser will be redirected to the 'view' page.
  * @param integer $id
  * @return mixed
  */
 public function actionUpdate($id)
 {
     $model = $this->findModel($id);
     $listparent = Devices::find()->all();
     $listobject = Objects::find()->all();
     $listbrend = Brends::find()->all();
     $listinterface = Interfaces::find()->all();
     $liststate = States::find()->all();
     $listype = Types::find()->all();
     if ($model->load(Yii::$app->request->post()) && $model->save()) {
         return $this->redirect(['view', 'id' => $model->id]);
     } else {
         return $this->render('update', ['model' => $model, 'listparent' => $listparent, 'listobject' => $listobject, 'listbrend' => $listbrend, 'listinterface' => $listinterface, 'liststate' => $liststate, 'listype' => $listype]);
     }
 }
コード例 #6
0
ファイル: Cbs.php プロジェクト: openi-ict/api-builder
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getObjects()
 {
     return $this->hasMany(Objects::className(), ['cbs' => 'id']);
 }
コード例 #7
0
 /**
  * Displays a User model.
  * @param integer $id
  * @param boolean $followed
  * @return mixed
  */
 public function actionView($id, $followed = null)
 {
     // If I'm trying to view myself then redirect to index
     $myId = \Yii::$app->user->id;
     if ($myId == $id) {
         return $this->redirect(['index']);
     }
     $model = $this->findModel($id);
     $votedUpAPIsArray = array_filter(explode(',', $model->votes_up_apis));
     $votedUpAPIsArrayInt = array_map('intval', $votedUpAPIsArray);
     $votedUpAPIsQuery = Apis::find()->where(['id' => $votedUpAPIsArrayInt]);
     $votedUpAPIsDataProvider = new ActiveDataProvider(['query' => $votedUpAPIsQuery, 'sort' => false, 'pagination' => ['pageSize' => 5]]);
     $votedDownAPIsArray = array_filter(explode(',', $model->votes_down_apis));
     $votedDownAPIsArrayInt = array_map('intval', $votedDownAPIsArray);
     $votedDownAPIsQuery = Apis::find()->where(['id' => $votedDownAPIsArrayInt]);
     $votedDownAPIsDataProvider = new ActiveDataProvider(['query' => $votedDownAPIsQuery, 'sort' => false, 'pagination' => ['pageSize' => 5]]);
     $votedUpObjectsArray = array_filter(explode(',', $model->votes_up_objects));
     $votedUpObjectsArrayInt = array_map('intval', $votedUpObjectsArray);
     $votedUpObjectsQuery = Objects::find()->where(['id' => $votedUpObjectsArrayInt]);
     $votedUpObjectsDataProvider = new ActiveDataProvider(['query' => $votedUpObjectsQuery, 'sort' => false, 'pagination' => ['pageSize' => 5]]);
     $votedDownObjectsArray = array_filter(explode(',', $model->votes_down_objects));
     $votedDownObjectsArrayInt = array_map('intval', $votedDownObjectsArray);
     $votedDownObjectsQuery = Objects::find()->where(['id' => $votedDownObjectsArrayInt]);
     $votedDownObjectsDataProvider = new ActiveDataProvider(['query' => $votedDownObjectsQuery, 'sort' => false, 'pagination' => ['pageSize' => 5]]);
     $votedUpCommentsArray = array_filter(explode(',', $model->votes_up_comments));
     $votedUpCommentsArrayInt = array_map('intval', $votedUpCommentsArray);
     $votedUpCommentsQuery = Comments::find()->where(['id' => $votedUpCommentsArrayInt]);
     $votedUpCommentsDataProvider = new ActiveDataProvider(['query' => $votedUpCommentsQuery, 'sort' => false, 'pagination' => ['pageSize' => 5]]);
     $votedDownCommentsArray = array_filter(explode(',', $model->votes_down_comments));
     $votedDownCommentsArrayInt = array_map('intval', $votedDownCommentsArray);
     $votedDownCommentsQuery = Comments::find()->where(['id' => $votedDownCommentsArrayInt]);
     $votedDownCommentsDataProvider = new ActiveDataProvider(['query' => $votedDownCommentsQuery, 'sort' => false, 'pagination' => ['pageSize' => 5]]);
     $followedUsers = $model->getFollowees();
     $followedUsersDataProvider = new ActiveDataProvider(['query' => $followedUsers, 'sort' => false, 'pagination' => ['pageSize' => 5]]);
     $followedApis = $model->getFollowingApis();
     $followedApisDataProvider = new ActiveDataProvider(['query' => $followedApis, 'sort' => false, 'pagination' => ['pageSize' => 5]]);
     $followUserUser = FollowUserUser::findOne(['follower' => $myId, 'followee' => $id]);
     $doIFollow = false;
     if ($followUserUser != null) {
         $doIFollow = true;
         $followUserUser->last_seen = date("Y-m-d H:i:s");
         $followUserUser->changed_photo = false;
         $followUserUser->changed_linkedin = false;
         $followUserUser->changed_github = false;
         $followUserUser->created_api = null;
         $followUserUser->changed_upvotes_apis = null;
         $followUserUser->changed_downvotes_apis = null;
         $followUserUser->save();
     }
     $followers = FollowUserUser::find(['followee' => $id])->count();
     $this->view->params['followed'] = $followed;
     return $this->render('view', ['model' => $model, 'votedUpAPIsDataProvider' => $votedUpAPIsDataProvider, 'votedDownAPIsDataProvider' => $votedDownAPIsDataProvider, 'votedUpObjectsDataProvider' => $votedUpObjectsDataProvider, 'votedDownObjectsDataProvider' => $votedDownObjectsDataProvider, 'votedUpCommentsDataProvider' => $votedUpCommentsDataProvider, 'votedDownCommentsDataProvider' => $votedDownCommentsDataProvider, 'followedUsersDataProvider' => $followedUsersDataProvider, 'followedApisDataProvider' => $followedApisDataProvider, 'doIFollow' => $doIFollow, 'followers' => $followers]);
 }
コード例 #8
0
 /**
  * Finds the Objects model based on its primary key value.
  * If the model is not found, a 404 HTTP exception will be thrown.
  * @param integer $id
  * @return Objects the loaded model
  * @throws NotFoundHttpException if the model cannot be found
  */
 protected function findObjectModel($id)
 {
     if (($model = Objects::findOne($id)) !== null) {
         return $model;
     } else {
         throw new NotFoundHttpException('The requested page does not exist.');
     }
 }
コード例 #9
0
 /**
  * Publishes an API Swagger.
  * If publish is successful, the browser will be redirected to the 'swagger/index?url=$model->name' page.
  * @param integer $id
  * @return mixed
  */
 public function actionPublish($id)
 {
     $api = $this->findModel($id);
     $api->published = 1;
     $api->save();
     $apiName = preg_replace('/\\s+/', '', $api->name);
     $change = new NotifAPIHelper();
     $followersNotified = $change->apiChangedPublished($id);
     $basePathPart = Url::canonical();
     $basePathPart = explode('swagger', $basePathPart);
     $basePathPart = explode('hydra', $basePathPart[0]);
     $basePathPart = explode('raml', $basePathPart[0]);
     $basePathPart = explode('wadl', $basePathPart[0]);
     $basePath = $basePathPart[0] . $apiName . '/';
     $objects = Objects::findAll(['api' => $id]);
     $swaggerJSON = new BuildSwaggerAnnotationsOnly();
     $swaggerJSON->BuildJSON();
     foreach ($objects as $object) {
         $object->methods = explode(',', $object->methods);
         // If this Resource has Methods
         if ($object->methods !== ['']) {
             $swaggerJSON->BuildResource($api->version, '1.2', $basePath, $object->name);
             foreach ($object->methods as $methodName) {
                 // $methodParts[method_name, path]
                 $tempMethodParts = explode(' ', $methodName);
                 foreach ($tempMethodParts as $key => $methodPart) {
                     if ($key === 0) {
                         $methodParts[$key] = $methodPart;
                         $methodParts[1] = '';
                     } else {
                         $methodParts[1] .= $methodPart;
                     }
                 }
                 $upper_method = strtoupper($methodParts[0]);
                 // $pathParts = [object, ({id}, connection)]
                 $pathParts = explode('/', $methodParts[1]);
                 $numOfPathParts = count($pathParts);
                 $swaggerJSON->BuildAPI($methodParts[1], NULL);
                 $summary = '';
                 $nickname = '';
                 $returnType = '';
                 switch ($upper_method) {
                     case 'GET':
                         switch ($numOfPathParts) {
                             case 1:
                                 $summary = 'Retrieve a list of ' . $pathParts[0];
                                 $nickname = 'Get_all_' . $pathParts[0];
                                 $returnType = 'list_' . $pathParts[0];
                                 break;
                             case 2:
                                 $summary = 'Retrieve one ' . $pathParts[0];
                                 $nickname = 'Get_one_' . $pathParts[0];
                                 $returnType = $pathParts[0];
                                 break;
                             case 3:
                                 $summary = 'Retrieve a list of ' . $pathParts[0] . ' ' . $pathParts[2];
                                 $nickname = 'Get_all_' . $pathParts[2];
                                 $returnType = 'list_' . $pathParts[2];
                         }
                         break;
                     case 'POST':
                         switch ($numOfPathParts) {
                             case 1:
                                 $summary = 'Create a new ' . $pathParts[0] . ' object';
                                 $nickname = 'Post_one_' . $pathParts[0];
                                 $returnType = $pathParts[0];
                                 break;
                             case 3:
                                 $summary = 'Create a new ' . $pathParts[2] . 'as a cconection of ' . $pathParts[0];
                                 $nickname = 'Post_one_' . $pathParts[2];
                                 $returnType = $pathParts[2] . '_post';
                         }
                         break;
                     case 'PUT':
                         switch ($numOfPathParts) {
                             case 2:
                                 $summary = 'Change a particular ' . $pathParts[0];
                                 $nickname = 'Put_' . $pathParts[0];
                                 $returnType = $pathParts[0];
                         }
                         break;
                     case 'DELETE':
                         switch ($numOfPathParts) {
                             case 1:
                                 $summary = 'Delete all ' . $pathParts[0];
                                 $nickname = 'Delete_all_' . $pathParts[0];
                                 $returnType = 'list_' . $pathParts[0];
                                 break;
                             case 2:
                                 $summary = 'Delete one ' . $pathParts[0];
                                 $nickname = 'Delete_one_' . $pathParts[0];
                                 $returnType = 'boolean';
                                 break;
                             case 3:
                                 $summary = 'Delete all ' . $pathParts[2] . ' connections of ' . $pathParts[0];
                                 $nickname = 'Delete_all_' . $pathParts[0];
                                 $returnType = 'boolean';
                         }
                         break;
                 }
                 $swaggerJSON->BuildOperation($upper_method, $summary, '', $returnType, $nickname);
                 if ($numOfPathParts > 1) {
                     $swaggerJSON->BuildParameter('id', 'Primary key of resource', true, 'integer', 'body');
                 }
                 if ($upper_method === 'POST' or $upper_method === 'PUT') {
                     $swaggerJSON->BuildParameter($pathParts[0], 'Model of resource', true, $pathParts[0] . '_post_put', 'query');
                 }
                 $swaggerJSON->CloseOperation();
                 $swaggerJSON->CloseAPI();
             }
             $swaggerJSON->CloseResource();
             // ALL THE DIFFERENT MODEL TYPES THAT NEED TO BE IMPLEMENTED
             // Meta
             // $pathParts[0] + Meta
             // $pathParts[0] . '_post_put'
             // $pathParts[2] . '_post'
             // 'list_' . $pathParts[0]
             // 'list_' . $pathParts[2]
             // THE MODELS FOR THE CONNECTIONS HAVE TO BE BUILT WHEN THAT PARTICULAR OBJECT COMES IN
             $swaggerJSON->BuildModel('Meta');
             $swaggerJSON->BuildProperty('previous', 'Uri of the previous page relative to the current page settings.', 'string');
             $swaggerJSON->BuildProperty('next', 'Uri of the next page relative to the current page settings.', 'string');
             $swaggerJSON->BuildProperty('total_count', 'Total items count for all the collection.', 'integer');
             $swaggerJSON->BuildProperty('offset', 'Specify the offset to start displaying element on a page.', 'integer');
             $swaggerJSON->BuildProperty('limit', 'Specify the number of element to display per page.', 'integer');
             $swaggerJSON->CloseModel();
             $properties = Properties::findAll(['object' => $object->id]);
             // $pathParts[0] + Meta
             $swaggerJSON->BuildModel($object->name);
             foreach ($properties as $property) {
                 if ($property->type === 'byte') {
                     $swaggerJSON->BuildProperty($property->name, $property->description, 'string', '', 'byte');
                 } else {
                     if ($property->type === 'date') {
                         $swaggerJSON->BuildProperty($property->name, $property->description, 'string', '', 'date');
                     } else {
                         if ($property->type === 'dateTime') {
                             $swaggerJSON->BuildProperty($property->name, $property->description, 'string', '', 'date-format');
                         } else {
                             if ($property->type === 'long') {
                                 $swaggerJSON->BuildProperty($property->name, $property->description, 'integer', '', 'int64');
                             } else {
                                 switch ($property->type) {
                                     case 'Integer':
                                     case 'String':
                                         $property->type = strtolower($property->type);
                                 }
                                 $swaggerJSON->BuildProperty($property->name, $property->description, $property->type);
                             }
                         }
                     }
                 }
             }
             $swaggerJSON->BuildProperty('meta', '', 'Meta');
             $swaggerJSON->CloseModel();
             // $pathParts[0] . '_post_put'
             $swaggerJSON->BuildModel($object->name . '_post_put');
             foreach ($properties as $property) {
                 if ($property->name !== 'id') {
                     if ($property->type === 'byte') {
                         $swaggerJSON->BuildProperty($property->name, $property->description, 'string', '', 'byte');
                     } else {
                         if ($property->type === 'date') {
                             $swaggerJSON->BuildProperty($property->name, $property->description, 'string', '', 'date');
                         } else {
                             if ($property->type === 'dateTime') {
                                 $swaggerJSON->BuildProperty($property->name, $property->description, 'string', '', 'date-format');
                             } else {
                                 if ($property->type === 'long') {
                                     $swaggerJSON->BuildProperty($property->name, $property->description, 'integer', '', 'int64');
                                 } else {
                                     switch ($property->type) {
                                         case 'Integer':
                                         case 'String':
                                             $property->type = strtolower($property->type);
                                     }
                                     $swaggerJSON->BuildProperty($property->name, $property->description, $property->type);
                                 }
                             }
                         }
                     }
                 }
             }
             $swaggerJSON->CloseModel();
             // 'list_' . $pathParts[0]
             $swaggerJSON->BuildModel('Objects_' . $object->name);
             $swaggerJSON->BuildProperty($object->name, '', 'array', $object->name);
             $swaggerJSON->CloseModel();
             $swaggerJSON->BuildModel('list_' . $object->name);
             $swaggerJSON->BuildProperty('meta', '', 'Meta');
             $swaggerJSON->BuildProperty('objects', '', 'Objects_' . $object->name);
             $swaggerJSON->CloseModel();
         }
     }
     $swaggerJSON->CloseJSON();
     $file = new FileManipulation();
     $file->setFilename(ucfirst($apiName) . '/' . $apiName . '.php');
     $file->makeDirectory(ucfirst($apiName) . '/');
     $file->write_file($swaggerJSON->getSwaggerJSON());
     // Actually Publish the API
     $_file = Yii::getAlias('@apisDirectory') . '/' . ucfirst($apiName);
     $swagger = new Swagger($_file);
     $basePathPart = explode('/apis/', $basePathPart[0]);
     $writeFiles = new FileManipulation();
     $writeFiles->setFilename(ucfirst($apiName) . '/api-docs.json');
     $writeFiles->write_file($swagger->getResourceList(array('output' => 'json', 'basePath' => $basePathPart[0] . '/api-docs/' . ucfirst($apiName))));
     foreach ($swagger->registry as $api_name => $api_resource) {
         $writeFiles->setFilename(ucfirst($apiName) . '/' . $api_name);
         $writeFiles->write_file($swagger->getResource($api_name, array('output' => 'json')));
     }
     return $apiName;
 }
コード例 #10
0
ファイル: _form.php プロジェクト: openi-ict/api-builder
use yii\helpers\Html;
use yii\bootstrap\ActiveForm;
/* @var $this yii\web\View */
/* @var $model app\models\Properties */
/* @var $form yii\widgets\ActiveForm */
/* @var $propertyDropdownList yii\helpers\ArrayHelper  Has all the available datatypes (string, integer, etc.) and the public objects but itself to make foreign keys.*/
// Find all the IDs of the Objects that are contained in this API so that we can populate the DropdownList below.
$objectsOfAPI = $model->object0->api0->objects;
$objectsIDs = [];
foreach ($objectsOfAPI as $object) {
    // Exclude our Object as it can't be FK to itself.
    if ($object->id != $model->object) {
        $objectsIDs[] = $object->id;
    }
}
$propertyDropdownList = ArrayHelper::map(Objects::find()->where(['and', ['in', 'id', $objectsIDs]])->all(), 'name', 'name');
$propertyDropdownList = ArrayHelper::merge(['integer' => 'integer', 'long' => 'long', 'float' => 'float', 'double' => 'double', 'string' => 'string', 'byte' => 'byte', 'boolean' => 'boolean', 'date' => 'date', 'dateTime' => 'dateTime', '--------' => '--------'], $propertyDropdownList);
?>

<div class="properties-form">

    <?php 
$form = ActiveForm::begin();
?>

    <?php 
echo $form->field($model, 'name')->textInput(['maxlength' => 255, 'placeholder' => 'Property Name']);
?>

    <?php 
echo $form->field($model, 'description')->textInput(['maxlength' => 255, 'placeholder' => 'Property Description']);
コード例 #11
0
ファイル: Properties.php プロジェクト: openi-ict/api-builder
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getObject0()
 {
     return $this->hasOne(Objects::className(), ['id' => 'object']);
 }
コード例 #12
0
 /**
  * Build a new Object
  *
  * @param string $titleFromKey
  * @param object $value
  *
  * @return boolean
  */
 public function BuildObject($titleFromKey, $value)
 {
     $object = new Objects();
     $object->name = property_exists($value, 'title') ? $value->title : $titleFromKey;
     $object->description = property_exists($value, 'description') ? $value->description : '';
     $object->api = $this->api->id;
     $object->privacy = $this->api->privacy;
     if ($object->save()) {
         if (property_exists($value, 'properties')) {
             return $this->BuildProperties($value->properties, $object->id);
         }
         return true;
     } else {
         return false;
     }
 }
コード例 #13
0
ファイル: Objects.php プロジェクト: ra-duga/basicls
 /**
  * @inheritdoc
  */
 public static function getList()
 {
     return Objects::find()->All();
 }
コード例 #14
0
ファイル: _form.php プロジェクト: ra-duga/basicls
use yii\helpers\ArrayHelper;
use app\models\Objects;
use app\models\Agents;
/* @var $this yii\web\View */
/* @var $model app\models\Comission */
/* @var $form yii\widgets\ActiveForm */
?>

<div class="comission-form">

    <?php 
$form = ActiveForm::begin();
?>

    <?php 
echo $form->field($model, 'objects_id')->dropDownList(ArrayHelper::map(Objects::getList(), 'id', 'name'));
?>
    <?php 
echo $form->field($model, 'agents_id')->dropDownList(ArrayHelper::map(Agents::getList(), 'id', 'name'));
?>
    <?php 
echo $form->field($model, 'value')->textInput();
?>

    <?php 
echo $form->field($model, 'is_episode')->checkBox(['checked' => 1]);
?>


    <?php 
echo $form->field($model, 'start_epizode')->textInput();
コード例 #15
0
ファイル: index.php プロジェクト: kosjka/device
use app\models\States;
use app\models\Types;
use yii\helpers\ArrayHelper;
/* @var $this yii\web\View */
/* @var $searchModel app\models\DevicesSearch */
/* @var $dataProvider yii\data\ActiveDataProvider */
$this->title = 'Devices';
$this->params['breadcrumbs'][] = $this->title;
?>
<div class="devices-index">

    <h1><?php 
echo Html::encode($this->title);
?>
</h1>
    <?php 
// echo $this->render('_search', ['model' => $searchModel]);
?>

    <p>
        <?php 
echo Html::a('Create Devices', ['create'], ['class' => 'btn btn-success']);
?>
    </p>

    <?php 
echo GridView::widget(['dataProvider' => $dataProvider, 'filterModel' => $searchModel, 'columns' => [['class' => 'yii\\grid\\SerialColumn'], 'name', 'description:ntext', ['attribute' => 'type', 'label' => 'Тип', 'value' => 'types.name', 'filter' => ArrayHelper::map(Types::find()->all(), 'id', 'name')], ['attribute' => 'state', 'label' => 'state', 'value' => 'states.name', 'filter' => ArrayHelper::map(States::find()->all(), 'id', 'name')], ['attribute' => 'idobject', 'label' => 'Обьект', 'value' => 'objects.name', 'filter' => ArrayHelper::map(Objects::find()->all(), 'id', 'name')], ['class' => 'yii\\grid\\ActionColumn']]]);
?>

</div>
コード例 #16
0
ファイル: _formUse.php プロジェクト: openi-ict/api-builder
<?php

use app\models\Objects;
use yii\helpers\ArrayHelper;
use yii\helpers\Html;
use yii\bootstrap\ActiveForm;
/* @var $this yii\web\View */
/* @var $model app\models\Objects */
/* @var $form yii\widgets\ActiveForm */
/* @var $objectDropdownList yii\helpers\ArrayHelper */
$query = Objects::find();
$query->where(['privacy' => 'public']);
$query->where(['not in', 'name', ['Addressmodel', 'Timemodel', 'Durationmodel', 'Frommodel', 'Locationmodel', 'Sizemodel', 'Tagsmodel', 'Applicationmodel', 'Basefilemodel', 'Organizationmodel', 'Personmodel', 'Placemodel', 'Productmodel', 'Servicemodel', 'Cartproductlist', 'Cartservicelist', 'Cart_target_id', 'Orderproductlist', 'Orderservicelist', 'Registeredapplication_user']]);
$objectDropdownList = ArrayHelper::map($query->all(), 'id', 'name');
?>

<div class="objects-form">

	<?php 
$form = ActiveForm::begin();
?>

	<?php 
echo $form->field($model, 'name')->textInput(['maxlength' => 255, 'placeholder' => 'Must be a unique name']);
?>

	<?php 
echo $form->field($model, 'inherited')->dropDownList($objectDropdownList, ['prompt' => '']);
?>

	<div class="form-group">