public function createGrid() { $grid = new Am_Grid_Editable('_curr', ___('Currency Exchange Rates'), new Am_Query($this->getDi()->currencyExchangeTable), $this->_request, $this->view); $grid->setFilter(new Am_Grid_Filter_CurrencyExchange()); $grid->addField('currency', ___('Currency')); $grid->addField(new Am_Grid_Field_Date('date', ___('Date')))->setFormatDate(); $grid->addField('rate', ___('Exchange Rate')); $grid->setForm(array($this, 'createForm')); return $grid; }
function createGrid($id, $title) { $ds = new Am_Query($this->getDi()->banTable); $ds->addWhere("`type` = ?", $id); $g = new Am_Grid_Editable('_' . $id, ___("Disallow new Signups by %s", $title), $ds, $this->_request, $this->view); $g->setForm(array($this, 'createForm')); $g->addGridField("value", ___("Locked Value")); $g->addGridField("comment", ___("Comment")); $g->addCallback(Am_Grid_ReadOnly::CB_RENDER_TABLE, array($this, 'renderConfig')); return $g; }
function createGrid($id, $title) { $ds = new Am_Query($this->getDi()->banTable); $ds->addWhere("`type` = ?", $id); $g = new Am_Grid_Editable('_' . $id, ___('Disallow new Signups by %s', $title), $ds, $this->_request, $this->view); $g->setPermissionId(Am_Auth_Admin::PERM_BAN); $g->setForm(array($this, 'createForm')); $g->addField('value', ___('Locked Value')); $g->addField('comment', ___('Comment')); $g->addCallback(Am_Grid_ReadOnly::CB_RENDER_TABLE, array($this, 'renderConfig')); return $g; }
public function createGrid() { $ds = new Am_Query($this->getDi()->emailTemplateLayoutTable); $grid = new Am_Grid_Editable('_etl', ___('Email Template Layouts'), $ds, $this->_request, $this->view); $grid->addField(new Am_Grid_Field('name', ___('Title')))->setRenderFunction(array($this, 'renderTitle')); $grid->setForm(array($this, 'createForm')); $grid->setRecordTitle(___('Layout')); $grid->actionGet('delete')->setIsAvailableCallback(function ($r) { return $r->pk() > 3; }); return $grid; }
public function indexAction() { $ds = new Am_Query($this->getDi()->apiKeyTable); $grid = new Am_Grid_Editable('_api', ___("API Keys"), $ds, $this->_request, $this->view, $this->getDi()); $grid->addField('comment', ___('Comment')); $grid->addField(new Am_Grid_Field_Expandable('key', ___('Key')))->setPlaceholder(array($this, 'truncateKey')); $grid->addField(new Am_Grid_Field_IsDisabled()); $grid->setForm(array($this, 'createForm')); $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->addCallback(Am_Grid_ReadOnly::CB_RENDER_CONTENT, array($this, 'renderContent')); return $grid->runWithLayout('admin/layout.phtml'); }
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; }
public function createGrid() { $ds = new Am_Query($this->getDi()->helpdeskCategoryTable); $ds->leftJoin('?_admin', 'a', 't.owner_id=a.admin_id')->addField("CONCAT(a.login, ' (',a.name_f, ' ', a.name_l, ')')", 'owner'); $ds->setOrder('sort_order'); $grid = new Am_Grid_Editable('_helpdesk_category', ___("Ticket Categories"), $ds, $this->_request, $this->view); $grid->addField(new Am_Grid_Field('title', ___('Title'), true, '', null, '50%')); $grid->addField(new Am_Grid_Field('owner_id', ___('Owner'), true, '', array($this, 'renderOwner'))); $grid->addField(new Am_Grid_Field_IsDisabled()); $grid->setForm('Am_Form_Admin_HelpdeskCategory'); $grid->addCallback(Am_Grid_Editable::CB_BEFORE_SAVE, array($this, 'beforeSave')); $grid->setPermissionId(Bootstrap_Helpdesk::ADMIN_PERM_CATEGORY); $grid->actionAdd(new Am_Grid_Action_Sort_HelpdeskCategory()); return $grid; }
public function createGrid() { $ds = new Am_Query($this->getDi()->adminTable); $grid = new Am_Grid_Editable('_admin', ___('Admin Accounts'), $ds, $this->_request, $this->view); $grid->addField(new Am_Grid_Field('admin_id', '#', true, '', null, '1%')); $grid->addField(new Am_Grid_Field('login', ___('Username'), true)); $grid->addField(new Am_Grid_Field('email', ___('E-Mail'), true)); $grid->addField(new Am_Grid_Field('super_user', ___('Super Admin'), true))->setRenderFunction('$v->super_user?___("Yes"):___("No")'); $grid->addField(new Am_Grid_Field('last_login', ___('Last login'), true))->setRenderFunction(array($this, 'renderLoginAt')); $grid->setForm(array($this, 'createForm')); $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->addCallback(Am_Grid_Editable::CB_BEFORE_SAVE, array($this, 'beforeSave')); $grid->addCallback(Am_Grid_Editable::CB_BEFORE_DELETE, array($this, 'beforeDelete')); return $grid; }
public function createGrid() { $table = $this->getTable(); $fields = $table->customFields()->getAll(); uksort($fields, array($table, 'sortCustomFields')); $ds = new Am_Grid_DataSource_CustomField($fields, $table); $grid = new Am_Grid_Editable('_f', ___('Additional Fields'), $ds, $this->_request, $this->view); $grid->addField(new Am_Grid_Field('name', ___('Name'), true, '', null, '10%')); $grid->addField(new Am_Grid_Field('title', ___('Title'), true, '', null, '20%')); $grid->addField(new Am_Grid_Field('sql', ___('Field Type'), true, '', null, '10%'))->setRenderFunction(array($this, 'renderFieldType')); $grid->addField(new Am_Grid_Field('type', ___('Display Type'), true, '', null, '10%')); $grid->addField(new Am_Grid_Field('description', ___('Description'), false, '', null, '40%')); $grid->addField(new Am_Grid_Field('validateFunc', ___('Validation'), false, '', null, '20%'))->setGetFunction(create_function('$r', 'return implode(",", (array)$r->validateFunc);')); $grid->setForm(array($this, 'createForm')); $grid->addCallback(Am_Grid_Editable::CB_VALUES_TO_FORM, array($this, 'valuesToForm')); $grid->addCallback(Am_Grid_ReadOnly::CB_TR_ATTRIBS, array($this, 'getTrAttribs')); $grid->actionGet('edit')->setIsAvailableCallback(create_function('$record', 'return isset($record->from_config) && $record->from_config;')); $grid->actionGet('delete')->setIsAvailableCallback(create_function('$record', 'return isset($record->from_config) && $record->from_config;')); $grid->actionAdd(new Am_Grid_Action_Sort_CustomField())->setTable($table); $grid->setRecordTitle(___('Field')); return $grid; }
public function createGrid() { $ds = new Am_Query($this->getDi()->countryTable); $ds->addField('ABS(tag)', 'tag_abs'); $ds->setOrderRaw('tag_abs desc, title'); $grid = new Am_Grid_Editable('_c', ___("Browse Countries"), $ds, $this->_request, $this->view); $grid->setPermissionId(Am_Auth_Admin::PERM_COUNTRY_STATE); $grid->addField(new Am_Grid_Field('tag_abs', ___('Sort Order'), true, null, null, '10%')); $grid->addField(new Am_Grid_Field('title', ___('Title'), true)); $grid->addField(new Am_Grid_Field('country', ___('Code'), true)); $grid->setForm(array($this, 'createForm')); $grid->actionAdd(new Am_Grid_Action_Url_Country('states', ___('Edit States'), '__ROOT__/admin-states/?country=__COUNTRY__'))->setTarget('_top'); $grid->actionDelete('delete'); $grid->actionDelete('insert'); $grid->addCallback(Am_Grid_ReadOnly::CB_TR_ATTRIBS, array($this, 'getTrAttribs')); $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_LiveEdit('title')); $grid->actionAdd(new Am_Grid_Action_Group_CountryEnable(false)); $grid->actionAdd(new Am_Grid_Action_Group_CountryEnable(true)); $grid->setFilter(new Am_Grid_Filter_Text(___('Filter by Counrty Title'), array('title' => 'LIKE'))); return $grid; }
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()->notificationTable); $ds->leftJoin('?_notification_click', 'nc', 't.notification_id=nc.notification_id')->addField('COUNT(nc.notification_click_id)', 'cnt')->addOrder('sort_order'); $grid = new Am_Grid_Editable('_notification', ___('Notifications'), $ds, $this->_request, $this->view, $this->getDi()); $grid->setPermissionId(Am_Plugin_Notification::ADMIN_PERM_ID); $grid->addField('content', ___('Content')); $grid->addField('url', ___('Link')); $grid->addField(new Am_Grid_Field_Date('begin', ___('Begin')))->setFormatDate(); $grid->addField(new Am_Grid_Field_Date('expire', ___('Expire')))->setFormatDate(); $grid->addField('cnt', ___('Clicks'), true, null, null, '1%')->setRenderFunction(array($this, 'renderClicks')); $grid->addField(new Am_Grid_Field_IsDisabled()); $grid->setForm(array($this, 'createForm')); $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_NotificationPreview('preview', ___('Preview')))->setTarget('_top'); $grid->actionAdd(new Am_Grid_Action_Group_Delete()); $grid->actionAdd(new Am_Grid_Action_Sort_Notification()); $grid->addCallback(Am_Grid_ReadOnly::CB_RENDER_STATIC, array($this, 'renderStatic')); $grid->setFilter(new Am_Grid_Filter_Text(___('Filter by Content or Link'), array('content' => 'LIKE', 'url' => 'LIKE'))); $grid->setRecordTitle(___('Notification')); return $grid; }
public function createGrid() { $ds = new Am_Query($this->getDi()->helpdeskFaqTable); $ds->setOrder('sort_order'); $grid = new Am_Grid_Editable('_helpdesk_faq', ___('FAQ'), $ds, $this->_request, $this->view); $grid->addField(new Am_Grid_Field('title', ___('Title'), true, '', null, '50%')); $grid->addField(new Am_Grid_Field('category', ___('Category'))); $grid->addField('_link', ___('Link'), false)->setRenderFunction(array($this, 'renderLink')); $grid->setForm('Am_Form_Admin_HelpdeskFaq'); $grid->setFilter(new Am_Grid_Filter_HelpdeskFaq()); $grid->addCallback(Am_Grid_Editable::CB_VALUES_FROM_FORM, array($this, 'valuesFromForm')); $grid->setPermissionId(Bootstrap_Helpdesk::ADMIN_PERM_FAQ); $grid->actionAdd(new Am_Grid_Action_Sort_HelpdeskFaq()); if ($this->getDi()->helpdeskFaqTable->getCategories()) { $grid->actionAdd(new Am_Grid_Action_EditFaqCategory('faq-edit-category', ___('Edit Categories'))); } return $grid; }
public function createGrid() { $this->view->headScript()->appendFile(REL_ROOT_URL . "/application/default/views/public/js/jquery/jquery.json.js"); $this->view->headScript()->appendScript($this->getJs()); $table = $this->getDi()->savedFormTable; $ds = new Am_Query($table); $ds->addWhere('`type` in (?a)', array_keys($table->getTypeDefs())); $ds->addOrderRaw("`type`='signup' DESC"); $grid = new Am_Grid_Editable('_s', ___("Forms Editor"), $ds, $this->_request, $this->view); $grid->setForm(array($this, 'createForm')); $grid->setRecordTitle(' '); //$grid->addGridField(new Am_Grid_Field('saved_form_id', '#', true, '', null, '5%')); $grid->addGridField(SavedForm::D_SIGNUP, ___('Default Signup'), false)->setWidth('5%')->setRenderFunction(array($this, 'renderDefault')); $grid->addGridField(SavedForm::D_MEMBER, ___('Default for Members'), false)->setWidth('5%')->setRenderFunction(array($this, 'renderDefault')); $existingTypes = $this->getDi()->savedFormTable->getExistingTypes(); $grid->actionGet('edit')->setTarget('_top'); $grid->actionDelete('insert'); foreach ($this->getDi()->savedFormTable->getTypeDefs() as $type => $typeDef) { if (!empty($typeDef['isSingle']) && in_array($type, $existingTypes)) { continue; } $grid->actionAdd(new Am_Grid_Action_Insert('insert-' . $type))->addUrlParam('type', $type)->setTitle(___('New %s', $typeDef['title'])); } $grid->addCallback(Am_Grid_Editable::CB_BEFORE_SAVE, array($this, 'beforeSave')); $grid->addGridField(new Am_Grid_Field('type', ___('Type'))); $grid->addGridField(new Am_Grid_Field('title', ___('Title'))); $grid->addGridField(new Am_Grid_Field('comment', ___('Comment'))); $grid->addGridField(new Am_Grid_Field('code', ___('Code'))); $grid->addGridField(new Am_Grid_Field('url', ___('URL')))->setRenderFunction(array($this, 'renderUrl')); $grid->actionGet('delete')->setIsAvailableCallback(create_function('$record', 'return $record->canDelete();')); return $grid; }
public function createGrid() { $ds = new Am_Query_User(); $ds->addField("concat(name_f, ' ', name_l)", 'name')->addField('(SELECT count(p.invoice_payment_id) FROM ?_invoice_payment p WHERE p.user_id = u.user_id)', 'payments_count')->addField('IFNULL((SELECT sum(p.amount) FROM ?_invoice_payment p WHERE p.user_id = u.user_id),0)-' . 'IFNULL((SELECT sum(r.amount) FROM ?_invoice_refund r WHERE u.user_id=r.user_id),0)', 'payments_sum'); $ds->setOrder("login"); $grid = new Am_Grid_Editable('_u', ___("Browse Users"), $ds, $this->_request, $this->view); $grid->setRecordTitle(___('User')); $grid->addField(new Am_Grid_Field('login', ___('Username'), true))->setRenderFunction(array($this, 'renderLogin')); $grid->addField(new Am_Grid_Field('name', ___('Name'), true)); $grid->addField(new Am_Grid_Field('email', ___('E-Mail Address'), true)); $grid->addField(new Am_Grid_Field('payments_sum', ___('Payments'), true, null, array($this, 'renderPayments'))); $grid->addField('status', ___('Status'), true)->setRenderFunction(array($this, 'renderStatus')); $grid->actionAdd($this->createActionExport()); $grid->actionGet('edit')->setTarget('_top')->showFormAfterSave(true); $grid->actionGet('insert')->setTarget('_top')->showFormAfterSave(true); $grid->setForm(array($this, 'createForm')); $grid->addCallback(Am_Grid_Editable::CB_BEFORE_SAVE, array($this, 'beforeSave')); $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_Editable::CB_VALUES_FROM_FORM, array($this, 'valuesFromForm')); $grid->addCallback(Am_Grid_Editable::CB_RENDER_STATIC, array($this, 'renderStatic')); $grid->addCallback(Am_Grid_ReadOnly::CB_TR_ATTRIBS, array($this, 'getTrAttribs')); $grid->actionAdd(new Am_Grid_Action_Group_Callback('lock', ___("Lock"), array($this, 'lockUser'))); $grid->actionAdd(new Am_Grid_Action_Group_Callback('unlock', ___("Unlock"), array($this, 'unlockUser'))); $grid->actionAdd(new Am_Grid_Action_Group_EmailUsers()); $grid->actionAdd(new Am_Grid_Action_Group_MassSubscribe()); $nc_count = $this->getDi()->cacheFunction->call(array($this, 'getNotConfirmedCount'), array(), array(), 60); if ($nc_count) { $grid->actionAdd(new Am_Grid_Action_Url('not-confirmed', ___("Not Confirmed Users") . "({$nc_count})", REL_ROOT_URL . '/admin-users/not-confirmed'))->setType(Am_Grid_Action_Abstract::NORECORD)->setTarget('_top'); } $grid->setFilter(new Am_Grid_Filter_User()); // $grid->addAction(new Am_Grid_Action_Group_Callback('email', ___("E-Mail"), array($this, 'email'))); return $grid; }
public function displaysnippetsAction() { if (!$this->strategy->canUseSnippets()) { throw new Am_Exception_AccessDenied(); } $ticket = $this->getDi()->helpdeskTicketTable->load($this->getParam('ticket'), false); $tpl = null; if ($ticket) { $tpl = new Am_SimpleTemplate(); $tpl->assign('user', $ticket->getUser()); } $ds = new Am_Query($this->getDi()->helpdeskSnippetTable); $grid = new Am_Grid_Editable('_snippet', ___('Snippets'), $ds, $this->getRequest(), $this->view, $this->getDi()); $grid->addField('title', ___('Title'))->setRenderFunction(function ($record, $fieldName, $grid) use($tpl) { $c = $record->content; if ($tpl) { $c = $tpl->render($c); } return sprintf('<td><a href="javascript:;" class="local am-helpdesk-insert-snippet" data-snippet-content="%s">%s</a></td>', Am_Controller::escape($c), Am_Controller::escape($record->title)); }); $grid->setForm(array($this, 'createForm')); $grid->actionGet('insert')->setTarget(null); $grid->setPermissionId(Bootstrap_Helpdesk::ADMIN_PERM_ID); $grid->isAjax($this->isAjax() && $this->isGridRequest('_snippet')); echo $grid->run(); }
public function upgradesAction() { $planOptions = $this->getDi()->db->selectCol("SELECT concat(b.plan_id) AS ARRAY_KEY, concat(p.title, '/',b.title)\n FROM ?_billing_plan b RIGHT JOIN ?_product p USING (product_id)\n ORDER BY b.product_id"); $ds = new Am_Query($this->getDi()->productUpgradeTable); $grid = new Am_Grid_Editable('_upgrades', ___("Product Upgrades"), $ds, $this->_request, $this->view); $grid->addField(new Am_Grid_Field_Enum('from_billing_plan_id', ___('Upgrade From')))->setTranslations($planOptions); $grid->addField(new Am_Grid_Field_Enum('to_billing_plan_id', ___('Upgrade To')))->setTranslations($planOptions); $grid->addField('surcharge', ___('Surcharge')); $grid->setForm(array($this, 'createUpgradesForm')); $grid->runWithLayout('admin/layout.phtml'); }
public function createGrid() { $ds = new Am_Query_User(); $datetime = $this->getDi()->sqlDate; $ds->addField("concat(u.name_f, ' ', u.name_l)", 'name')->addField('(SELECT COUNT(p.invoice_payment_id) FROM ?_invoice_payment p WHERE p.user_id = u.user_id)', 'payments_count')->addField('ROUND(IFNULL((SELECT SUM(p.amount/p.base_currency_multi) FROM ?_invoice_payment p WHERE p.user_id = u.user_id),0)-' . 'IFNULL((SELECT SUM(r.amount/r.base_currency_multi) FROM ?_invoice_refund r WHERE u.user_id=r.user_id),0), 2)', 'payments_sum')->addField("(SELECT MAX(expire_date) FROM ?_access ac WHERE ac.user_id = u.user_id)", 'expire')->addField("(SELECT GROUP_CONCAT(title SEPARATOR ', ') FROM ?_access ac\n LEFT JOIN ?_product p USING (product_id)\n WHERE ac.user_id = u.user_id AND ac.begin_date<='{$datetime}' AND ac.expire_date>='{$datetime}')", 'products'); $ds->setOrder("login"); $grid = new Am_Grid_Editable('_u', ___("Browse Users"), $ds, $this->_request, $this->view); $grid->setRecordTitle(array($this, 'getRecordTitle')); $grid->addField(new Am_Grid_Field('login', ___('Username'), true))->setRenderFunction(array($this, 'renderLogin')); $grid->addField(new Am_Grid_Field('name', ___('Name'), true)); $grid->addField(new Am_Grid_Field('email', ___('E-Mail Address'), true))->setRenderFunction(array($this, 'renderEmail')); $grid->addField(new Am_Grid_Field('payments_sum', ___('Payments'), true, null, array($this, 'renderPayments'))); $grid->addField('status', ___('Status'), true)->setRenderFunction(array($this, 'renderStatus')); $grid->actionAdd($this->createActionExport()); $grid->actionGet('edit')->setTarget('_top')->showFormAfterSave(true); $grid->actionGet('insert')->setTarget('_top')->showFormAfterSave(true); $grid->setForm(array($this, 'createForm')); $grid->addCallback(Am_Grid_Editable::CB_BEFORE_SAVE, array($this, 'beforeSave')); $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_Editable::CB_RENDER_STATIC, array($this, 'renderStatic')); $grid->addCallback(Am_Grid_ReadOnly::CB_TR_ATTRIBS, array($this, 'getTrAttribs')); $grid->actionAdd($this->createActionCustomize()); $grid->actionAdd(new Am_Grid_Action_Group_Callback('lock', ___("Lock"), array($this, 'lockUser'))); $grid->actionAdd(new Am_Grid_Action_Group_Callback('unlock', ___("Unlock"), array($this, 'unlockUser'))); $grid->actionAdd(new Am_Grid_Action_Group_Callback('approve', ___("Approve"), array($this, 'approveUser'))); $grid->actionAdd(new Am_Grid_Action_Group_EmailUsers()); $grid->actionAdd(new Am_Grid_Action_Group_MassSubscribe()); $grid->actionAdd(new Am_Grid_Action_Group_PasswordConfirmedDelete()); $grid->actionDelete('delete'); $grid->actionAdd(new Am_Grid_Action_LoginAs('login', ___('Login as User'), '__ROOT__/admin-users/login-as?id=__ID__'))->setTarget('_blank'); $grid->actionAdd(new Am_Grid_Action_Delete()); $grid->actionAdd(new Am_Grid_Action_Merge()); $grid->actionAdd(new Am_Grid_Action_Group_UserAssignGroup(false)); $grid->actionAdd(new Am_Grid_Action_Group_UserAssignGroup(true)); $nc_count = $this->getDi()->cacheFunction->call(array($this, 'getNotConfirmedCount'), array(), array(), 60); if ($nc_count) { $grid->actionAdd(new Am_Grid_Action_Url('not-confirmed', ___("Not Confirmed Users") . " ({$nc_count})", REL_ROOT_URL . '/admin-users/not-confirmed'))->setType(Am_Grid_Action_Abstract::NORECORD)->setTarget('_top'); } $grid->setFilter(new Am_Grid_Filter_User()); // $grid->addAction(new Am_Grid_Action_Group_Callback('email', ___("E-Mail"), array($this, 'email'))); $grid->setEventId('gridUser'); 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 upgradesAction() { $billingTableRecords = $this->getDi()->billingPlanTable->findBy(); $productOptions = $this->getDi()->productTable->getOptions(); $planOptions = array(); foreach ($billingTableRecords as $bp) { if (!isset($productOptions[$bp->product_id])) { continue; } /* @var $bp BillingPlan */ if (!($terms = $bp->terms)) { $tt = new Am_TermsText($bp); $terms = $tt->getString(); } $planOptions[$bp->pk()] = $productOptions[$bp->product_id] . '/' . $bp->title . ' (' . $terms . ')'; } $ds = new Am_Query($this->getDi()->productUpgradeTable); $grid = new Am_Grid_Editable('_upgrades', ___("Product Upgrades"), $ds, $this->_request, $this->view); $grid->setPermissionId('grid_product'); $grid->_planOptions = $planOptions; $grid->addField(new Am_Grid_Field_Enum('from_billing_plan_id', ___('Upgrade From')))->setTranslations($planOptions); $grid->addField(new Am_Grid_Field_Enum('to_billing_plan_id', ___('Upgrade To')))->setTranslations($planOptions); $grid->addField('surcharge', ___('Surcharge'))->setGetFunction(create_function('$r', 'return Am_Currency::render($r->surcharge);')); $grid->setForm(array($this, 'createUpgradesForm')); $grid->runWithLayout('admin/layout.phtml'); }
public function detailAction() { $id = (int) $this->getParam('id'); if (!$id) { throw new Am_Exception_InputError("Empty id passed to " . __METHOD__); } $ds = new Am_Query($this->getDi()->couponTable); $ds->addWhere('batch_id=?d', $id); $grid = new Am_Grid_Editable('_detail', ___("Coupons"), $ds, $this->_request, $this->view); $grid->setPermissionId('grid_coupon'); $grid->actionsClear(); $grid->addField('code', ___('Code'), true, null); $grid->addField('used_count', ___('Used Count'), true, null); //$this->addGridField(new Am_Grid_Field_Invoices('used_count', 'Used For', false, null)); $grid->setFilter(new Am_Grid_Filter_Text(___("Filter by Code"), array('code' => 'LIKE'))); $grid->setForm('Am_Form_Admin_Coupon'); $grid->actionAdd(new Am_Grid_Action_LiveEdit('code')); $grid->isAjax(false); $response = $grid->run(); $response->sendHeaders(); $response->sendResponse(); }