public function getDatatable()
 {
     $account = Auth::user()->account;
     $query = DB::table('products')->leftJoin('tax_rates', function ($join) {
         $join->on('tax_rates.id', '=', 'products.default_tax_rate_id')->whereNull('tax_rates.deleted_at');
     })->where('products.account_id', '=', Auth::user()->account_id)->where('products.deleted_at', '=', null)->select('products.public_id', 'products.product_key', 'products.notes', 'products.cost', 'tax_rates.name as tax_name', 'tax_rates.rate as tax_rate');
     $datatable = Datatable::query($query)->addColumn('product_key', function ($model) {
         return link_to('products/' . $model->public_id . '/edit', $model->product_key);
     })->addColumn('notes', function ($model) {
         return nl2br(Str::limit($model->notes, 100));
     })->addColumn('cost', function ($model) {
         return Utils::formatMoney($model->cost);
     });
     if ($account->invoice_item_taxes) {
         $datatable->addColumn('tax_rate', function ($model) {
             return $model->tax_rate ? $model->tax_name . ' ' . $model->tax_rate . '%' : '';
         });
     }
     return $datatable->addColumn('dropdown', function ($model) {
         return '<div class="btn-group tr-action" style="visibility:hidden;">
                     <button type="button" class="btn btn-xs btn-default dropdown-toggle" data-toggle="dropdown">
                       ' . trans('texts.select') . ' <span class="caret"></span>
                     </button>
                     <ul class="dropdown-menu" role="menu">
                     <li><a href="' . URL::to('products/' . $model->public_id) . '/edit">' . uctrans('texts.edit_product') . '</a></li>
                     <li class="divider"></li>
                     <li><a href="' . URL::to('products/' . $model->public_id) . '/archive">' . uctrans('texts.archive_product') . '</a></li>
                   </ul>
                 </div>';
     })->orderColumns(['cost', 'product_key', 'cost'])->make();
 }
Esempio n. 2
0
 public function getDatatable()
 {
     $query = DB::table('account_tokens')->where('account_tokens.account_id', '=', Auth::user()->account_id);
     if (!Session::get('show_trash:token')) {
         $query->where('account_tokens.deleted_at', '=', null);
     }
     $query->select('account_tokens.public_id', 'account_tokens.name', 'account_tokens.token', 'account_tokens.public_id', 'account_tokens.deleted_at');
     return Datatable::query($query)->addColumn('name', function ($model) {
         return link_to('tokens/' . $model->public_id . '/edit', $model->name);
     })->addColumn('token', function ($model) {
         return $model->token;
     })->addColumn('dropdown', function ($model) {
         $actions = '<div class="btn-group tr-action" style="visibility:hidden;">
           <button type="button" class="btn btn-xs btn-default dropdown-toggle" data-toggle="dropdown">
             ' . trans('texts.select') . ' <span class="caret"></span>
           </button>
           <ul class="dropdown-menu" role="menu">';
         if (!$model->deleted_at) {
             $actions .= '<li><a href="' . URL::to('tokens/' . $model->public_id) . '/edit">' . uctrans('texts.edit_token') . '</a></li>
                        <li class="divider"></li>
                        <li><a href="javascript:deleteToken(' . $model->public_id . ')">' . uctrans('texts.delete_token') . '</a></li>';
         }
         $actions .= '</ul>
       </div>';
         return $actions;
     })->orderColumns(['name', 'token'])->make();
 }
Esempio n. 3
0
 public function getDatatable()
 {
     $products = $this->ProductRepo->find(Input::get('sSearch'));
     return Datatable::query($products)->addColumn('checkbox', function ($model) {
         return '<input type="checkbox" name="ids[]" value="' . $model->public_id . '">';
     })->addColumn('product_key', function ($model) {
         return link_to('products/' . $model->public_id, $model->product_key);
     })->addColumn('notes', function ($model) {
         return nl2br(Str::limit($model->notes, 50));
     })->addColumn('cost', function ($model) {
         return Utils::formatMoney($model->cost, 1);
     })->addColumn('name', function ($model) {
         return nl2br($model->category_name);
     })->addColumn('dropdown', function ($model) {
         return '<div class="btn-group tr-action" style="visibility:hidden;">
             <button type="button" class="btn btn-xs btn-default dropdown-toggle" data-toggle="dropdown">
               ' . trans('texts.select') . ' <span class="caret"></span>
             </button>
             <ul class="dropdown-menu" role="menu">
             <li><a href="' . URL::to('products/' . $model->public_id) . '/edit">' . uctrans('texts.edit_product') . '</a></li>                
             <li class="divider"></li>
             <li><a href="' . URL::to('products/' . $model->public_id) . '/archive">' . uctrans('texts.delete_product') . '</a></li>
           </ul>
         </div>';
     })->make();
 }
