Пример #1
0
 /**
  * @return Ajde_Crud_Options_Edit_Layout_Rows_Row_Columns_Column
  */
 public function up($obj = false)
 {
     $inter = parent::up($this);
     return parent::up($inter);
 }
Пример #2
0
 public static function getNodeOptions()
 {
     // show only
     $showOnlyWhenFields = ['title', 'subtitle', 'content', 'summary', 'media', 'tag', 'additional_media', 'children', 'published', 'related_nodes'];
     $showOnlyWhen = [];
     $nodetypes = new NodetypeCollection();
     foreach ($nodetypes as $nodetype) {
         foreach ($showOnlyWhenFields as $field) {
             if (!isset($showOnlyWhen[$field])) {
                 $showOnlyWhen[$field] = [];
             }
             if ($nodetype->get($field) == 1) {
                 $showOnlyWhen[$field][] = $nodetype->getPK();
             }
         }
     }
     $options = new Ajde_Crud_Options();
     $options->selectFields()->selectField('slug')->setHelp('Changing the slug might impact SEO scores and break existing internal links')->up()->selectField('nodetype')->setOrderBy('sort')->setIsRequired(false)->up()->selectField('title')->addShowOnlyWhen('nodetype', $showOnlyWhen['title'])->setFunction('displayTreeName')->setEmphasis(true)->up()->selectField('subtitle')->addShowOnlyWhen('nodetype', $showOnlyWhen['subtitle'])->up()->selectField('content')->addShowOnlyWhen('nodetype', $showOnlyWhen['content'])->up()->selectField('summary')->addShowOnlyWhen('nodetype', $showOnlyWhen['summary'])->setDisableRichText(true)->up()->selectField('media')->addShowOnlyWhen('nodetype', $showOnlyWhen['media'])->setShowLabel(false)->setUsePopupSelector(true)->setListRoute('admin/media:view.crud')->setUseImage(true)->addTableFileField('thumbnail', UPLOAD_DIR)->setThumbDim(300, 300)->up()->selectField('tag')->addShowOnlyWhen('nodetype', $showOnlyWhen['tag'])->setType('multiple')->setEditRoute('admin/tag:view.crud')->setThumbDim(30, 30)->setShowLabel(false)->setCrossReferenceTable('node_tag')->setSimpleSelector(true)->up()->selectField('parent')->addShowOnlyWhen('nodetype', $showOnlyWhen['children'])->setType('fk')->setModelName('node')->setShowLabel(true)->setUsePopupSelector(true)->setListRouteFunction('listRouteParent')->up()->selectField('published')->addShowOnlyWhen('nodetype', $showOnlyWhen['published'])->setFunction('displayPublished')->setType('boolean')->up()->selectField('published_start')->addShowOnlyWhen('nodetype', $showOnlyWhen['published'])->up()->selectField('published_end')->addShowOnlyWhen('nodetype', $showOnlyWhen['published'])->up()->selectField('sort')->setType('sort')->up()->selectField('additional_media')->addShowOnlyWhen('nodetype', $showOnlyWhen['additional_media'])->setType('multiple')->setEditRoute('admin/media:view.crud')->addTableFileField('thumbnail', UPLOAD_DIR)->setHideMainColumn(true)->setUsePopupSelector(true)->setListRoute('admin/media:view.crud')->setModelName('media')->setThumbDim(100, 100)->addSortField('sort')->setShowLabel(false)->setCrossReferenceTable('node_media')->up()->selectField('children')->addShowOnlyWhen('nodetype', $showOnlyWhen['children'])->setModelName('node')->setParent('parent')->setHideInIframe(true)->setType('multiple')->setEditRouteFunction('editRouteChild')->addTableField('nodetype')->addSortField('sort')->setShowLabel(false)->up()->selectField('related_nodes')->addShowOnlyWhen('nodetype', $showOnlyWhen['related_nodes'])->setType('multiple')->setEditRoute('admin/node:view.crud')->setUsePopupSelector(true)->setListRoute('admin/node:view.crud')->setModelName('node')->setSimpleSelector(true)->addSortField('sort')->setShowLabel(false)->setChildField('related')->setCrossReferenceTable('node_related')->up()->selectField('added')->setIsReadonly(true)->up()->selectField('updated')->setFunction('displayAgo')->setIsReadonly(true)->up()->selectField('lang')->setFunction('displayLang')->setType('i18n')->setCloneFields(['nodetype', 'media'])->up()->up()->selectList()->selectButtons()->setNew(true)->setEdit(true)->setView(true)->setViewUrlFunction('getSlug')->addItemButton('child', 'addChildButton', 'btn-success add-child', false, true)->up()->setMain('title')->setShow(['title', 'lang', 'updated', 'published', 'sort'])->setThumbDim(50, 50)->setSearch(true)->selectView()->setMainFilter('nodetype')->setMainFilterGrouper('category')->setOrderBy('sort')->up()->up()->selectEdit()->selectLayout()->addRow()->addColumn()->setSpan(8)->addBlock()->setShow(['title', 'subtitle', 'content', 'summary'])->up()->addBlock()->setClass('meta')->up()->addBlock()->setClass('')->setTitle('Child nodes')->setShow(['children'])->up()->up()->addColumn()->setSpan(4)->addBlock()->setTitle('Featured image')->setClass('sidebar')->setShow(['media'])->up()->addBlock()->setTitle('Tags')->setClass('sidebar')->setShow(['tag'])->up()->addBlock()->setClass('sidebar')->setTitle('Additional media')->setShow(['additional_media'])->up()->addBlock()->setClass('sidebar')->setTitle('Related nodes')->setShow(['related_nodes'])->up()->addBlock()->setTitle('Node status')->setClass('well left')->setShow(['slug', 'published', 'published_start', 'published_end'])->up()->addBlock()->setTitle('Metadata')->setClass('well left')->setShow(['added', 'updated', 'parent', 'user', 'lang'])->finished();
     /* @var $decorator Ajde_Crud_Cms_Meta_Decorator */
     $decorator = new Ajde_Crud_Cms_Meta_Decorator();
     $decorator->setActiveBlock(1);
     $decorator->setOptions($options);
     $decorator->decorateInputs('nodetype_meta', 'nodetype', 'sort', 'nodetype', [new Ajde_Filter_Where('target', Ajde_Filter::FILTER_EQUALS, 'node')]);
     if (Ajde::app()->getRequest()->has('new')) {
         // set owner
         $user = UserModel::getLoggedIn();
         $options->selectFields()->selectField('user')->setValue($user->getPK())->finished();
         $options->selectFields()->selectField('slug')->setIsReadonly(true)->finished();
         if (!UserModel::isAdmin()) {
             $currentUser = UserModel::getLoggedIn();
             $subquery = '(SELECT user_node.user FROM user_node WHERE user_node.node IN (SELECT user_node.node FROM user_node WHERE user_node.user = '******' GROUP BY user_node.node))';
             $userFilters = [new Ajde_Filter_Where('user.id', Ajde_Filter::FILTER_IN, new Ajde_Db_Function($subquery))];
             $options->selectFields()->selectField('user')->setAdvancedFilter($userFilters);
         }
     }
     if (Ajde::app()->getRequest()->has('edit')) {
         if (!UserModel::isAdmin()) {
             $options->selectFields()->selectField('user')->setIsReadonly(true)->setUsePopupSelector(true)->finished();
         }
     }
     return $options;
 }
