function createGrid() { $query = new Am_Query($this->getDi()->fileDownloadTable); $query->leftJoin('?_file', 'f', 'f.file_id=t.file_id')->addField('f.title', 'title')->addWhere('user_id=?', $this->getParam('user_id')); $grid = new Am_Grid_Editable('_file_download', ___("File Downloads"), $query, $this->_request, $this->view); $grid->setPermissionId(Am_Auth_Admin::PERM_LOGS_DOWNLOAD); $grid->actionsClear(); $grid->actionAdd(new Am_Grid_Action_Delete()); $grid->actionAdd(new Am_Grid_Action_Group_Delete()); $grid->addField(new Am_Grid_Field_Date('dattm', ___('Date/Time'))); $grid->addField('remote_addr', ___('IP')); $grid->addField('title', ___('File')); 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()->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 createInvoice() { $query = new Am_Query(new InvoiceLogTable()); $query->addField("m.login", "login"); $query->leftJoin("?_user", "m", "t.user_id=m.user_id"); $query->setOrder('tm', 'desc'); $g = new Am_Grid_Editable('_invoice', ___('Invoice Log'), $query, $this->getRequest(), $this->view); $g->addField(new Am_Grid_Field('tm', ___('Time'), true, '', null, '10%')); $g->addField(new Am_Grid_Field('invoice_id', ___('Invoice'), true, '', null, '5%')); $g->addField(new Am_Grid_Field('login', ___('User'), true, '', null, '5%')); $g->addField(new Am_Grid_Field('remote_addr', ___('IP'), true, '', null, '5%')); $g->addField(new Am_Grid_Field('paysys_id', ___('Paysystem'), true, '', null, '10%')); $g->addField(new Am_Grid_Field('title', ___('Title'), true, '', null, '25%')); $g->addField(new Am_Grid_Field_Expandable('details', ___('Details'), false, '', null, '25%'))->setGetFunction(array($this, 'renderInvoiceDetails')); $g->actionsClear(); $g->actionAdd(new Am_Grid_Action_InvoiceRetry()); $g->setFilter(new Am_Grid_Filter_InvoiceLog()); return $g; }
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 createDemoHistoryGrid() { $records = $this->getDi()->store->getBlob('import-records'); $records = $records ? unserialize($records) : array(); $ds = new Am_Grid_DataSource_Array($records); $ds->setOrder('date', true); $grid = new Am_Grid_Editable('_h', ___('Import History'), $ds, $this->_request, $this->view); $grid->setPermissionId(Am_Auth_Admin::PERM_IMPORT); $grid->addField(new Am_Grid_Field_Date('date', ___('Date'), false, '', null, '10%'))->setFormatDate(); $urlTpl = REL_ROOT_URL . '/admin-users?' . http_build_query(array('_u_search' => array('import' => array('id' => '__ID__')))); $urlTpl = str_replace('__ID__', '{id}', $urlTpl); $grid->addField('id', '#', false, '', null, '10%')->addDecorator(new Am_Grid_Field_Decorator_Link($urlTpl)); $grid->addField(new Am_Grid_Field('title', ___('Title'), false, '', array($this, 'renderGridTitle'))); $grid->actionsClear(); $grid->actionAdd(new Am_Grid_Action_ImportDel()); return $grid; }
public function paymentAction() { $totalFields = array(); $query = new Am_Query($this->getDi()->invoicePaymentTable); $query->leftJoin('?_user', 'm', 'm.user_id=t.user_id')->addField("(SELECT GROUP_CONCAT(item_title SEPARATOR ', ') FROM ?_invoice_item WHERE invoice_id=t.invoice_id)", 'items')->addField('m.login', 'login')->addField('m.email', 'email')->addField('m.street', 'street')->addField('m.city', 'city')->addField('m.state', 'state')->addField('m.country', 'country')->addField('m.phone', 'phone')->addField('m.zip', 'zip')->addField("concat(m.name_f,' ',m.name_l)", 'name')->addField('t.invoice_public_id', 'public_id')->addWhere('t.user_id=?', $this->user_id); $query->setOrder("invoice_payment_id", "desc"); $grid = new Am_Grid_Editable('_payment', ___('Payments'), $query, $this->_request, $this->view); $grid->actionsClear(); $grid->addField(new Am_Grid_Field_Date('dattm', ___('Date/Time'))); $grid->addField('invoice_id', ___('Invoice'))->setGetFunction(array($this, '_getInvoiceNum'))->addDecorator(new Am_Grid_Field_Decorator_Link('admin-user-payments/index/user_id/{user_id}#invoice-{invoice_id}', '_top')); $grid->addField('receipt_id', ___('Receipt')); $grid->addField('paysys_id', ___('Payment System')); array_push($totalFields, $grid->addField('amount', ___('Amount'))->setGetFunction(array($this, '_getAmount'))); if ($this->getDi()->plugins_tax->getEnabled()) { array_push($totalFields, $grid->addField('tax', ___('Tax'))->setGetFunction(array($this, '_getTax'))); } $grid->addField(new Am_Grid_Field_Date('refund_dattm', ___('Refunded')))->setFormatDatetime(); $grid->addField('items', ___('Items')); $grid->setFilter(new Am_Grid_Filter_Payments()); $action = new Am_Grid_Action_Export(); $action->addField(new Am_Grid_Field('dattm', ___('Date Time')))->addField(new Am_Grid_Field('receipt_id', ___('Receipt')))->addField(new Am_Grid_Field('paysys_id', ___('Payment System')))->addField(new Am_Grid_Field('amount', ___('Amount')))->addField(new Am_Grid_Field('tax', ___('Tax')))->addField(new Am_Grid_Field_Date('refund_dattm', ___('Refunded')))->addField(new Am_Grid_Field('login', ___('Username')))->addField(new Am_Grid_Field('name', ___('Name')))->addField(new Am_Grid_Field('email', ___('Email')))->addField(new Am_Grid_Field('street', ___('Street')))->addField(new Am_Grid_Field('city', ___('City')))->addField(new Am_Grid_Field('state', ___('State')))->addField(new Am_Grid_Field('country', ___('Country')))->addField(new Am_Grid_Field('phone', ___('Phone')))->addField(new Am_Grid_Field('zip', ___('Zip Code')))->addField(new Am_Grid_Field('items', ___('Items')))->addField(new Am_Grid_Field('invoice_id', ___('Invoice')))->addField(new Am_Grid_Field('public_id', ___('Invoice (Public Id)'))); $grid->actionAdd($action); if ($this->getDi()->config->get('send_pdf_invoice')) { $grid->actionAdd(new Am_Grid_Action_ExportPdf()); } $action = $grid->actionAdd(new Am_Grid_Action_Total()); foreach ($totalFields as $f) { $action->addField($f, 'ROUND(%s / base_currency_multi, 2)'); } $grid->runWithLayout('admin/user-layout.phtml'); }
function historyRowsAction() { $q = new Am_Query($this->getDi()->emailSentTable); $q->leftJoin('?_admin', 'a', 't.admin_id=a.admin_id'); $q->addField('a.login', 'admin_login'); $q->setOrder('email_sent_id', 'DESC'); // dirty hack $withWrap = (bool) $this->_request->get('_h_wrap'); unset($_GET['_h_wrap']); $grid = new Am_Grid_Editable('_h', ___('E-Mails History'), $q, $this->_request, $this->view); $grid->setPermissionId(Am_Auth_Admin::PERM_EMAIL); if ($withWrap) { $grid->isAjax(false); } $grid->setCountPerPage(5); $grid->addField(new Am_Grid_Field_Date('tm_added', ___('Started'))); $grid->addField('subject', ___('Subject')); $grid->addField('admin_login', ___('Sender')); $grid->addField('count_users', ___('Total')); $grid->addField('sent_users', ___('Sent')); $grid->addField('desc_users', ___('To'))->setAttrs(array('class' => 'break')); $grid->actionsClear(); $grid->actionAdd(new Am_Grid_Action_Url('resend', ___('Resend'), REL_ROOT_URL . "/admin-email?resend_id=__ID__"))->setTarget('_top'); $grid->actionAdd(new Am_Grid_Action_Url('continue', ___('Continue'), REL_ROOT_URL . "/admin-email/send?queue_id=__ID__"))->setTarget('_top')->setIsAvailableCallback(array($this, 'needContinueLink')); if ($this->getDi()->authAdmin->getUser()->isSuper()) { $grid->actionAdd(new Am_Grid_Action_Delete()); } $grid->run($this->getResponse()); }
public function createMailQueue() { $ds = new Am_Query($this->getDi()->mailQueueTable); $ds->setOrder('added', true); $g = new Am_Grid_Editable('_mail', ___("E-Mail Queue"), $ds, $this->getRequest(), $this->view); $g->setPermissionId(Am_Auth_Admin::PERM_LOGS_MAIL); $g->addField(new Am_Grid_Field('recipients', ___('Recipients'), true, '', null, '20%')); $g->addField(new Am_Grid_Field_Date('added', ___('Added'), true)); $g->addField(new Am_Grid_Field_Date('sent', ___('Sent'), true)); $g->addField(new Am_Grid_Field('subject', ___('Subject'), true, '', null, '30%'))->setRenderFunction(array($this, 'renderSubject')); $body = new Am_Grid_Field_Expandable('body', ___('Mail'), true, '', null, '20%'); $body->setEscape(true); $body->setGetFunction(array($this, 'renderMail')); $g->addField($body); $g->setFilter(new Am_Grid_Filter_Text(___("Filter by subject or recepient"), array('subject' => 'LIKE', 'recipients' => 'LIKE'))); $g->actionsClear(); $g->actionAdd(new Am_Grid_Action_MailRetry('retry')); if ($this->getDi()->authAdmin->getUser()->isSuper()) { $g->actionAdd(new Am_Grid_Action_Delete()); $g->actionAdd(new Am_Grid_Action_Group_Delete()); } return $g; }
public function createGrid() { $hasCustomRules = $this->getDi()->affCommissionRuleTable->hasCustomRules(); $hasTiers = $this->getDi()->affCommissionRuleTable->getMaxTier(); $ds = new Am_Query($this->getDi()->affCommissionTable); $ds->leftJoin('?_invoice', 'i', 'i.invoice_id=t.invoice_id'); $ds->leftJoin('?_user', 'u', 'u.user_id=i.user_id'); $ds->leftJoin('?_user', 'a', 't.aff_id=a.user_id'); $ds->leftJoin('?_product', 'p', 't.product_id=p.product_id'); $ds->leftJoin('?_aff_payout_detail', 'apd', 't.payout_detail_id=apd.payout_detail_id'); $ds->leftJoin('?_aff_payout', 'ap', 'ap.payout_id=apd.payout_id'); $ds->addField('ap.date', 'payout_date'); $ds->addField('ap.payout_id'); $ds->addField('CONCAT(a.login, \' (\', a.name_f, \' \', a.name_l,\') #\', a.user_id)', 'aff_name')->addField('u.user_id', 'user_id')->addField('CONCAT(u.login, \' (\',u.name_f, \' \',u.name_l,\') #\', u.user_id)', 'user_name')->addField('u.email', 'user_email')->addField('p.title', 'product_title')->addField('i.public_id')->setOrder('commission_id', 'desc'); $grid = new Am_Grid_Editable('_affcomm', ___('Affiliate Commission'), $ds, $this->_request, $this->view); $grid->setPermissionId(Bootstrap_Aff::ADMIN_PERM_ID); $grid->actionsClear(); $userUrl = new Am_View_Helper_UserUrl(); $grid->addField(new Am_Grid_Field_Date('date', ___('Date')))->setFormatDate(); $grid->addField('aff_name', ___('Affiliate'))->addDecorator(new Am_Grid_Field_Decorator_Link($userUrl->userUrl('{aff_id}'), '_top')); $grid->addField('user_name', ___('User'))->addDecorator(new Am_Grid_Field_Decorator_Link($userUrl->userUrl('{user_id}'), '_top')); $grid->addField('product_title', ___('Product')); $grid->addField('invoice_id', ___('Invoice'))->setGetFunction(array($this, '_getInvoiceNum'))->addDecorator(new Am_Grid_Field_Decorator_Link('admin-user-payments/index/user_id/{user_id}#invoice-{invoice_id}', '_top')); $fieldAmount = $grid->addField('amount', ___('Amount'))->setRenderFunction(array($this, 'renderAmount')); $grid->addField('payout_date', ___('Payout'))->setRenderFunction(array($this, 'renderPayout')); if ($hasTiers) { $grid->addField('tier', ___('Tier'))->setRenderFunction(array($this, 'renderTier')); } if ($hasCustomRules) { $grid->addField(new Am_Grid_Field_Expandable('commission_id', '', false))->setPlaceholder(___('Used Rules'))->setAjax(REL_ROOT_URL . '/aff/admin-commission/get-rules?id={commission_id}'); } $grid->setFilter(new Am_Grid_Filter_Commission()); $grid->actionAdd(new Am_Grid_Action_Total())->addField($fieldAmount, "IF(record_type='void', -1*t.%1\$s, t.%1\$s)"); $grid->actionAdd(new Am_Grid_Action_Aff_Void()); $grid->addCallback(Am_Grid_ReadOnly::CB_TR_ATTRIBS, array($this, 'cbGetTrAttribs')); 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_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; }
function createGrid() { $ds = new Am_Query($this->getDi()->savedReportTable); $ds->addWhere('admin_id=?', $this->getDi()->authAdmin->getUserId()); $grid = new Am_Grid_Editable('_report', ___('Saved Reports'), $ds, $this->_request, $this->view); $grid->setPermissionId(Am_Auth_Admin::PERM_REPORT); $grid->addField(new Am_Grid_Field('title', ___('Title'), true)); $grid->actionsClear(); $grid->actionAdd(new Am_Grid_Action_LiveEdit('title')); $grid->actionAdd(new Am_Grid_Action_Url('run-report', ___('Run Report'), '__ROOT__/default/admin-reports/p/saved/runsaved/report_id/__ID__'))->setTarget('_top'); $grid->actionAdd(new Am_Grid_Action_Delete()); $grid->addCallback(Am_Grid_ReadOnly::CB_RENDER_TABLE, array($this, 'onRenderGridContent')); return $grid; }
function viewAction() { // display payouts list date | method | total | paid | $id = $this->getInt('payout_id'); if (!$id) { throw new Am_Exception_InputError("Not payout_id passed"); } $ds = new Am_Query($this->getDi()->affPayoutDetailTable); $ds->leftJoin('?_aff_payout', 'p', 'p.payout_id=t.payout_id'); $ds->leftJoin('?_user', 'u', 't.aff_id=u.user_id'); $ds->addField('u.*'); $ds->addField('p.type', 'type'); $ds->addWhere('t.payout_id=?d', $id); $grid = new Am_Grid_Editable('_d', ___("Payout %d Details", $id), $ds, $this->_request, $this->view); $grid->setPermissionId('affiliates'); $grid->addCallback(Am_Grid_Editable::CB_RENDER_TABLE, array($this, 'addBackLink')); $grid->addField('email', ___('E-Mail')); $grid->addField('name_f', ___('First Name')); $grid->addField('name_l', ___('Last Name')); $grid->addField('type', ___('Payout Method')); $grid->addField('amount', ___('Amount')); // $grid->addField('receipt_id', ___('Receipt Id')); $grid->addField('is_paid', ___('Is Paid?')); $grid->addField(new Am_Grid_Field_Expandable('_details', ___('Payout Details')))->setGetFunction(array($this, 'getPayoutDetails')); $grid->actionsClear(); //$grid->actionAdd(new Am_Grid_Action_LiveEdit('receipt_id')); $grid->actionAdd(new Am_Grid_Action_PayoutMarkPaid('mark_paid', ___("Mark Paid"))); $grid->actionAdd(new Am_Grid_Action_PayoutMarkNotPaid('mark_notpaid', ___("Mark NOT Paid"))); $grid->runWithLayout(); // detail payout records date | method | paid | receipt_id | aff. payout fields }
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 createDemoHistoryGrid() { $records = $this->getDi()->store->getBlob('demo-builder-records'); $records = $records ? unserialize($records) : array(); $ds = new Am_Grid_DataSource_Array($records); $grid = new Am_Grid_Editable('_h', ___("Demo History"), $ds, $this->_request, $this->view); $grid->addField(new Am_Grid_Field('date', 'Date', false, '', null, '10%')); $grid->addField(new Am_Grid_Field('title', 'Title', false, '', array($this, 'renderGridTitle'), '90%')); $grid->actionsClear(); $grid->actionAdd(new Am_Grid_Action_DemoDel()); return $grid; }
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->leftJoin('?_user', 'u', 't.user_id=u.user_id'); $ds->addField('u.login', 'u_login'); $ds->addWhere('batch_id=?d', $id); $grid = new Am_Grid_Editable('_detail', ___('Coupons'), $ds, $this->_request, $this->view); $grid->setPermissionId('grid_coupon'); $grid->setEventId('gridCoupon'); $grid->actionsClear(); $grid->addField('code', ___('Code'), true, null); $grid->addField(new Am_Grid_Field_Expandable('used_count', ___('Used For'), false))->setGetFunction(array($this, 'getUsedCount'))->setPlaceholder(array($this, 'getPlaceholder'))->setEscape(false); $grid->addField('user_id', ___('User'))->setGetFunction(array($this, 'getUser')); $grid->setFilter(new Am_Grid_Filter_Text(___('Filter by Code'), array('code' => 'LIKE'))); $grid->actionAdd(new Am_Grid_Action_LiveEdit('code')); $grid->actionAdd(new Am_Grid_Action_LiveEdit('user_id', ___('Click to Assign')))->setInitCallback('l = function(){this.autocomplete({ minLength: 2, source: window.rootUrl + "/admin-users/autocomplete" });}')->getDecorator()->setInputTemplate(sprintf('<input type="text" placeholder="%s" />', ___('Type Username or E-Mail'))); $grid->isAjax(false); $grid->addCallback(Am_Grid_ReadOnly::CB_RENDER_CONTENT, array($this, 'couponRenderContent')); $response = $grid->run(); $response->sendHeaders(); $response->sendResponse(); }
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 createDemoHistoryGrid() { $records = $this->getDi()->store->getBlob('import-records'); $records = $records ? unserialize($records) : array(); $ds = new Am_Grid_DataSource_Array($records); $ds->setOrder('date', true); $grid = new Am_Grid_Editable('_h', ___('Import History'), $ds, $this->_request, $this->view); $grid->setPermissionId(Am_Auth_Admin::PERM_IMPORT); $grid->addField(new Am_Grid_Field_Date('date', ___('Date'), false, '', null, '10%'))->setFormatDate(); $grid->addField('id', '#'); $grid->addField(new Am_Grid_Field('title', ___('Title'), false, '', array($this, 'renderGridTitle'), '90%')); $grid->actionsClear(); $grid->actionAdd(new Am_Grid_Action_ImportDel()); return $grid; }
function createInvoicesPage($page) { $query = new Am_Query($this->getDi()->invoiceTable); if ($page == 'not-approved') { $query->addWhere('is_confirmed<1'); } $query->leftJoin('?_user', 'm', 'm.user_id=t.user_id')->addField("(SELECT GROUP_CONCAT(item_title SEPARATOR ', ') FROM ?_invoice_item WHERE invoice_id=t.invoice_id)", 'items')->addField('m.login', 'login')->addField('m.email', 'email')->addField('m.street', 'street')->addField('m.street2', 'street2')->addField('m.city', 'city')->addField('m.state', 'state')->addField('m.country', 'country')->addField('m.phone', 'phone')->addField('m.zip', 'zip')->addField("concat(m.name_f,' ',m.name_l)", 'name')->addField('m.name_f')->addField('m.name_l')->addField('DATE(tm_started)', 'date'); //Additional Fields foreach ($this->getDi()->userTable->customFields()->getAll() as $field) { if (isset($field->from_config) && $field->from_config) { if ($field->sql) { $query->addField('m.' . $field->name, $field->name); } } } $query->setOrder("invoice_id", "desc"); $grid = new Am_Grid_Editable('_invoice', ___('Invoices'), $query, $this->_request, $this->view); $grid->setRecordTitle(array($this, 'getInvoiceRecordTitle')); $grid->actionsClear(); $grid->actionAdd(new Am_Grid_Action_Delete())->setTarget('_top'); $grid->addField(new Am_Grid_Field_Date('tm_added', ___('Added'))); $grid->addField('invoice_id', ___('Invoice'))->setGetFunction(array($this, '_getInvoiceNum'))->addDecorator(new Am_Grid_Field_Decorator_Link('admin-user-payments/index/user_id/{user_id}#invoice-{invoice_id}', '_top')); $grid->addField('status', ___('Status'))->setRenderFunction(array($this, 'renderInvoiceStatus')); $grid->addField('paysys_id', ___('Payment System')); $grid->addField('_total', ___('Billing Terms'), false)->setGetFunction(array($this, 'getInvoiceTotal')); $grid->addField(new Am_Grid_Field_Date('rebill_date', ___('Rebill Date')))->setFormatDate(); $grid->addField('items', ___('Items')); $grid->addField('login', ___('Username'))->addDecorator(new Am_Grid_Field_Decorator_Link('admin-users?_u_a=edit&_u_b={THIS_URL}&_u_id={user_id}', '_top')); $grid->addField('name', ___('Name')); $filter = new Am_Grid_Filter_Invoices(); $grid->setFilter($filter); $stateTitleField = new Am_Grid_Field('state_title', ___('State Title')); $stateTitleField->setGetFunction(array($this, 'getStateTitle')); $countryTitleField = new Am_Grid_Field('country_title', ___('Country Title')); $countryTitleField->setGetFunction(array($this, 'getCountryTitle')); $termsField = new Am_Grid_Field('_total', ___('Billing Terms')); $termsField->setGetFunction(array($this, 'getInvoiceTotal')); $action = new Am_Grid_Action_Export(); $action->addField(new Am_Grid_Field('tm_started', ___('Date/Time')))->addField(new Am_Grid_Field('date', ___('Date')))->addField(new Am_Grid_Field('rebill_date', ___('Rebill Date')))->addField(new Am_Grid_Field('invoice_id', ___('Invoice (Internal Id)')))->addField(new Am_Grid_Field('public_id', ___('Invoice (Public Id)')))->addField(new Am_Grid_Field('status', ___('Status')))->addField($termsField)->addField(new Am_Grid_Field('paysys_id', ___('Payment System')))->addField(new Am_Grid_Field('first_total', ___('First Total')))->addField(new Am_Grid_Field('first_tax', ___('First Tax')))->addField(new Am_Grid_Field('email', ___('Email')))->addField(new Am_Grid_Field('login', ___('Username')))->addField(new Am_Grid_Field('name', ___('Name')))->addField(new Am_Grid_Field('name_f', ___('First Name')))->addField(new Am_Grid_Field('name_l', ___('Last Name')))->addField(new Am_Grid_Field('street', ___('Street')))->addField(new Am_Grid_Field('street2', ___('Street2')))->addField(new Am_Grid_Field('city', ___('City')))->addField(new Am_Grid_Field('state', ___('State')))->addField($stateTitleField)->addField(new Am_Grid_Field('country', ___('Country')))->addField($countryTitleField)->addField(new Am_Grid_Field('phone', ___('Phone')))->addField(new Am_Grid_Field('zip', ___('Zip Code')))->addField(new Am_Grid_Field('item_title', ___('Product Title')))->addField(new Am_Grid_Field('coupon_code', ___('Coupon'))); //Additional Fields foreach ($this->getDi()->userTable->customFields()->getAll() as $field) { if (isset($field->from_config) && $field->from_config) { if ($field->sql) { $action->addField(new Am_Grid_Field($field->name, $field->title)); } } } $action->setGetDataSourceFunc(array($this, 'getExportDs')); $grid->actionAdd($action); if ($this->getDi()->config->get('manually_approve_invoice')) { $grid->actionAdd(new Am_Grid_Action_Group_Callback('approve', ___("Approve"), array($this, 'approveInvoice'))); } return $grid; }
public function createGrid() { $title_removed = ___('Rule Removed'); $ds = new Am_Query($this->getDi()->affCommissionTable); $ds->leftJoin('?_invoice', 'i', 'i.invoice_id=t.invoice_id'); $ds->leftJoin('?_user', 'u', 'u.user_id=i.user_id'); $ds->leftJoin('?_user', 'a', 't.aff_id=a.user_id'); $ds->leftJoin('?_product', 'p', 't.product_id=p.product_id'); $ds->addField('CONCAT(a.login, \' (\', a.name_f, \' \', a.name_l,\') [#\', a.user_id, \']\')', 'aff_name')->addField('u.user_id', 'user_id')->addField('CONCAT(u.login, \' (\',u.name_f, \' \',u.name_l,\') [#\', u.user_id, \']\')', 'user_name')->addField('u.email', 'user_email')->addField('p.title', 'product_title')->addField('i.public_id')->addField('IF(payout_detail_id IS NULL, \'no\', \'yes\')', 'is_paid')->leftJoin('?_aff_commission_commission_rule', 'ccr', 't.commission_id = ccr.commission_id')->leftJoin('?_aff_commission_rule', 'cr', 'ccr.rule_id = cr.rule_id')->addField("GROUP_CONCAT(CONCAT(ccr.rule_id, ' - ', IFNULL(cr.comment, '<em>{$title_removed}</em>')) SEPARATOR '<br />')", 'used_rules')->setOrder('commission_id', 'desc'); $grid = new Am_Grid_Editable('_affcomm', ___('Affiliate Commission'), $ds, $this->_request, $this->view); $grid->setPermissionId(Bootstrap_Aff::ADMIN_PERM_ID); $grid->actionsClear(); $userUrl = new Am_View_Helper_UserUrl(); $grid->addField(new Am_Grid_Field_Date('date', ___('Date')))->setFormatDate(); $grid->addField('aff_name', ___('Affiliate'))->addDecorator(new Am_Grid_Field_Decorator_Link($userUrl->userUrl('{aff_id}'), '_top')); $grid->addField('user_name', ___('User'))->addDecorator(new Am_Grid_Field_Decorator_Link($userUrl->userUrl('{user_id}'), '_top')); $grid->addField('product_title', ___('Product')); $grid->addField('record_type', ___('Type'))->setRenderFunction(array($this, 'renderType')); $grid->addField('invoice_id', ___('Invoice'))->setGetFunction(array($this, '_getInvoiceNum'))->addDecorator(new Am_Grid_Field_Decorator_Link('admin-user-payments/index/user_id/{user_id}#invoice-{invoice_id}', '_top')); $fieldAmount = $grid->addField('amount', ___('Commission'))->setRenderFunction(array($this, 'renderAmount')); $grid->addField('is_paid', ___('Paid')); $grid->addField('tier', ___('Tier'))->setRenderFunction(array($this, 'renderTier')); $grid->addField(new Am_Grid_Field_Expandable('used_rules', '', false))->setPlaceholder(___('Used Rules')); $grid->setFilter(new Am_Grid_Filter_Commission()); $grid->actionAdd(new Am_Grid_Action_Total())->addField($fieldAmount, "IF(record_type='void', -1*%1\$s, %1\$s)"); $grid->actionAdd(new Am_Grid_Action_Aff_Void()); $grid->addCallback(Am_Grid_ReadOnly::CB_TR_ATTRIBS, array($this, 'cbGetTrAttribs')); return $grid; }
public function categoryAction() { $ret = array(); foreach ($this->getDi()->helpdeskFaqTable->getCategories() as $category) { $cat = new stdClass(); $cat->name = $category; $ret[] = $cat; } $ds = new Am_Grid_DataSource_FaqCategory($ret); $grid = new Am_Grid_Editable('_helpdesk_faq_category', ___('Categories'), $ds, $this->_request, $this->view); $grid->setPermissionId(Bootstrap_Helpdesk::ADMIN_PERM_FAQ); $grid->addField(new Am_Grid_Field('name', ___('Title'))); $grid->actionsClear(); $grid->actionAdd(new Am_Grid_Action_Back('faq-edit-category-back', ___('Back to FAQ List'))); $grid->actionAdd(new Am_Grid_Action_LiveEdit('name')); $grid->runWithLayout('admin/layout.phtml'); }
function createInvoicesPage() { $query = new Am_Query($this->getDi()->invoiceTable); $query->leftJoin('?_user', 'm', 'm.user_id=t.user_id')->addField('m.login', 'login')->addField("concat(m.name_f,' ',m.name_l)", 'name'); $query->setOrder("invoice_id", "desc"); $grid = new Am_Grid_Editable('_invoice', ___("Invoices"), $query, $this->_request, $this->view); $grid->actionsClear(); $grid->addField(new Am_Grid_Field_Date('tm_added', ___('Added'))); $grid->addField('invoice_id', ___('Invoice'))->addDecorator(new Am_Grid_Field_Decorator_Link('admin-user-payments/index/user_id/{user_id}#invoice-{invoice_id}', '_blank')); $grid->addField('status', ___('Status'))->setRenderFunction(array($this, 'renderInvoiceStatus')); $grid->addField('paysys_id', ___('Payment System')); $grid->addField('_total', ___('Total'))->setGetFunction(array($this, 'getInvoiceTotal')); $grid->addField('login', ___('Username'), false)->addDecorator(new Am_Grid_Field_Decorator_Link('admin-users?_u_a=edit&_u_b={THIS_URL}&_u_id={user_id}', '_blank')); $grid->addField('name', ___('Name'), false); $filter = new Am_Grid_Filter_Payments(); $filter->setDateField('tm_added'); $grid->setFilter($filter); $action = new Am_Grid_Action_Export(); $action->addField(new Am_Grid_Field('invoice_id', ___('Invoice') . '#'))->addField(new Am_Grid_Field('paysys_id', ___('Payment System')))->addField(new Am_Grid_Field('first_total', ___('First Total')))->addField(new Am_Grid_Field('first_tax', ___('First Tax')))->addField(new Am_Grid_Field('login', ___('Username')))->addField(new Am_Grid_Field('name', ___('Name'))); $grid->actionAdd($action); 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()->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; }
function commTabAction() { $this->setActiveMenu('users-browse'); $ds = new Am_Query($this->getDi()->affCommissionTable); $ds->leftJoin('?_invoice', 'i', 'i.invoice_id=t.invoice_id'); $ds->leftJoin('?_user', 'u', 'u.user_id=i.user_id'); $ds->leftJoin('?_product', 'p', 't.product_id=p.product_id')->addField('u.user_id', 'user_id')->addField('CONCAT(u.login, \' (\',u.name_f, \' \',u.name_l,\') [#\', u.user_id, \']\')', 'user_name')->addField('p.title', 'product_title')->addField('IF(payout_detail_id IS NULL, \'no\', \'yes\')', 'is_paid'); $ds->setOrder('date', 'desc')->addWhere('t.aff_id=?', $this->getParam('user_id')); $grid = new Am_Grid_Editable('_affcomm', ___('Affiliate Commission'), $ds, $this->_request, $this->view); $grid->setPermissionId(Bootstrap_Aff::ADMIN_PERM_ID); $grid->actionsClear(); $userUrl = new Am_View_Helper_UserUrl(); $grid->addField(new Am_Grid_Field_Date('date', ___('Date')))->setFormatDate(); $grid->addField('user_name', ___('User'))->addDecorator(new Am_Grid_Field_Decorator_Link($userUrl->userUrl('{user_id}'), '_top')); $grid->addField('product_title', ___('Product')); $grid->addField('record_type', ___('Type'))->setRenderFunction(array($this, 'renderType')); $fieldAmount = $grid->addField('amount', ___('Commission'))->setRenderFunction(array($this, 'renderCommAmount')); $grid->addField('is_paid', ___('Paid')); $grid->addField('tier', ___('Tier'))->setRenderFunction(array($this, 'renderTier')); $grid->addCallback(Am_Grid_ReadOnly::CB_TR_ATTRIBS, array($this, 'commCbGetTrAttribs')); $grid->setFilter(new Am_Grid_Filter_AffCommission()); $grid->actionAdd(new Am_Grid_Action_Total())->addField($fieldAmount, "IF(record_type='void', -1*%1\$s, %1\$s)"); $grid->actionAdd(new Am_Grid_Action_Aff_Void()); $grid->runWithLayout('admin/user-layout.phtml'); }
function viewAction() { Am_Aff_PayoutMethod::static_addFields(); // display payouts list date | method | total | paid | $id = $this->getInt('payout_id'); if (!$id) { throw new Am_Exception_InputError("Not payout_id passed"); } $ds = new Am_Query($this->getDi()->affPayoutDetailTable); $ds->leftJoin('?_aff_payout', 'p', 'p.payout_id=t.payout_id'); $ds->leftJoin('?_user', 'u', 't.aff_id=u.user_id'); $ds->addField('u.*'); $ds->addField('p.type', 'type'); $ds->addWhere('t.payout_id=?d', $id); $grid = new Am_Grid_Editable('_d', ___("Payout %d Details", $id), $ds, $this->_request, $this->view); $grid->setEventId('gridAffPayoutDetail'); $grid->setPermissionId(Bootstrap_Aff::ADMIN_PERM_ID); $grid->addCallback(Am_Grid_Editable::CB_RENDER_TABLE, array($this, 'addBackLink')); $userUrl = new Am_View_Helper_UserUrl(); $grid->addField('email', ___('E-Mail'))->addDecorator(new Am_Grid_Field_Decorator_Link($userUrl->userUrl('{user_id}'), '_top')); $grid->addField('name_f', ___('First Name')); $grid->addField('name_l', ___('Last Name')); $grid->addField(new Am_Grid_Field_Enum('type', ___('Payout Method')))->setTranslations(Am_Aff_PayoutMethod::getAvailableOptions()); $grid->addField('amount', ___('Amount'))->setGetFunction(array($this, 'getAmount')); // $grid->addField('receipt_id', ___('Receipt Id')); $grid->addField(new Am_Grid_Field_Enum('is_paid', ___('Is Paid?')))->setTranslations(array(0 => ___('No'), 1 => ___('Yes'))); $grid->addField(new Am_Grid_Field_Expandable('_details', ___('Payout Details')))->setGetFunction(array($this, 'getPayoutDetails')); $grid->actionsClear(); //$grid->actionAdd(new Am_Grid_Action_LiveEdit('receipt_id')); $grid->actionAdd(new Am_Grid_Action_PayoutMarkPaid('mark_paid', ___('Mark Paid'))); $grid->actionAdd(new Am_Grid_Action_PayoutMarkNotPaid('mark_notpaid', ___('Mark NOT Paid'))); $grid->addCallback(Am_Grid_ReadOnly::CB_TR_ATTRIBS, array($this, 'detailCbGetTrAttribs')); $grid->runWithLayout(); }
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; }
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(); }