示例#1
0
 public function signup()
 {
     $this->exportJS("\$('#docNav').hide();");
     $data = base::subHeader("Create an Account", "Add your Company to the Support System");
     $data .= base::begin();
     $data .= base::pageHeader("Before you Begin", "You are about to create an account. If your company is already in our system, please have your company administrator add your account. You will only be able to add your company once.");
     $elements = [];
     $elements[] = ['type' => 'input', 'var' => 'user_name', 'text' => 'Full Name:', 'comment' => 'Main contact for account'];
     $elements[] = ['type' => 'input', 'var' => 'user_email', 'text' => 'E-mail Address:', 'comment' => 'Also your login to this system'];
     $elements[] = ['type' => 'password', 'var' => 'user_password', 'text' => 'Password:'******'type' => 'input', 'var' => 'user_phone', 'text' => 'Phone Number (and Extension):', 'comment' => 'xxx.xxx.xxxx ext. xxx'];
     $elements[] = ['type' => 'input', 'var' => 'user_title', 'text' => 'Your Title:', 'comment' => 'Leave blank if individual'];
     $span = [];
     $span[] = ['span' => 6, 'elements' => $elements];
     $elements = [];
     $elements[] = ['type' => 'input', 'var' => 'company_name', 'text' => 'Company Name:', 'comment' => 'If individual leave this blank'];
     $elements[] = ['type' => 'input', 'var' => 'company_address', 'text' => 'Address:', 'comment' => 'Where to mail invoices if required?'];
     $elements[] = ['type' => 'input', 'var' => 'company_address2', 'text' => 'Address Line 2:', 'comment' => 'Suite, etc.'];
     $elements[] = ['type' => 'input', 'var' => 'company_city', 'text' => 'City:'];
     $elements[] = ['type' => 'input', 'var' => 'company_state', 'text' => 'State:'];
     $elements[] = ['type' => 'input', 'var' => 'company_zip', 'text' => 'Zip:'];
     $span[] = ['span' => 6, 'elements' => $elements];
     $form = form::init()->spanElements($span)->id('createAccount')->post('/login/')->render();
     $button = button::init()->formid('createAccount')->text('Create My Account')->addStyle('post')->addStyle('btn-primary')->icon('fire')->message('Creating Account..')->postVar('createAccount')->render();
     $save = "<div class='pull-right'>{$button}</div>";
     $data .= widget::init()->icon('share-alt')->span(12)->header('Account Details')->content($form)->footer($save)->render();
     $this->export($data);
 }
示例#2
0
 public function generateNav()
 {
     $data = null;
     if (!$this->user) {
         return null;
     }
     if ($this->isProvidingCompany()) {
         $data .= "\t<li class='dropdown'><a data-toggle='dropdown'\tclass='dropdown-toggle' href='/clients/'>\n\t\t\t\t\t\t\t\t\tClients <b class='caret'></b></a>\n\t\t\t\t\t\t\t\t\t<ul class='dropdown-menu'>\n\t\t\t\t\t\t\t\t\t\t\t<li class=''><a href='/clients/create/'>Create Client</a></li>\n\t\t\t\t\t\t\t\t\t\t\t<li class=''><a href='/clients/'>List Clients</a></li>\n\t\t\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t\n\t\t\t\t\t";
     } else {
         $data .= "<li><a href='/billing/'>Billing</a></li>";
     }
     if ($this->isAdmin()) {
         $data .= "<li><a href='/admin/'>aTikit Admin</a></li>";
     }
     $data .= "<li class='dropdown'><a data-toggle='dropdown' class='dropdown-toggle' href='/clients/'>\n\t\t\t\t\tOptions <b class='caret'></b></a>\n\t\t\t\t\t<ul class='dropdown-menu'>\n\t\t\t\t\t\t<li><a data-toggle='modal' href='#me'><i class='icon-user'></i>  My Profile</a></li>\n\t\t\t\t\t\t<li><a href='/logout/'><i class='icon-signout'></i>  Logout</a></li>\n\t\t\t\t\t</ul>\n\t\t\t</li>";
     $save = button::init()->addStyle('mpost')->addStyle('btn-info')->text('Save Profile')->formid('myProfileForm')->postVar('saveProfile')->id('true')->icon('ok')->render();
     $this->exportModal(modal::init()->id('me')->header("My Profile")->content($this->getMyProfile())->footer($save)->render());
     return $data;
 }