Esempio n. 4
0
 public function getDatatable()
 {
     $query = DB::table('users')->where('users.account_id', '=', Auth::user()->account_id);
     if (!Session::get('show_trash:user')) {
         $query->where('users.deleted_at', '=', null);
     }
     $query->where('users.public_id', '>', 0)->select('users.public_id', 'users.first_name', 'users.last_name', 'users.email', 'users.confirmed', 'users.public_id', 'users.deleted_at');
     return Datatable::query($query)->addColumn('first_name', function ($model) {
         return link_to('users/' . $model->public_id . '/edit', $model->first_name . ' ' . $model->last_name);
     })->addColumn('email', function ($model) {
         return $model->email;
     })->addColumn('confirmed', function ($model) {
         return $model->deleted_at ? trans('texts.deleted') : ($model->confirmed ? trans('texts.active') : trans('texts.pending'));
     })->addColumn('dropdown', function ($model) {
         $actions = '<div class="btn-group tr-action" style="visibility:hidden;">
           <button type="button" class="btn btn-xs btn-default dropdown-toggle" data-toggle="dropdown">
             ' . trans('texts.select') . ' <span class="caret"></span>
           </button>
           <ul class="dropdown-menu" role="menu">';
         if ($model->deleted_at) {
             $actions .= '<li><a href="' . URL::to('restore_user/' . $model->public_id) . '">' . uctrans('texts.restore_user') . '</a></li>';
         } else {
             $actions .= '<li><a href="' . URL::to('users/' . $model->public_id) . '/edit">' . uctrans('texts.edit_user') . '</a></li>';
             if (!$model->confirmed) {
                 $actions .= '<li><a href="' . URL::to('send_confirmation/' . $model->public_id) . '">' . uctrans('texts.send_invite') . '</a></li>';
             }
             $actions .= '<li class="divider"></li>
             <li><a href="javascript:deleteUser(' . $model->public_id . ')">' . uctrans('texts.delete_user') . '</a></li>';
         }
         $actions .= '</ul>
       </div>';
         return $actions;
     })->orderColumns(['first_name', 'email', 'confirmed'])->make();
 }
Esempio n. 5
0
 protected function getDatatableActions($entityType)
 {
     return [[uctrans('texts.edit_user'), function ($model) {
         return URL::to("users/{$model->public_id}/edit");
     }], [uctrans('texts.send_invite'), function ($model) {
         return URL::to("send_confirmation/{$model->public_id}");
     }, function ($model) {
         return !$model->confirmed;
     }]];
 }
 public function actions()
 {
     return [[uctrans('texts.edit_user'), function ($model) {
         return URL::to("users/{$model->public_id}/edit");
     }, function ($model) {
         return $model->public_id;
     }], [uctrans('texts.send_invite'), function ($model) {
         return URL::to("send_confirmation/{$model->public_id}");
     }, function ($model) {
         return $model->public_id && !$model->confirmed;
     }]];
 }
Esempio n. 7
0
 public function getDatatable()
 {
     $query = DB::table('categories')->where('categories.account_id', '=', Auth::user()->account_id)->where('categories.deleted_at', '=', null)->where('categories.public_id', '>', 0)->select('categories.public_id', 'categories.name');
     return Datatable::query($query)->addColumn('name', function ($model) {
         return link_to('categories/' . $model->public_id . '/edit', $model->name);
     })->addColumn('dropdown', function ($model) {
         return '<div class="btn-group tr-action" style="visibility:hidden;">
         <button type="button" class="btn btn-xs btn-default dropdown-toggle" data-toggle="dropdown">
           ' . trans('texts.select') . ' <span class="caret"></span>
         </button>
         <ul class="dropdown-menu" role="menu">
         <li><a href="' . URL::to('categories/' . $model->public_id) . '/edit">' . uctrans('texts.edit_category') . '</a></li>                
       </ul>
     </div>';
     })->orderColumns(['name'])->make();
 }
