diff --git a/app/config/app.php b/app/config/app.php index 3b7286afa5..7ac5fccc04 100755 --- a/app/config/app.php +++ b/app/config/app.php @@ -87,6 +87,7 @@ return array( 'Barryvdh\Debugbar\ServiceProvider', 'Cartalyst\Sentry\SentryServiceProvider', 'Chumper\Datatable\DatatableServiceProvider', + 'Dinesh\Barcode\BarcodeServiceProvider', ), @@ -158,6 +159,8 @@ return array( 'Validator' => 'Illuminate\Support\Facades\Validator', 'View' => 'Illuminate\Support\Facades\View', 'Reader' => 'League\Csv\Reader', + 'DNS1D' => 'Dinesh\Barcode\Facades\DNS1DFacade', + 'DNS2D' => 'Dinesh\Barcode\Facades\DNS2DFacade', ), diff --git a/app/controllers/admin/AssetsController.php b/app/controllers/admin/AssetsController.php index 9e5ebfd451..43e62a2057 100755 --- a/app/controllers/admin/AssetsController.php +++ b/app/controllers/admin/AssetsController.php @@ -21,12 +21,11 @@ use Response; use Config; use Location; use Log; - -use BaconQrCode\Renderer\Image as QrImage; +use DNS2D; class AssetsController extends AdminController { - protected $qrCodeDimensions = array( 'height' => 170, 'width' => 170); + protected $qrCodeDimensions = array( 'height' => 4, 'width' => 4); /** * Show a list of all the assets. @@ -534,8 +533,6 @@ class AssetsController extends AdminController $qr_code = (object) array( 'display' => $settings->qr_code == '1', - 'height' => $this->qrCodeDimensions['height'], - 'width' => $this->qrCodeDimensions['width'], 'url' => route('qr_code/hardware', $asset->id) ); @@ -562,15 +559,15 @@ class AssetsController extends AdminController if ($settings->qr_code == '1') { $asset = Asset::find($assetId); - if (isset($asset->id)) { + + if (isset($asset->asset_tag)) { + $content = DNS2D::getBarcodePNG($asset->asset_tag, "QRCODE", + $this->qrCodeDimensions['height'],$this->qrCodeDimensions['width']); - $renderer = new \BaconQrCode\Renderer\Image\Png; - $renderer->setWidth($this->qrCodeDimensions['height']) - ->setHeight($this->qrCodeDimensions['height']); - - $writer = new \BaconQrCode\Writer($renderer); - $content = $writer->writeString(route('view/hardware', $asset->id)); + $img = imagecreatefromstring(base64_decode($content)); + imagepng($img); + imagedestroy($img); $content_disposition = sprintf('attachment;filename=qr_code_%s.png', preg_replace('/\W/', '', $asset->asset_tag)); $response = Response::make($content, 200);