Exemple #1
0
 public function buildForm()
 {
     $ArticleCategories = ArticleCategory::all(['id', 'name'])->sortBy('name')->pluck('name', 'id')->toArray();
     $ArticleMasters = Article::all(['id', 'title'])->sortBy(['master', 'title'])->pluck('title', 'id')->toArray();
     $this->add('title', 'text', Helper::buildFormAddWithIcon('Provide a title', 'title', 'fa fa-external-link', 'success', 'required|min:4|max:80'));
     $this->add('description', 'textarea', Helper::buildFormAddWithIcon('Add a description (needed for Facebook, twitter etc.) Min 20, max 500 characters', 'description', 'fa fa-facebook', 'success', 'required|min:20|max:500', '', 'vendor.laravel-form-builder.textarea-icon'));
     $this->add('url', 'url', Helper::buildFormAddWithIcon('Is the article linked? Here you can provide a link (optional)', 'url', 'fa fa-at', 'success', '', 'http://'));
     $this->add('picture_url', 'url', Helper::buildFormAddWithIcon('This is a picture URL needed for facebook and other API\'s (if you don\'t have the URL yet, upload and update)', 'url', 'fa fa-file-picture-o', 'success'));
     $this->add('body', 'textarea', Helper::buildFormAddWithIcon('Write your article:', 'body', 'fa fa-pencil-square-o', 'success', 'required|min:10', '', 'vendor.laravel-form-builder.textarea-icon'));
     $this->add('categories', 'select', array_merge(['choices' => $ArticleCategories, 'selected' => function () {
         return $this->model->categories->pluck('id')->toArray();
     }], Helper::buildFormAddWithIcon('Choose the categories of this article (required)', 'categories[]', '', 'success', '', '', 'vendor.laravel-form-builder.select-icon', false, true)));
     $this->add('published_at', 'date', Helper::buildFormAddWithIcon('Published at', 'published_at', 'fa fa-calendar', 'success', 'date_format:Y-m-d', date('Y-m-d'), '', true));
     $this->add('can_comment', 'checkbox', ['label' => 'Users can leave a comment']);
     $this->add('auto_comments', 'checkbox', ['label' => 'Comments are automatically approved']);
     $this->add('strip_tags', 'checkbox', ['label' => 'Check this if copy/pasted from a website']);
     $this->add('master', 'select', ['choices' => $ArticleMasters, 'empty_value' => '--- Select master article', 'property' => 'title', 'label' => 'If this article is linked to another article, make your choice here:']);
 }
 /**
  * @return \Illuminate\Http\JsonResponse
  */
 public function ajax_destroy()
 {
     Helper::allow('admin');
     $data = $this->request;
     $category = ArticleCategory::find($data['id']);
     if (count($category->articles) > 0) {
         return response()->json(['type' => 'error', 'message' => 'This category has children! Can\'t delete.']);
     }
     $category->delete();
     return response()->json(['type' => 'success', 'id' => $data['id']]);
 }