Esempio n. 8
0
 public function getDatatable()
 {
     $query = DB::table('book_sales')->where('book_sales.account_id', '=', Auth::user()->account_id)->where('book_sales.deleted_at', '=', null)->select('book_sales.id', 'book_sales.invoice_number', 'book_sales.client_nit', 'book_sales.client_name', 'book_sales.amount');
     return Datatable::query($query)->addColumn('invoice_number', function ($model) {
         return link_to('manuals/' . $model->id . '/edit', $model->invoice_number);
     })->addColumn('dropdown', function ($model) {
         return '<div class="btn-group tr-action" style="visibility:hidden;">
         <button type="button" class="btn btn-xs btn-default dropdown-toggle" data-toggle="dropdown">
           ' . trans('texts.select') . ' <span class="caret"></span>
         </button>
         <ul class="dropdown-menu" role="menu">
         <li><a href="' . URL::to('manuals/' . $model->id) . '/edit">' . uctrans('texts.edit_manual') . '</a></li>                
         <li class="divider"></li>
         <li><a href="' . URL::to('manuals/' . $model->id) . '/archive">' . uctrans('texts.archive_manual') . '</a></li>
       </ul>
     </div>';
     })->orderColumns(['invoice_number'])->make();
 }
 /**
  * @return array
  */
 public function getInvoiceLabels()
 {
     $data = [];
     $custom = (array) json_decode($this->invoice_labels);
     $fields = ['invoice', 'invoice_date', 'due_date', 'invoice_number', 'po_number', 'discount', 'taxes', 'tax', 'item', 'description', 'unit_cost', 'quantity', 'line_total', 'subtotal', 'paid_to_date', 'balance_due', 'partial_due', 'terms', 'your_invoice', 'quote', 'your_quote', 'quote_date', 'quote_number', 'total', 'invoice_issued_to', 'quote_issued_to', 'rate', 'hours', 'balance', 'from', 'to', 'invoice_to', 'quote_to', 'details', 'invoice_no', 'valid_until', 'client_name', 'address1', 'address2', 'id_number', 'vat_number', 'city_state_postal', 'country', 'email', 'contact_name', 'company_name', 'website', 'phone'];
     foreach ($fields as $field) {
         if (isset($custom[$field]) && $custom[$field]) {
             $data[$field] = $custom[$field];
         } else {
             $data[$field] = $this->isEnglish() ? uctrans("texts.{$field}") : trans("texts.{$field}");
         }
     }
     foreach (['item', 'quantity', 'unit_cost'] as $field) {
         $data["{$field}_orig"] = $data[$field];
     }
     foreach (['invoice.custom_text_value1' => 'custom_invoice_text_label1', 'invoice.custom_text_value2' => 'custom_invoice_text_label2', 'client.custom_value1' => 'custom_client_label1', 'client.custom_value2' => 'custom_client_label2', 'account.custom_value1' => 'custom_label1', 'account.custom_value2' => 'custom_label2'] as $field => $property) {
         $data[$field] = $this->{$property} ?: trans('texts.custom_field');
     }
     return $data;
 }
Esempio n. 10
0
 public function getDatatable()
 {
     $query = DB::table('groups')->where('groups.account_id', '=', Auth::user()->account_id)->where('groups.deleted_at', '=', null)->where('groups.public_id', '>=', 0)->select('groups.public_id', 'groups.code', 'groups.name', 'groups.text');
     return Datatable::query($query)->addColumn('code', function ($model) {
         return link_to('groups/' . $model->public_id . '/edit', $model->code);
     })->addColumn('name', function ($model) {
         return nl2br(Str::limit($model->name, 100));
     })->addColumn('text', function ($model) {
         return nl2br(Str::limit($model->text, 100));
     })->addColumn('dropdown', function ($model) {
         return '<div class="btn-group tr-action" style="visibility:hidden;">
         <button type="button" class="btn btn-xs btn-default dropdown-toggle" data-toggle="dropdown">
           ' . trans('texts.select') . ' <span class="caret"></span>
         </button>
         <ul class="dropdown-menu" role="menu">
         <li><a href="' . URL::to('groups/' . $model->public_id) . '">Ver Grupo</a></li>
         <li><a href="' . URL::to('groups/' . $model->public_id) . '/edit">' . uctrans('texts.edit_group') . '</a></li>
         <li class="divider"></li>
         <li><a href="' . URL::to('groups/' . $model->public_id) . '/archive">' . uctrans('texts.archive_group') . '</a></li>
       </ul>
     </div>';
     })->orderColumns(['code', 'name', 'text'])->make();
 }
