public function createGrid()
 {
     $ds = new Am_Query($this->getDi()->newsletterGuestTable);
     $g = new Am_Grid_Editable('_guest', ___("Newsletter Guest Subscribers"), $ds, $this->_request, $this->view);
     $g->setPermissionId('newsletter');
     $g->setForm(array($this, 'createForm'));
     $g->setFilter(new Am_Grid_Filter_Text(___('Filter by e-mail or name'), array('name_f' => 'LIKE', 'name_l' => 'LIKE', 'email' => 'LIKE')));
     $g->addGridField('name_f', ___('First Name'));
     $g->addGridField('name_l', ___('Last name'));
     $g->addGridField('email', ___('E-Mail'));
     $g->addGridField('subscriptions', ___('Subscriptions'))->setGetFunction(array($this, 'getGuestSubscriptions'));
     $g->setFormValueCallback('_s', array('RECORD', 'getLists'), array('RECORD', 'setLists'));
     return $g;
 }
示例#2
0
 public function createGrid()
 {
     $ds = new Am_Query($this->getDi()->productTable);
     $ds->addWhere('t.is_archived = ?', 0);
     $ds->addOrder('sort_order')->addOrder('title');
     $grid = new Am_Grid_Editable('_product', ___("Products"), $ds, $this->_request, $this->view);
     $grid->setRecordTitle(___('Product'));
     $grid->actionAdd(new Am_Grid_Action_Group_ProductEnable(false));
     $grid->actionAdd(new Am_Grid_Action_Group_ProductEnable(true));
     $grid->actionAdd(new Am_Grid_Action_Group_ProductAssignCategory(false));
     $grid->actionAdd(new Am_Grid_Action_Group_ProductAssignCategory(true));
     $grid->actionAdd(new Am_Grid_Action_Group_ChangeOrder())->setTitle(___('Change Order'));
     $grid->actionAdd(new Am_Grid_Action_Group_Archive(true));
     $grid->addField(new Am_Grid_Field('product_id', '#', true, '', null, '1%'));
     $grid->addField(new Am_Grid_Field('title', ___('Title'), true, '', null, '50%'))->setGetFunction(function ($r, $g, $f) {
         return strip_tags($r->{$f});
     });
     if ($this->getDi()->db->selectCell("SELECT COUNT(*) FROM ?_product_product_category")) {
         $grid->addField(new Am_Grid_Field('pgroup', ___('Product Categories'), false))->setRenderFunction(array($this, 'renderPGroup'));
     }
     $grid->addField(new Am_Grid_Field('terms', ___('Billing Terms'), false))->setRenderFunction(array($this, 'renderTerms'));
     if ($this->getDi()->plugins_tax->getEnabled()) {
         $grid->addField(new Am_Grid_Field('tax_group', ___('Tax')));
         $grid->actionAdd(new Am_Grid_Action_LiveCheckbox('tax_group'))->setValue(IProduct::ALL_TAX)->setEmptyValue(IProduct::NO_TAX);
     }
     $grid->actionGet('edit')->setTarget('_top');
     $grid->actionDelete('delete');
     $grid->actionAdd(new Am_Grid_Action_Archive('delete', 1));
     $grid->actionAdd(new Am_Grid_Action_LiveEdit('title'));
     $grid->actionAdd(new Am_Grid_Action_Sort_Product());
     $grid->setFormValueCallback('start_date', array('RECORD', 'getStartDate'), array('RECORD', 'setStartDate'));
     $grid->setFormValueCallback('require_other', array('RECORD', 'unserializeList'), array('RECORD', 'serializeList'));
     $grid->setFormValueCallback('prevent_if_other', array('RECORD', 'unserializeList'), array('RECORD', 'serializeList'));
     $grid->addCallback(Am_Grid_Editable::CB_AFTER_SAVE, array($this, 'afterSave'));
     $grid->addCallback(Am_Grid_Editable::CB_VALUES_TO_FORM, array($this, 'valuesToForm'));
     $grid->addCallback(Am_Grid_ReadOnly::CB_TR_ATTRIBS, array($this, 'getTrAttribs'));
     $grid->setForm(array($this, 'createForm'));
     $grid->setFilter(new Am_Grid_Filter_Product());
     $grid->setEventId('gridProduct');
     $grid->actionAdd(new Am_Grid_Action_Url('categories', ___('Edit Categories'), REL_ROOT_URL . '/admin-product-categories'))->setType(Am_Grid_Action_Abstract::NORECORD)->setTarget('_top')->setCssClass('link')->setPrivilegeId('edit');
     $grid->actionAdd(new Am_Grid_Action_Url('upgrades', ___('Manage Product Upgrade Paths'), REL_ROOT_URL . '/admin-products/upgrades'))->setType(Am_Grid_Action_Abstract::NORECORD)->setTarget('_top')->setCssClass('link')->setPrivilegeId('edit');
     $grid->actionAdd(new Am_Grid_Action_CopyProduct())->setTarget('_top');
     $ar_count = $this->getArchivedCount(1);
     if ($ar_count) {
         $grid->actionAdd(new Am_Grid_Action_Url('archived', ___("Archived products") . " ({$ar_count})", REL_ROOT_URL . '/admin-products/archived'))->setType(Am_Grid_Action_Abstract::NORECORD)->setTarget('_top')->setCssClass('link')->setPrivilegeId('browse');
     }
     return $grid;
 }