示例#3
0
 private function taskUpdateForm(&$subticket)
 {
     $fields = [];
     $fields[] = ['type' => 'textarea', 'span' => 12, 'rows' => 6, 'var' => 'reply_body', 'text' => 'Reply:'];
     $data = form::init()->post('/ticket/')->elements($fields)->id('taskReplyForm')->render();
     $data .= button::init()->addStyle('btn-primary')->text('Update Task')->postVar('updateTask')->id($subticket['id'])->message('Updating Task..')->addStyle('post')->icon('plus-sign')->formid('taskReplyForm')->render();
     $data .= button::init()->addStyle('btn-danger')->text('Close Task')->url("/closetask/{$subticket['id']}/")->message('Closing Task..')->icon('remove')->addStyle('get')->formid('taskReplyForm')->render();
     return $data;
 }
示例#4
0
 private function customerMain()
 {
     // Show tabs for all queues the agent has access to based on access level.
     $headers = ['#', 'Subject', 'Status', 'Last Updated', 'Assigned', 'Queue'];
     $tickets = $this->query("SELECT * from tickets WHERE company_id='{$this->company->id}' and ticket_isclosed = false");
     $rows = [];
     foreach ($tickets as $ticket) {
         $rows[] = [$ticket['id'], "<a href='/ticket/{$ticket['id']}/'>{$ticket['ticket_title']}</a>", $ticket['ticket_status'], $this->fbTime($ticket['ticket_lastupdated']), $ticket['ticket_assigned'] ? $this->getUserByID($ticket['ticket_assigned']) : "Awaiting Assignment", $this->returnFieldFromTable("queue_name", "queues", "id='{$ticket['queue_id']}'")];
     }
     $table = table::init()->headers($headers)->rows($rows)->render();
     $createTicket = button::init()->isModalLauncher()->url('#newTicket')->text('Create New Ticket')->addStyle('btn-inverse')->icon('tasks')->render();
     $widget = widget::init()->span(12)->header('Ticket List')->content($table)->isTable(true)->rightHeader($createTicket)->render();
     $data = base::row($widget);
     $save = button::init()->formid('newTicketForm')->addStyle('mpost')->postVar('createTicket')->text('Create Ticket')->addStyle('btn-success')->icon('ok')->render();
     $this->exportModal(modal::init()->id('newTicket')->header('Create New Ticket')->content($this->createTicketForm())->footer($save)->render());
     return $data;
 }
示例#5
0
 public function showClient($content)
 {
     $id = $content['showClient'];
     $company = $this->query("SELECT * from companies WHERE id='{$id}'")[0];
     $user = $this->query("SELECT * from users WHERE company_id='{$company['id']}'")[0];
     // Going to pretty much copy the end-user signup form. (and change our postvars)
     $elements = [];
     $elements[] = ['type' => 'input', 'var' => 'user_name', 'text' => 'Full Name:', 'comment' => 'Main contact for account', 'val' => $user['user_name']];
     $elements[] = ['type' => 'input', 'var' => 'user_email', 'text' => 'E-mail Address:', 'comment' => 'Also your login to this system', 'val' => $user['user_email']];
     $elements[] = ['type' => 'password', 'var' => 'user_password', 'text' => 'Password:'******'type' => 'input', 'var' => 'user_phone', 'text' => 'Phone Number (and Extension):', 'comment' => 'xxx.xxx.xxxx ext. xxx', 'val' => $user['user_phone']];
     $elements[] = ['type' => 'input', 'var' => 'user_title', 'text' => 'Title:', 'comment' => 'Leave blank if individual', 'val' => $user['user_title']];
     $span = [];
     $span[] = ['span' => 6, 'elements' => $elements];
     $elements = [];
     $elements[] = ['type' => 'input', 'var' => 'company_name', 'text' => 'Company Name:', 'comment' => 'If individual leave this blank', 'val' => $company['company_name']];
     $elements[] = ['type' => 'input', 'var' => 'company_address', 'text' => 'Address:', 'comment' => 'Where to mail invoices if required?', 'val' => $company['company_address']];
     $elements[] = ['type' => 'input', 'var' => 'company_address2', 'text' => 'Address Line 2:', 'comment' => 'Suite, etc.', 'val' => $company['company_address2']];
     $elements[] = ['type' => 'input', 'var' => 'company_city', 'text' => 'City:', 'val' => $company['company_city']];
     $elements[] = ['type' => 'input', 'var' => 'company_state', 'text' => 'State:', 'class' => 'state', 'val' => $company['company_state']];
     $elements[] = ['type' => 'input', 'var' => 'company_zip', 'text' => 'Zip:', 'val' => $company['company_zip']];
     $span[] = ['span' => 6, 'elements' => $elements];
     $form = form::init()->spanElements($span)->id('editAccount')->post('/clients/')->render();
     $button = button::init()->formid('editAccount')->text('Edit Account')->addStyle('post')->addStyle('btn-primary')->icon('fire')->message('Modifying Account..')->postVar('editAccount')->id($company['id'])->render();
     $save = "<div class='pull-right'>{$button}</div>";
     $data .= widget::init()->icon('share-alt')->span(12)->header('Account Details')->content($form)->footer($save)->render();
     $this->exportJS(js::maskInput('state', "**"));
     $this->export($data);
 }