Esempio n. 11
0
 public function getDatatable()
 {
     $query = DB::table('branches')->where('branches.account_id', '=', Auth::user()->account_id)->where('branches.deleted_at', '=', null)->where('branches.public_id', '>', 0)->select('branches.public_id', 'branches.name', 'branches.economic_activity', 'branches.address1', 'branches.address2', 'branches.work_phone');
     return Datatable::query($query)->addColumn('name', function ($model) {
         return link_to('branches/' . $model->public_id . '/edit', $model->name);
     })->addColumn('economic_activity', function ($model) {
         return nl2br(Str::limit($model->economic_activity, 100));
     })->addColumn('address1', function ($model) {
         return nl2br(Str::limit($model->address2, 60)) . ', ' . nl2br(Str::limit($model->address1, 40));
     })->addColumn('work_phone', function ($model) {
         return nl2br(Str::limit($model->work_phone, 30));
     })->addColumn('dropdown', function ($model) {
         return '<div class="btn-group tr-action" style="visibility:hidden;">
         <button type="button" class="btn btn-xs btn-default dropdown-toggle" data-toggle="dropdown">
           ' . trans('texts.select') . ' <span class="caret"></span>
         </button>
         <ul class="dropdown-menu" role="menu">
         <li><a href="' . URL::to('branches/' . $model->public_id) . '/edit">' . uctrans('texts.edit_branch') . '</a></li>                
         <li class="divider"></li>
         <li><a href="' . URL::to('branches/' . $model->public_id) . '/archive">' . uctrans('texts.archive_branch') . '</a></li>
       </ul>
     </div>';
     })->orderColumns(['name', 'address1'])->make();
 }
Esempio n. 12
0
 public function getDatatable()
 {
     $query = DB::table('users')->where('users.account_id', '=', Auth::user()->account_id)->where('users.deleted_at', '=', null)->where('users.public_id', '>', 0)->select('users.public_id', 'users.first_name', 'users.last_name', 'users.email', 'users.phone', 'users.is_admin', 'users.public_id');
     return Datatable::query($query)->addColumn('first_name', function ($model) {
         return link_to('users/' . $model->public_id . '/edit', $model->first_name . ' ' . $model->last_name);
     })->addColumn('email', function ($model) {
         return $model->email;
     })->addColumn('phone', function ($model) {
         return $model->phone;
     })->addColumn('is_admin', function ($model) {
         return $model->is_admin ? 'Administrador' : 'Cajero';
     })->addColumn('dropdown', function ($model) {
         return '<div class="btn-group tr-action" style="visibility:hidden;">
           <button type="button" class="btn btn-xs btn-default dropdown-toggle" data-toggle="dropdown">
             ' . trans('texts.select') . ' <span class="caret"></span>
           </button>
           <ul class="dropdown-menu" role="menu">
           <li><a href="' . URL::to('users/' . $model->public_id) . '/edit">' . uctrans('texts.edit_user') . '</a></li>
           <li class="divider"></li>
           <li><a href="javascript:deleteUser(' . $model->public_id . ')">' . uctrans('texts.delete_user') . '</a></li>              
         </ul>
       </div>';
     })->orderColumns(['first_name', 'email'])->make();
 }
