コード例 #1
0
 /**
  * Process datatables ajax request.
  *
  * @return \Illuminate\Http\JsonResponse
  */
 public function search()
 {
     $domains = Domain::select('domains.*', 'contacts.name as contacts_name')->leftJoin('contacts', 'contacts.id', '=', 'domains.contact_id');
     return Datatables::of($domains)->addColumn('actions', function ($domain) {
         $actions = Form::open(['route' => ['admin.domains.destroy', $domain->id], 'method' => 'DELETE', 'class' => 'form-inline']);
         $actions .= ' <a href="domains/' . $domain->id . '" class="btn btn-xs btn-primary"><i class="glyphicon glyphicon-eye-open"></i> ' . trans('misc.button.show') . '</a> ';
         $actions .= ' <a href="domains/' . $domain->id . '/edit" class="btn btn-xs btn-primary"><i class="glyphicon glyphicon-edit"></i> ' . trans('misc.button.edit') . '</a> ';
         $actions .= Form::button('<i class="glyphicon glyphicon-remove"></i> ' . trans('misc.button.delete'), ['type' => 'submit', 'class' => 'btn btn-danger btn-xs']);
         $actions .= Form::close();
         return $actions;
     })->make(true);
 }
コード例 #2
0
 /**
  * Export listing to CSV format.
  *
  * @param string $format
  *
  * @return \Illuminate\Http\Response
  */
 public function export($format)
 {
     $auth_account = $this->auth_user->account;
     if ($auth_account->isSystemAccount()) {
         $domains = Domain::all();
     } else {
         $domains = Domain::select('domains.*')->leftJoin('contacts', 'contacts.id', '=', 'domains.contact_id')->leftJoin('accounts', 'accounts.id', '=', 'contacts.account_id')->where('accounts.id', '=', $auth_account->id);
     }
     if ($format === 'csv') {
         $columns = ['contact' => 'Contact', 'domain' => 'Domain name', 'enabled' => 'Status'];
         $output = '"' . implode('","', $columns) . '"' . PHP_EOL;
         foreach ($domains as $domain) {
             $row = [$domain->contact->name . ' (' . $domain->contact->reference . ')', $domain['name'], $domain['enabled'] ? 'Enabled' : 'Disabled'];
             $output .= '"' . implode('","', $row) . '"' . PHP_EOL;
         }
         return response(substr($output, 0, -1), 200)->header('Content-Type', 'text/csv')->header('Content-Disposition', 'attachment; filename="Domains.csv"');
     }
     return Redirect::route('admin.domains.index')->with('message', "The requested format {$format} is not available for exports");
 }