예제 #1
0
파일: Cat.php 프로젝트: bereznev/luya
 public function eventBeforeDelete($event)
 {
     $items = Article::find()->where(['cat_id' => $this->id])->all();
     if (count($items) > 0) {
         $this->addError('id', Module::t('cat_delete_error'));
         $event->isValid = false;
         return;
     }
     $event->isValid = true;
 }
예제 #2
0
파일: Tag.php 프로젝트: bereznev/luya
 public function rules()
 {
     return [['title', 'required', 'message' => Module::t('tag_title_create_error')]];
 }
예제 #3
0
파일: Module.php 프로젝트: bereznev/luya
 public function getMenu()
 {
     return $this->node(Module::t('news'), 'local_library')->group(Module::t('news_administrate'))->itemApi(Module::t('article'), 'newsadmin-article-index', 'edit', 'api-news-article')->itemApi(Module::t('cat'), 'newsadmin-cat-index', 'bookmark_border', 'api-news-cat')->itemApi(Module::t('tag'), 'newsadmin-tag-index', 'label_outline', 'api-news-tag')->menu();
 }
예제 #4
0
파일: Article.php 프로젝트: bereznev/luya
 public function ngRestConfig($config)
 {
     $this->ngRestConfigDefine($config, 'list', ['title', 'timestamp_create', 'image_id']);
     $config->list->field('cat_id', Module::t('article_cat_id'))->selectClass('\\newsadmin\\models\\Cat', 'id', 'title');
     $this->ngRestConfigDefine($config, 'update', ['title', 'text', 'timestamp_create', 'timestamp_display_from', 'is_display_limit', 'timestamp_display_until', 'image_id', 'image_list', 'file_list']);
     $config->update->field('cat_id', Module::t('article_cat_id'))->selectClass('\\newsadmin\\models\\Cat', 'id', 'title');
     $config->update->extraField('tags', Module::t('article_tag'))->checkboxRelation(\newsadmin\models\Tag::className(), 'news_article_tag', 'article_id', 'tag_id', ['title']);
     $config->create->copyFrom('update', ['timestamp_display_until']);
     $config->delete = true;
     return $config;
 }