示例#6
0
 public function showInvoices()
 {
     $nav = $this->billingNav('invoices');
     // Default to Credit.
     $data = base::span(4, $nav);
     //Just a simple table with a download button for downloading the invoices.
     $headers = ['Ticket', 'Date', 'Description', 'Type', 'Download'];
     $rows = [];
     $transactions = $this->query("SELECT * from transactions WHERE company_id='{$this->company->id}'");
     foreach ($transactions as $transaction) {
         switch ($transaction['transaction_source']) {
             case 'stripe':
                 $source = "Credit Card";
                 break;
             case 'dwolla':
                 $source = "Checking Draft";
                 break;
             case 'check':
                 $source = "Posted Check";
                 break;
             case 'cash':
                 $source = "Cash";
                 break;
         }
         $row = ["<a href='/ticket/{$transaction['ticket_id']}/'>{$transaction['ticket_id']}</a>", date("m/d/y", $transaction['transaction_ts']), $transaction['transaction_desc'], $source, button::init()->url("/billing/invoice/{$transaction['id']}/")->text("Download Invoice")->addStyle('btn-small')->addStyle('btn-info')->icon('arrow-down')->render()];
         $rows[] = $row;
     }
     $table = table::init()->rows($rows)->headers($headers)->render();
     $data .= widget::init()->span(8)->isTable()->header("Processed Transactions")->content($table)->render();
     $data = base::row($data);
     $this->export($data);
 }
示例#7
0
 private function getStripeCoupons()
 {
     $coupons = $this->stripe_getCoupons();
     $headers = ['ID', '%/Amt Off', 'Duration', 'Used/Max', 'Lifespan', 'Remove'];
     $rows = [];
     foreach ($coupons as $coupon) {
         $row = [];
         $row[] = $coupon['id'];
         if ($coupon['percent_off']) {
             $row[] = $coupon['percent_off'] . "%";
         } else {
             $row[] = "\$" . number_format($coupon['amount_off'] / 100, 2);
         }
         $row[] = $coupon['duration'];
         $row[] = $coupon['times_redeemed'] . "/" . $coupon['max_redemptions'];
         $row[] = $coupon['duration_in_months'] ? $coupon['duration_in_months'] . ' Months' : "Once";
         $row[] = "<a class='get' href='/admin/billing/stripe/removecoupon/{$coupon['id']}/'><i class='icon-remove'></i></a>";
         if ($coupon['times_redeemed'] < $coupon['max_redemptions']) {
             $row[] = 'green';
         } else {
             $row[] = 'red';
         }
         $rows[] = $row;
     }
     $addCoupon = button::init()->text("Create Coupon")->addStyle('btn-inverse')->icon('plus')->isModalLauncher()->url('#createCoupon')->render();
     $saveCoupon = button::init()->text("Save Coupon")->addStyle('btn-success')->formid('createCouponForm')->icon('ok')->addStyle('mpost')->postVar('createCoupon')->id('true')->message('Creating Coupon..')->render();
     $this->exportModal(modal::init()->id('createCoupon')->header("Create new Coupon")->content($this->createCouponForm())->footer($saveCoupon)->render());
     $table = table::init()->headers($headers)->rows($rows)->render();
     $widget = widget::init()->icon('minus')->span(4)->header('Stripe Coupons')->isTable()->rightHeader($addCoupon)->content($table)->render();
     return $widget;
 }