Esempio n. 13
0
 public function getInvoiceLabels()
 {
     $data = [];
     $custom = (array) json_decode($this->invoice_labels);
     $fields = ['invoice', 'invoice_date', 'due_date', 'invoice_number', 'po_number', 'discount', 'taxes', 'tax', 'item', 'description', 'unit_cost', 'quantity', 'line_total', 'subtotal', 'paid_to_date', 'balance_due', 'amount_due', 'terms', 'your_invoice', 'quote', 'your_quote', 'quote_date', 'quote_number', 'total', 'invoice_issued_to', 'date', 'rate', 'hours', 'balance', 'from', 'to', 'invoice_to', 'details', 'invoice_no', 'valid_until'];
     foreach ($fields as $field) {
         if (isset($custom[$field]) && $custom[$field]) {
             $data[$field] = $custom[$field];
         } else {
             $data[$field] = $this->isEnglish() ? uctrans("texts.{$field}") : trans("texts.{$field}");
         }
     }
     foreach (['item', 'quantity', 'unit_cost'] as $field) {
         $data["{$field}_orig"] = $data[$field];
     }
     return $data;
 }
 protected function getDatatableActions($entityType)
 {
     return [[uctrans('texts.edit_bank_account'), function ($model) {
         return URL::to("bank_accounts/{$model->public_id}/edit");
     }]];
 }
 protected function getDatatableActions($entityType)
 {
     return [[uctrans('texts.edit_payment_terms'), function ($model) {
         return URL::to("payment_terms/{$model->public_id}/edit");
     }]];
 }
 public function actions()
 {
     return [[uctrans('texts.edit_bank_account'), function ($model) {
         return URL::to("bank_accounts/{$model->public_id}/edit");
     }]];
 }
 protected function getDatatableActions($entityType)
 {
     return [[uctrans('texts.edit_gateway'), function ($model) {
         return URL::to("gateways/{$model->public_id}/edit");
     }]];
 }
 public function actions()
 {
     $actions = [[uctrans('texts.resend_confirmation_email'), function ($model) {
         return $model->resendConfirmationUrl;
     }, function ($model) {
         return !$model->deleted_at && $model->gateway_id == GATEWAY_WEPAY && !empty($model->resendConfirmationUrl);
     }], [uctrans('texts.edit_gateway'), function ($model) {
         return URL::to("gateways/{$model->public_id}/edit");
     }, function ($model) {
         return !$model->deleted_at;
     }], [uctrans('texts.finish_setup'), function ($model) {
         return $model->setupUrl;
     }, function ($model) {
         return !$model->deleted_at && $model->gateway_id == GATEWAY_WEPAY && !empty($model->setupUrl);
     }], [uctrans('texts.manage_account'), function ($model) {
         $accountGateway = $this->getAccountGateway($model->id);
         $endpoint = WEPAY_ENVIRONMENT == WEPAY_STAGE ? 'https://stage.wepay.com/' : 'https://www.wepay.com/';
         return ['url' => $endpoint . 'account/' . $accountGateway->getConfig()->accountId, 'attributes' => 'target="_blank"'];
     }, function ($model) {
         return !$model->deleted_at && $model->gateway_id == GATEWAY_WEPAY;
     }], [uctrans('texts.terms_of_service'), function ($model) {
         return 'https://go.wepay.com/terms-of-service-us';
     }, function ($model) {
         return $model->gateway_id == GATEWAY_WEPAY;
     }]];
     foreach (Cache::get('gatewayTypes') as $gatewayType) {
         $actions[] = [trans('texts.set_limits', ['gateway_type' => $gatewayType->name]), function () use($gatewayType) {
             $accountGatewaySettings = AccountGatewaySettings::scope()->where('account_gateway_settings.gateway_type_id', '=', $gatewayType->id)->first();
             $min = $accountGatewaySettings && $accountGatewaySettings->min_limit !== null ? $accountGatewaySettings->min_limit : 'null';
             $max = $accountGatewaySettings && $accountGatewaySettings->max_limit !== null ? $accountGatewaySettings->max_limit : 'null';
             return "javascript:showLimitsModal('{$gatewayType->name}', {$gatewayType->id}, {$min}, {$max})";
         }, function ($model) use($gatewayType) {
             // Only show this action if the given gateway supports this gateway type
             if ($model->gateway_id == GATEWAY_CUSTOM) {
                 return $gatewayType->id == GATEWAY_TYPE_CUSTOM;
             } else {
                 $accountGateway = $this->getAccountGateway($model->id);
                 $paymentDriver = $accountGateway->paymentDriver();
                 $gatewayTypes = $paymentDriver->gatewayTypes();
                 return in_array($gatewayType->id, $gatewayTypes);
             }
         }];
     }
     return $actions;
 }
 public function actions()
 {
     return [[uctrans('texts.edit_tax_rate'), function ($model) {
         return URL::to("tax_rates/{$model->public_id}/edit");
     }]];
 }
 public function actions()
 {
     return [[uctrans('texts.edit_product'), function ($model) {
         return URL::to("products/{$model->public_id}/edit");
     }]];
 }