Пример #3
0
 public static function getTransactionOptions()
 {
     $options = new Ajde_Crud_Options();
     $options->selectFields()->selectField('id')->setLabel('Order ID')->setFunction('displayOrderId')->up()->selectField('name')->setEmphasis(true)->up()->selectField('added')->setIsReadonly(true)->up()->selectField('user')->setIsReadonly(true)->up()->selectField('ip')->setIsReadonly(true)->up()->selectField('payment_provider')->setIsReadonly(true)->up()->selectField('payment_details')->setIsReadonly(true)->up()->selectField('payment_providerid')->setIsReadonly(true)->up()->selectField('shipment_description')->setIsReadonly(true)->up()->selectField('secret')->setIsReadonly(true)->up()->selectField('secret_archive')->setDisableRichText(true)->setIsReadonly(true)->up()->selectField('extra')->setDisableRichText(true)->setLength(255)->up()->selectField('comment')->setDisableRichText(true)->setIsReadonly(true)->setLength(0)->up()->selectField('payment_details')->setDisableRichText(true)->up()->selectField('payment_providerid')->setDisableRichText(true)->setLength(255)->up()->selectField('shipment_trackingcode')->setDisableRichText(true)->setLength(255)->up()->selectField('payment_amount')->setIsReadonly(true)->setFunction('getFormattedTotal')->setLabel('Payment total')->up()->selectField('shipment_cost')->setIsReadonly(true)->setLabel('Shipment costs incl. VAT')->up()->selectField('shipment_itemstotal')->setIsReadonly(true)->setLabel('Total incl. VAT')->up()->selectField('shipment_address')->setDisableRichText(true)->setLength(0)->up()->selectField('shipment_itemsqty')->setIsReadonly(true)->up()->selectField('shipment_itemsvatamount')->setIsReadonly(true)->up()->up()->selectList()->selectButtons()->setEdit(true)->setNew(false)->setView(false)->addToolbarButton('paid', 'mark as paid', 'paid itemAction btn-success')->addItemButton('link', '<i class="icon-share-alt icon-white"></i>', 'link btn-primary')->up()->setMain('name')->setShow(['id', 'name', 'comment', 'payment_provider', 'payment_amount', 'payment_status', 'added'])->selectView()->setOrderBy('id')->setOrderDir('DESC')->up()->up()->selectEdit()->selectLayout()->addRow()->addColumn()->setSpan(8)->addBlock()->setTitle('Order')->setShow(['name', 'added', 'comment', 'shipment_description'])->up()->addBlock()->setTitle('User')->setShow(['email', 'user', 'ip'])->up()->addBlock()->setTitle('Payment')->setShow(['payment_provider', 'payment_status', 'payment_details', 'payment_providerid'])->up()->addBlock()->setTitle('Shipment')->setShow(['shipment_address', 'shipment_zipcode', 'shipment_city', 'shipment_region', 'shipment_country', 'shipment_status', 'shipment_method', 'shipment_trackingcode'])->up()->up()->addColumn()->setSpan(4)->addBlock()->setTitle('Summary')->setShow(['shipment_itemsqty', 'shipment_itemsvatamount', 'shipment_itemstotal', 'shipment_cost', 'payment_amount'])->up()->addBlock()->setTitle('Metadata')->setClass('sidebar well')->setShow(['extra', 'secret', 'secret_archive', 'modified'])->up()->finished();
     return $options;
 }
Пример #4
0
 /**
  * @return Ajde_Crud_Options_Edit
  */
 public function up($obj = false)
 {
     return parent::up($this);
 }
Пример #5
0
 public function getMainFilterGrouper()
 {
     return parent::getMainFilterGrouper();
 }