示例#3
0
 public function createGrid()
 {
     $ds = new Am_Query($this->getDi()->otoTable);
     $grid = new Am_Grid_Editable('_oto', ___('One Time Offer'), $ds, $this->_request, $this->view, $this->getDi());
     $grid->setPermissionId(Am_Plugin_Oto::ADMIN_PERM_ID);
     $grid->addField('comment', ___('Comment'));
     $grid->addField(new Am_Grid_Field_IsDisabled());
     $grid->setForm(array($this, 'createForm'));
     $grid->setFormValueCallback('conditions', array('RECORD', 'getConditions'), array('RECORD', 'setConditions'));
     $grid->setFormValueCallback('view', array('RECORD', 'getView'), array('RECORD', 'setView'));
     $grid->actionGet('edit')->setTarget('_top');
     $grid->addCallback(Am_Grid_Editable::CB_VALUES_TO_FORM, array($this, 'valuesToForm'));
     $grid->addCallback(Am_Grid_Editable::CB_VALUES_FROM_FORM, array($this, 'valuesFromForm'));
     $grid->actionAdd(new Am_Grid_Action_Url('preview', ___('Preview'), REL_ROOT_URL . '/admin-one-time-offer/preview?id=__ID__'))->setTarget('_blank');
     $grid->actionAdd(new Am_Grid_Action_CopyOto())->setTarget('_top');
     $grid->actionAdd(new Am_Grid_Action_Group_Callback('disable', ___('Disable'), array($this, 'disableOto')));
     $grid->actionAdd(new Am_Grid_Action_Group_Callback('enable', ___('Enable'), array($this, 'enableOto')));
     $grid->actionAdd(new Am_Grid_Action_Group_Delete());
     $grid->actionAdd(new Am_Grid_Action_LiveEdit('comment'));
     $grid->setRecordTitle(___('One Time Offer'));
     return $grid;
 }
 public function createGrid()
 {
     $ds = new Am_Query($this->getDi()->productTable);
     $ds->setOrderRaw("0+IFNULL(sort_order,0),title");
     $grid = new Am_Grid_Editable('_product', ___("Products"), $ds, $this->_request, $this->view);
     $grid->setRecordTitle(___('Product'));
     $grid->actionAdd(new Am_Grid_Action_Group_ProductAssignCategory(false));
     $grid->actionAdd(new Am_Grid_Action_Group_ProductAssignCategory(true));
     $grid->actionAdd(new Am_Grid_Action_Group_Delete());
     $grid->addGridField(new Am_Grid_Field('product_id', '#', true, '', null, '5%'));
     $grid->addGridField(new Am_Grid_Field('title', ___('Title'), true, '', null, '50%'))->setRenderFunction(array($this, 'renderTitle'));
     $grid->addGridField(new Am_Grid_Field('pgroup', ___('Product Categories'), false))->setRenderFunction(array($this, 'renderPGroup'));
     $grid->addGridField(new Am_Grid_Field('terms', ___('Default Billing Terms')))->setRenderFunction(array($this, 'renderTerms'));
     $grid->addGridField(new Am_Grid_Field('sort_order', ___('Sort Order')));
     $grid->actionGet('edit')->setTarget('_top');
     $grid->actionAdd(new Am_Grid_Action_LiveEdit('sort_order'));
     $grid->setFormValueCallback('start_date', array('RECORD', 'getStartDate'), array('RECORD', 'setStartDate'));
     $grid->setFormValueCallback('require_other', array('RECORD', 'unserializeList'), array('RECORD', 'serializeList'));
     $grid->setFormValueCallback('prevent_if_other', array('RECORD', 'unserializeList'), array('RECORD', 'serializeList'));
     $grid->addCallback(Am_Grid_Editable::CB_AFTER_SAVE, array($this, 'afterSave'));
     $grid->addCallback(Am_Grid_Editable::CB_VALUES_TO_FORM, array($this, 'valuesToForm'));
     //            ->setInputSize(3)->setGetFunction(array($this, 'getSortOrder'));
     ///    protected $liveEditFields = array('title', 'sort_order');
     $grid->setForm(array($this, 'createForm'));
     $grid->setFilter(new Am_Grid_Filter_Product());
     $grid->actionAdd(new Am_Grid_Action_Url('categories', ___('Edit Groups'), REL_ROOT_URL . '/admin-product-categories'))->setType(Am_Grid_Action_Abstract::NORECORD)->setTarget('_top');
     // product upgrades are hidden until fully implemented
     //        $grid->addCallback(Am_Grid_Editable::CB_RENDER_STATIC, array($this, 'renderProductStatic'));
     return $grid;
 }
 public function createGrid()
 {
     $ds = new Am_Query($this->getDi()->couponBatchTable);
     $ds->addField('COUNT(c.coupon_id) AS coupons_count');
     $ds->addField('SUM(c.used_count) AS used_count');
     $ds->leftJoin('?_coupon', 'c', 't.batch_id = c.batch_id');
     $ds->setOrder('batch_id', 'desc');
     $grid = new Am_Grid_Editable('_coupon', ___('Coupons Batches'), $ds, $this->_request, $this->view);
     $grid->setRecordTitle(array($this, 'getRecordTitle'));
     $grid->setEventId('gridCouponBatch');
     $grid->addField('batch_id', '#', true, '', null, '1%');
     $grid->addField(new Am_Grid_Field_Date('begin_date', ___('Begin Date')))->setFormatDate();
     $grid->addField(new Am_Grid_Field_Date('expire_date', ___('Expire Date')))->setFormatDate();
     $grid->addField(new Am_Grid_Field_IsDisabled());
     $grid->addField('is_recurring', ___('Recurring'), true, 'center', null, '1%');
     $grid->addField('discount', ___('Discount'), true, '', array($this, 'renderDiscount'), '5%');
     $grid->addField('product_ids', ___('Products'), false, '', array($this, 'renderProducts'), '25%');
     $grid->addField('comment', ___('Comment'), true, '', null, '15%');
     $grid->addField('used_count', ___('Used'), true, 'center', array($this, 'renderUsedCount'), '5%');
     $grid->addField('coupons_count', ___('Coupons'), true, 'center', null, '5%')->setRenderFunction(array($this, 'renderCoupons'));
     $grid->setForm(array($this, 'createForm'));
     $grid->actionGet('edit')->setTarget('_top');
     $grid->actionAdd(new Am_Grid_Action_Url('view', ___('View Coupons'), 'javascript:amOpenCoupons(__ID__)'))->setAttribute("class", "coupons-link");
     $grid->actionAdd(new Am_Grid_Action_Url('export', ___('Export'), REL_ROOT_URL . '/admin-coupons/export/id/__ID__'))->setTarget('_top');
     $grid->actionAdd(new Am_Grid_Action_LiveEdit('comment'));
     $grid->actionAdd(new Am_Grid_Action_LiveCheckbox('is_recurring'));
     $grid->setFormValueCallback('product_ids', array('RECORD', 'unserializeList'), array('RECORD', 'serializeList'));
     $grid->setFormValueCallback('require_product', array('RECORD', 'unserializeList'), array('RECORD', 'serializeList'));
     $grid->setFormValueCallback('prevent_if_product', array('RECORD', 'unserializeList'), array('RECORD', 'serializeList'));
     $grid->addCallback(Am_Grid_Editable::CB_BEFORE_SAVE, array($this, 'beforeSave'));
     $grid->addCallback(Am_Grid_Editable::CB_AFTER_INSERT, array($this, 'afterInsert'));
     $grid->setFilter(new Am_Grid_Filter_Coupon());
     return $grid;
 }
 public function createGrid()
 {
     $ds = new Am_Query($this->getDi()->couponBatchTable);
     $ds->addField('COUNT(c.coupon_id) AS coupons_count');
     $ds->leftJoin('?_coupon', 'c', 't.batch_id = c.batch_id');
     $ds->setOrder('batch_id', 'desc');
     $grid = new Am_Grid_Editable('_coupon', ___("Coupons Batches"), $ds, $this->_request, $this->view);
     $grid->addField('batch_id', ___('Batch ID'), true, '', null, '5%');
     $grid->addField(new Am_Grid_Field_Date('begin_date', ___('Begin Date')))->setFormatDate();
     $grid->addField(new Am_Grid_Field_Date('expire_date', ___('Expire Date')))->setFormatDate();
     $grid->addField('id_disabled', ___('Disabled?'), false, '', array($this, 'renderDisabled'), '10%');
     $grid->addField('is_recurring', ___('Recurring'), true, '', null, '5%');
     $grid->addField('discount', ___('Discount'), true, '', array($this, 'renderDiscount'), '5%');
     $grid->addField('product_ids', ___('Products'), false, '', array($this, 'renderProducts'), '25%');
     $grid->addField('comment', ___('Comment'), true, '', null, '15%');
     $grid->addField('coupons_count', ___('Coupons Count'), true, '', null, '5%');
     $grid->setForm(array($this, 'createForm'));
     $grid->actionGet('edit')->setTarget('_top');
     $grid->actionAdd(new Am_Grid_Action_Url("view", ___("View Coupons"), "javascript:amOpenCoupons(__ID__)"))->setAttribute("class", "coupons-link");
     $grid->actionAdd(new Am_Grid_Action_LiveEdit('comment'));
     $grid->setFormValueCallback('product_ids', array('RECORD', 'unserializeIds'), array('RECORD', 'serializeIds'));
     $grid->addCallback(Am_Grid_Editable::CB_BEFORE_SAVE, array($this, 'beforeSave'));
     $grid->addCallback(Am_Grid_Editable::CB_AFTER_INSERT, array($this, 'afterInsert'));
     $grid->setFilter(new Am_Grid_Filter_Coupon());
     return $grid;
 }