Compare commits

...

113 Commits

Author SHA1 Message Date
snipe
d535adcc5e Merge branch 'refs/heads/develop' 2013-11-29 17:09:07 -05:00
snipe
f62ce4039d @uberbrady is a pedantic shitbag. 2013-11-29 17:07:49 -05:00
snipe
8f9a82e400 Prevent user editing on deleted user 2013-11-29 17:05:55 -05:00
snipe
2be6c6f5da Hurr. 2013-11-29 16:57:49 -05:00
snipe
35155dfc4c Prevent user from being deleted if they still have assets assigned to them 2013-11-29 16:57:24 -05:00
snipe
7142e37372 Deleted users 2013-11-29 16:44:48 -05:00
snipe
dca7a7f2eb Allow deleted users 2013-11-29 16:39:24 -05:00
snipe
a7ca9f0c9f Layout tweaks 2013-11-29 16:36:11 -05:00
snipe
bc16276a38 Merge pull request #96 from flashingcursor/patch-1
Removed post-install-cmd php artisan optimize.
2013-11-29 13:10:47 -08:00
snipe
3420f3ed8b Merge branch 'refs/heads/develop' 2013-11-29 16:09:36 -05:00
snipe
11c657ffa4 Fixes #36 2013-11-29 16:08:18 -05:00
snipe
80afa7cbc7 Disallow checkout of undeployable items 2013-11-29 15:27:44 -05:00
snipe
75fc552637 Merge branch 'refs/heads/develop' 2013-11-29 15:22:54 -05:00
snipe
56adc67e67 Require manufacturer ID 2013-11-29 15:21:11 -05:00
snipe
02f1977d30 Fixed error message 2013-11-29 15:20:29 -05:00
snipe
b68e39472d Updating to bootstrap 3 2013-11-29 15:19:00 -05:00
snipe
10df2bc950 Bootstrap 3 2013-11-29 14:46:38 -05:00
Gil Rutkowski
f6aecd8af9 Removed post-install-cmd php artisan optimize. Causes initial install to fail due to lack of required config (mail.php) 2013-11-29 14:37:44 -05:00
snipe
567f395afa More fixes for #88 2013-11-29 14:37:06 -05:00
snipe
7003eff42c More fixes for #88 2013-11-29 14:36:46 -05:00
snipe
d54eb94497 Improved layout 2013-11-29 14:35:24 -05:00
snipe
e305099b45 Fixed model view 2013-11-29 09:52:51 -05:00
snipe
091de54bab BS3 error validation text 2013-11-29 09:45:30 -05:00
snipe
112d5d5994 Style change - removed underline from header 2013-11-29 09:35:51 -05:00
snipe
428998c6fb Prettier buttons 2013-11-29 09:32:10 -05:00
snipe
56b52392e8 honor user soft-deletes 2013-11-29 09:28:45 -05:00
snipe
ddf0997a93 Signin BS3 2013-11-29 09:05:30 -05:00
snipe
e1207e0e27 Merge branch 'refs/heads/develop' 2013-11-29 08:41:47 -05:00
snipe
3544be0960 Merge branch 'refs/heads/feature-bootstrap3' into develop 2013-11-29 08:41:24 -05:00
snipe
2e916d0246 MOAR BOOTSTRAP 2013-11-29 08:39:10 -05:00
snipe
809e176908 Updating for bootstrap3 2013-11-29 07:39:41 -05:00
snipe
c2bf033fb8 More form/button class changes 2013-11-29 07:11:33 -05:00
snipe
d67c01e652 Whitespace 2013-11-29 05:21:00 -05:00
snipe
8d82338e1e Remove underline from stats blocks 2013-11-29 05:20:49 -05:00
snipe
89e6f52142 More bootstrap 3 2013-11-29 05:15:51 -05:00
snipe
030db6e267 Upgrading to bootstrap 3
Ugh.
2013-11-29 04:10:25 -05:00
snipe
aae590adc4 Merge branch 'refs/heads/develop' 2013-11-28 23:33:33 -05:00
snipe
06cbd0723e Fixes #93 2013-11-28 23:32:44 -05:00
snipe
ddabdaca02 Merge branch 'refs/heads/develop' 2013-11-28 20:59:05 -05:00
snipe
839d01a3af Fixed relationship method because fuck you ORM 2013-11-28 20:58:40 -05:00
snipe
4d421c9a50 Leftover method that's not used since the license/asset split 2013-11-28 20:58:15 -05:00
snipe
9fa826b2e7 Fixed assigned to id 2013-11-28 20:40:02 -05:00
snipe
7718e8d928 Checks that checkedout_to isn't 0 before trying to get fullName() 2013-11-28 20:28:09 -05:00
snipe
23374b7fc6 Another leftover from #88 2013-11-28 20:27:44 -05:00
snipe
f0f07b578b Fixing pivot for users 2013-11-28 20:19:23 -05:00
snipe
e23f1f10b7 Switched validation to alpha_space on notes 2013-11-28 20:02:11 -05:00
snipe
1b56c31a22 Fixed relationship between users/locations because fuck you ORM 2013-11-28 19:58:16 -05:00
snipe
9f7cbc8a4f Another fix related to #88, also accounts for users with invalid location_ids 2013-11-28 19:57:42 -05:00
snipe
f504175578 Smaller char req for first/last name, longer req for password 2013-11-28 19:45:47 -05:00
snipe
103faca6ef Clearer display of current vs trashed 2013-11-28 19:45:25 -05:00
snipe
2fce4884d7 Cosmetic changes 2013-11-28 19:45:05 -05:00
snipe
4142629665 Layout tweaks for mobile - related to #54 2013-11-28 19:22:39 -05:00
snipe
03821838eb Merge branch 'refs/heads/develop' 2013-11-28 18:48:15 -05:00
snipe
d2959e82a1 Redirect to /hardware to finish cleaning up re-routing from #88 2013-11-28 18:47:54 -05:00
snipe
6a5ccc89df Updated urls from #88 2013-11-28 18:44:20 -05:00
snipe
5858bfb99b Fixed language file paths caused by #88 2013-11-28 18:44:04 -05:00
snipe
3cce78c087 Weird layout 2013-11-28 18:43:30 -05:00
snipe
0d0d42f86a Merge branch 'refs/heads/develop' 2013-11-28 18:32:07 -05:00
snipe
d9a37f3822 Fixes #88 2013-11-28 18:31:36 -05:00
snipe
4fcdf72ab6 Responsive design bug fixes, placeholder code for #64 (commented out) 2013-11-28 16:50:53 -05:00
snipe
8680d98bc3 Fixed status display bug 2013-11-28 16:46:34 -05:00
snipe
b3bb2d4f11 Added soon-out-of-warranty example to test notifications 2013-11-28 16:37:24 -05:00
snipe
5c28089f2b RTD has to be 0, or it will conflict with the custom status labels 2013-11-28 16:37:05 -05:00
snipe
c3769adf80 Merge branch 'refs/heads/develop' 2013-11-28 15:52:23 -05:00
snipe
9e189aa309 Fixes #80, also prevents the user from checking out an asset that is undeployable, etc 2013-11-28 15:52:00 -05:00
snipe
7a3d92522e Merge pull request #86 from peelman/develop
Cancel and back buttons on edit forms now take you back properly
2013-11-28 11:13:32 -08:00
Nick Peelman
54013cfd42 Cancel and back buttons on edit forms now take you back properly 2013-11-28 10:23:52 -05:00
snipe
ccb7a5ddba Merge branch 'refs/heads/develop' 2013-11-28 01:16:05 -05:00
snipe
54d9d72549 Tweaks to example configs to prevent data leakage 2013-11-28 01:15:30 -05:00
snipe
819a606204 Changed modelno validator to alpha_space 2013-11-28 00:58:34 -05:00
snipe
33f81abcd3 Added a few more symbols for alpha_space 2013-11-28 00:58:08 -05:00
snipe
fbb0b22522 vi or GTFO
:P
2013-11-28 00:57:40 -05:00
snipe
6b017d12c0 Merge pull request #85 from snipe/gitignore_clean
Replace enumeration of files with wildcard
2013-11-27 21:33:23 -08:00
Brady Wetherington
6691447624 Replace enumeration of files with wildcard 2013-11-27 19:26:53 -05:00
snipe
39cc0c6ad7 Merge pull request #83 from peelman/IgorningProductionConfigs
Igorning production configs
2013-11-27 16:22:10 -08:00
Nick Peelman
cb87b16e28 its code, not a block quote...
i are stupid.
2013-11-27 19:22:04 -05:00
Nick Peelman
5be13d5eb5 Ignore production configs and sqlite files. Provide example files for renaming. Update install instructions in README accordingly. 2013-11-27 19:19:07 -05:00
snipe
eb015b1e22 Merge branch 'refs/heads/develop' 2013-11-27 14:14:41 -05:00
snipe
012a889444 Corrected license seat count associated with license. Fixes #75 2013-11-27 14:13:29 -05:00
snipe
e79d27c984 Merge branch 'refs/heads/develop' 2013-11-27 12:26:15 -05:00
snipe
6552401fd8 Fixes #77 2013-11-27 12:25:48 -05:00
snipe
da96126445 Merge pull request #78 from peelman/ExpandManufacturer
Expand Manufacturer
2013-11-27 09:05:10 -08:00
Nick Peelman
301ef3fddb Add Manufacturer and Model info to asset page 2013-11-27 11:37:22 -05:00
Nick Peelman
d6ba98252d Change N/A to Select One 2013-11-27 11:37:02 -05:00
snipe
9aa6b519c9 Wider display for address field in index blade 2013-11-27 10:34:51 -05:00
Nick Peelman
9f19792985 Save manufacturer ID 2013-11-27 10:32:50 -05:00
snipe
e4d56dba92 Merge pull request #73 from peelman/EmailInputTypes
Email input types
2013-11-27 07:28:15 -08:00
snipe
e49cb9eb85 Merge pull request #72 from peelman/AddAddressToLocation
Add address to location form
2013-11-27 07:27:45 -08:00
Nick Peelman
b7579a1420 Copy/Paste Error 2013-11-27 10:25:25 -05:00
Nick Peelman
6f59617546 Add to controller's edit method too... 2013-11-27 10:23:11 -05:00
Nick Peelman
996458dde3 missing semicolon 2013-11-27 10:18:43 -05:00
Nick Peelman
c2d889de12 Add necessary use statements, clean up the run-on return statement that was forming... 2013-11-27 10:18:15 -05:00
Nick Peelman
b5a0da03a8 Add manufacturer to edit form 2013-11-27 10:06:36 -05:00
Nick Peelman
8d3d337820 Change input type to email where relevant (better mobile support) 2013-11-27 08:42:31 -05:00
Nick Peelman
1314a1ffea Add location address values to controller save methods... 2013-11-27 08:30:51 -05:00
Nick Peelman
bed78dd935 Remove erroneous rule from address2 2013-11-27 08:28:00 -05:00
Nick Peelman
02e5333101 Add address fields to Location edit form 2013-11-27 08:21:12 -05:00
snipe
0aa3c676c2 Merge branch 'refs/heads/develop' 2013-11-27 03:40:21 -05:00
snipe
acd9505597 Two-digit decimal for purchase_cost 2013-11-27 03:40:01 -05:00
snipe
65cd28aad3 Fixes #14 2013-11-27 03:39:28 -05:00
snipe
12684b214a Merge branch 'refs/heads/develop' 2013-11-27 02:57:21 -05:00
snipe
5c72aabdea Updated readme for DB migrations reminder 2013-11-27 02:57:02 -05:00
snipe
a2b353fb6d Merge branch 'refs/heads/develop' 2013-11-27 02:41:04 -05:00
snipe
aa38d83ba6 Fixes #63 and #70 2013-11-27 02:38:16 -05:00
snipe
af69467bea Added notes to log table 2013-11-27 01:29:57 -05:00
snipe
432600ab7b Merge branch 'refs/heads/develop' 2013-11-27 01:21:19 -05:00
snipe
b1aa67ddb7 Fixes #69
Removed problem migration file
2013-11-27 01:20:57 -05:00
snipe
c16382e9d4 Merge branch 'refs/heads/develop' 2013-11-26 22:07:26 -05:00
snipe
9f9bb96076 Merge pull request #67 from abrahamvegh/patch-1
Patch 1
2013-11-26 18:56:54 -08:00
snipe
f1e280ccde Merge pull request #68 from abrahamvegh/patch-2
Fix insecure content warnings
2013-11-26 18:55:14 -08:00
Abraham Vegh
cfe28ad903 Update default.blade.php
Remove protocol from Google and jQuery CDN URLs, to fix insecure content warnings in SSL-only environments
2013-11-26 20:33:44 -05:00
Abraham Vegh
bda827c590 Update User.php
Fix incorrect Gravatar domain name
2013-11-26 20:19:30 -05:00
Abraham Vegh
ebc40857e4 Update AssetsController.php
Fix invalid SQL
2013-11-26 20:15:41 -05:00
137 changed files with 10769 additions and 13132 deletions

55
.gitignore vendored
View File

@@ -2,53 +2,10 @@
/vendor
composer.phar
.DS_Store
/app/storage/logs/log-apache2handler-2013-11-13.txt
/app/storage/logs/log-apache2handler-2013-11-15.txt
/app/storage/logs/log-apache2handler-2013-11-16.txt
/app/storage/logs/log-apache2handler-2013-11-17.txt
/app/storage/logs/log-apache2handler-2013-11-18.txt
/app/storage/logs/log-cli-2013-11-15.txt
/app/storage/logs/log-cli-2013-11-16.txt
/app/storage/logs/log-cli-2013-11-17.txt
/app/config/database.php
/app/config/mail.php
/app/database/*.sqlite
/app/storage/logs/*
/app/storage/meta/services.json
/app/storage/sessions/sess_2e8fff45812452223d364b3701c57599
/app/storage/views/074a6e3d45461743c9c70a430f24cb2f
/app/storage/views/0898d0a6e390c1e0936ed85aa00bceb4
/app/storage/views/0929c6954dff5de776b648f0b2b55d91
/app/storage/views/0dc4ec75184a1146d243b35fd8d1d021
/app/storage/views/1b5f399b4e32b64b23b481f67d30ddc5
/app/storage/views/23518861fe3abb3c5c057c78f23b753f
/app/storage/views/24eddb1a11f215387f0fa05d7921e1a9
/app/storage/views/30d1b9afa1342a177b8c64152c9f738c
/app/storage/views/340bc584ed2857c4811f8d9e4ed55a33
/app/storage/views/352ec637e6b79ee29be08ef818ed5f1d
/app/storage/views/37f1443261c8260dd7c911d9b8917825
/app/storage/views/3c4ca96328340990da1dc0a471dc79b0
/app/storage/views/40768d70f551f4516bd8a24fb88b8afd
/app/storage/views/48999d750f189d68ca608663076f97e0
/app/storage/views/49cbbff0cb8bb4a6f572e7e38d5db596
/app/storage/views/5986ecb5aca83df685042db5855d4dae
/app/storage/views/5be43cf2d633a60a5d1f0660233b7974
/app/storage/views/5c7b9f147de9946f763329aee3a41cd4
/app/storage/views/61c21173899f0c6480a2677300d494fe
/app/storage/views/63b6bd25c59d3397787af33458b46982
/app/storage/views/6469acf79871c5c8c654f8aed2d9fcc6
/app/storage/views/753f789108c3b45f2ec6f65ac851539c
/app/storage/views/76833349b6be4a848cfae6532d297f5b
/app/storage/views/840ff169b266f72943a78b16fde0fffd
/app/storage/views/88ce10ea8b4fc7eb9424e1ac29973566
/app/storage/views/8a09ff6951f92a1e85f23f6a1fddba52
/app/storage/views/9a3d299acb9a9a1b2e30136315085c8b
/app/storage/views/9d10051fa34809314499c21d6bb9bb6a
/app/storage/views/a19b88281da184faf892da4712b25309
/app/storage/views/b53f5ba729511e00a1b9d6834a7586bb
/app/storage/views/b53fae332b5d35fe1e61560b3313527f
/app/storage/views/bc9a5404610a0dd796dd1a8888d6c8e1
/app/storage/views/c40a92db96f64e54fa6054d57810b0aa
/app/storage/views/cb04f9bcd20531d048720218e0ade7a3
/app/storage/views/d08fe3bd6997060c2e567582871aa7a5
/app/storage/views/dcd5f5756492bf2673c48a3991e65740
/app/storage/views/ec0fde70340126123972825cebbffb49
/app/storage/views/ec4f837768ede927a321fc6ece6abbae
/app/storage/views/f72c29c1b97cb5dbad78efbe1198f1f2
/app/storage/sessions/*
/app/storage/views/*

View File

@@ -19,6 +19,17 @@ This isn't actually ready for anyone to use yet, as I'm still working out some o
-----
## Important Note on Updating
Whenever you pull down a new version from master or develop, when you grab the [latest official release](https://github.com/snipe/snipe-it/releases), make sure to run the following commands via command line:
php composer.phar dump-autoload
php artisan migrate
Forgetting to do this can mean your DB might end up out of sync with the new files you just pulled, or you may have some funky cached autoloader values. It's a good idea to get into the habit of running these every time you pull anything new down. If there are no database changes to migrate, it won't hurt anything to run migrations anyway.
-----
## How to Install
### 1) Downloading
@@ -48,13 +59,19 @@ This isn't actually ready for anyone to use yet, as I'm still working out some o
### 3) Setup Database
Create a database and update the file `app/config/database.php` with your database name and credentials.
Copy the file `app/config/database.php` to `database.php`, and update `database.php` with your database name and credentials
cp app/config/database.example.php app/config/database.php
vi app/config/database.example.php
-----
### 4) Setup Mail Settings
Now, you need to setup your mail settings by just opening and updating the following file `app/config/mail.php`.
Now, copy the file `app/config/mail.php` to `mail.php`, and update `mail.php` with your mail settings
cp app/config/mail.example.php app/config/mail.php
vi app/config/mail.example.php
This will be used to send emails to your users, when they register and they request a password reset.

View File

@@ -338,7 +338,7 @@ class AuthController extends BaseController {
Sentry::logout();
// Redirect to the users page
return Redirect::route('assets')->with('success', 'You have successfully logged out!');
return Redirect::route('home')->with('success', 'You have successfully logged out!');
}
}

View File

@@ -5,6 +5,7 @@ use Input;
use Redirect;
use Sentry;
use Validator;
use Location;
use View;
class ProfileController extends AuthorizedController {
@@ -20,7 +21,11 @@ class ProfileController extends AuthorizedController {
$user = Sentry::getUser();
// Show the page
return View::make('frontend/account/profile', compact('user'));
$location_list = array('' => 'Select One') + Location::lists('name', 'id');
// Show the page
return View::make('frontend/account/profile', compact('user'))->with('location_list',$location_list);
}
/**
@@ -34,6 +39,7 @@ class ProfileController extends AuthorizedController {
$rules = array(
'first_name' => 'required|min:3',
'last_name' => 'required|min:3',
'location_id' => 'required',
'website' => 'url',
'gravatar' => 'email',
);
@@ -55,7 +61,7 @@ class ProfileController extends AuthorizedController {
$user->first_name = Input::get('first_name');
$user->last_name = Input::get('last_name');
$user->website = Input::get('website');
$user->country = Input::get('country');
$user->location_id = Input::get('location_id');
$user->gravatar = Input::get('gravatar');
$user->save();

View File

@@ -61,7 +61,7 @@ class AssetsController extends AdminController {
));
**/
return View::make('backend/assets/index', compact('assets'));
return View::make('backend/hardware/index', compact('assets'));
}
public function getReports()
@@ -85,7 +85,7 @@ class AssetsController extends AdminController {
// Grab the dropdown list of status
$statuslabel_list = array('' => 'Pending') + array('1' => 'Ready to Deploy') + Statuslabel::lists('name', 'id');
return View::make('backend/assets/edit')->with('model_list',$model_list)->with('statuslabel_list',$statuslabel_list)->with('depreciation_list',$depreciation_list)->with('asset',new Asset);
return View::make('backend/hardware/edit')->with('model_list',$model_list)->with('statuslabel_list',$statuslabel_list)->with('depreciation_list',$depreciation_list)->with('asset',new Asset);
}
@@ -108,26 +108,49 @@ class AssetsController extends AdminController {
if ($asset->validate($new))
{
if ( e(Input::get('status_id')) == '') {
$asset->status_id = NULL;
} else {
$asset->status_id = e(Input::get('status_id'));
}
if (e(Input::get('warranty_months')) == '') {
$asset->warranty_months = NULL;
} else {
$asset->warranty_months = e(Input::get('warranty_months'));
}
if (e(Input::get('purchase_cost')) == '') {
$asset->purchase_cost = NULL;
} else {
$asset->purchase_cost = e(Input::get('purchase_cost'));
}
if (e(Input::get('purchase_date')) == '') {
$asset->purchase_date = NULL;
} else {
$asset->purchase_date = e(Input::get('purchase_date'));
}
// Save the asset data
$asset->name = e(Input::get('name'));
$asset->serial = e(Input::get('serial'));
$asset->model_id = e(Input::get('model_id'));
$asset->purchase_date = e(Input::get('purchase_date'));
$asset->purchase_cost = e(Input::get('purchase_cost'));
$asset->order_number = e(Input::get('order_number'));
$asset->notes = e(Input::get('notes'));
$asset->asset_tag = e(Input::get('asset_tag'));
$asset->status_id = e(Input::get('status_id'));
$asset->warranty_months = e(Input::get('warranty_months'));
$asset->user_id = Sentry::getId();
$asset->assigned_to = '0';
$asset->archived = '0';
$asset->physical = '1';
$asset->depreciate = '0';
// Was the asset created?
if($asset->save())
{
// Redirect to the asset listing page
return Redirect::to("admin")->with('success', Lang::get('admin/assets/message.create.success'));
return Redirect::to("hardware")->with('success', Lang::get('admin/hardware/message.create.success'));
}
}
else
@@ -138,7 +161,7 @@ class AssetsController extends AdminController {
}
// Redirect to the asset create page with an error
return Redirect::to('assets/create')->with('error', Lang::get('admin/assets/message.create.error'));
return Redirect::to('assets/create')->with('error', Lang::get('admin/hardware/message.create.error'));
}
@@ -155,19 +178,19 @@ class AssetsController extends AdminController {
if (is_null($asset = Asset::find($assetId)))
{
// Redirect to the asset management page
return Redirect::to('admin')->with('error', Lang::get('admin/assets/message.does_not_exist'));
return Redirect::to('hardware')->with('error', Lang::get('admin/hardware/message.does_not_exist'));
}
// Grab the dropdown list of models
$model_list = array('' => '') + Model::lists('name', 'id');
// Grab the dropdown list of status
$statuslabel_list = array('' => 'Pending') + array('1' => 'Ready to Deploy') + Statuslabel::lists('name', 'id');
$statuslabel_list = array('' => 'Pending') + array('0' => 'Ready to Deploy') + Statuslabel::lists('name', 'id');
// get depreciation list
$depreciation_list = array('' => '') + Depreciation::lists('name', 'id');
return View::make('backend/assets/edit', compact('asset'))->with('model_list',$model_list)->with('depreciation_list',$depreciation_list)->with('statuslabel_list',$statuslabel_list);
return View::make('backend/hardware/edit', compact('asset'))->with('model_list',$model_list)->with('depreciation_list',$depreciation_list)->with('statuslabel_list',$statuslabel_list);
}
@@ -183,17 +206,18 @@ class AssetsController extends AdminController {
if (is_null($asset = Asset::find($assetId)))
{
// Redirect to the asset management page with error
return Redirect::to('admin')->with('error', Lang::get('admin/assets/message.does_not_exist'));
return Redirect::to('hardware')->with('error', Lang::get('admin/hardware/message.does_not_exist'));
}
// Declare the rules for the form validation
$rules = array(
'name' => 'required|min:3',
'asset_tag' => 'required|alpha_dash|min:3',
'asset_tag' => 'required|alpha_space|min:3',
'model_id' => 'required',
'serial' => 'required|alpha_space|min:3',
'warranty_months' => 'required|integer',
'warranty_months' => 'integer',
'notes' => 'alpha_space',
);
// Create a new validator instance from our validation rules
@@ -206,17 +230,37 @@ class AssetsController extends AdminController {
return Redirect::back()->withInput()->withErrors($validator);
}
if ( e(Input::get('status_id')) == '') {
$asset->status_id = NULL;
} else {
$asset->status_id = e(Input::get('status_id'));
}
if (e(Input::get('warranty_months')) == '') {
$asset->warranty_months = NULL;
} else {
$asset->warranty_months = e(Input::get('warranty_months'));
}
if (e(Input::get('purchase_cost')) == '') {
$asset->purchase_cost = NULL;
} else {
$asset->purchase_cost = e(Input::get('purchase_cost'));
}
if (e(Input::get('purchase_date')) == '') {
$asset->purchase_date = NULL;
} else {
$asset->purchase_date = e(Input::get('purchase_date'));
}
// Update the asset data
$asset->name = e(Input::get('name'));
$asset->serial = e(Input::get('serial'));
$asset->model_id = e(Input::get('model_id'));
$asset->purchase_date = e(Input::get('purchase_date'));
$asset->purchase_cost = e(Input::get('purchase_cost'));
$asset->order_number = e(Input::get('order_number'));
$asset->asset_tag = e(Input::get('asset_tag'));
$asset->status_id = e(Input::get('status_id'));
$asset->warranty_months = e(Input::get('warranty_months'));
$asset->notes = e(Input::get('notes'));
$asset->physical = '1';
@@ -224,12 +268,12 @@ class AssetsController extends AdminController {
if($asset->save())
{
// Redirect to the new asset page
return Redirect::to("admin")->with('success', Lang::get('admin/assets/message.update.success'));
return Redirect::to("hardware")->with('success', Lang::get('admin/hardware/message.update.success'));
}
// Redirect to the asset management page with error
return Redirect::to("assets/$assetId/edit")->with('error', Lang::get('admin/assets/message.update.error'));
return Redirect::to("hardware/$assetId/edit")->with('error', Lang::get('admin/hardware/message.update.error'));
}
@@ -245,18 +289,18 @@ class AssetsController extends AdminController {
if (is_null($asset = Asset::find($assetId)))
{
// Redirect to the asset management page with error
return Redirect::to('admin')->with('error', Lang::get('admin/assets/message.not_found'));
return Redirect::to('hardware')->with('error', Lang::get('admin/hardware/message.not_found'));
}
if (isset($asset->assigneduser->id) && ($asset->assigneduser->id!=0)) {
// Redirect to the asset management page
return Redirect::to('admin')->with('error', Lang::get('admin/assets/message.assoc_users'));
return Redirect::to('hardware')->with('error', Lang::get('admin/hardware/message.assoc_users'));
} else {
// Delete the asset
$asset->delete();
// Redirect to the asset management page
return Redirect::to('admin')->with('success', Lang::get('admin/assets/message.delete.success'));
return Redirect::to('hardware')->with('success', Lang::get('admin/hardware/message.delete.success'));
}
@@ -272,17 +316,14 @@ class AssetsController extends AdminController {
if (is_null($asset = Asset::find($assetId)))
{
// Redirect to the asset management page with error
return Redirect::to('admin')->with('error', Lang::get('admin/assets/message.not_found'));
return Redirect::to('hardware')->with('error', Lang::get('admin/hardware/message.not_found'));
}
// Get the dropdown of users and then pass it to the checkout view
$users_list = array('' => 'Select a User') + DB::table('users')->select(DB::raw('concat (first_name," ",last_name) as full_name, id'))->lists('full_name', 'id');
$users_list = array('' => 'Select a User') + DB::table('users')->select(DB::raw('concat(first_name," ",last_name) as full_name, id'))->whereNull('deleted_at')->lists('full_name', 'id');
//print_r($users);
return View::make('backend/assets/checkout', compact('asset'))->with('users_list',$users_list);
return View::make('backend/hardware/checkout', compact('asset'))->with('users_list',$users_list);
}
@@ -295,7 +336,7 @@ class AssetsController extends AdminController {
if (is_null($asset = Asset::find($assetId)))
{
// Redirect to the asset management page with error
return Redirect::to('admin')->with('error', Lang::get('admin/assets/message.not_found'));
return Redirect::to('hardware')->with('error', Lang::get('admin/hardware/message.not_found'));
}
$assigned_to = e(Input::get('assigned_to'));
@@ -303,7 +344,8 @@ class AssetsController extends AdminController {
// Declare the rules for the form validation
$rules = array(
'assigned_to' => 'required|min:1'
'assigned_to' => 'required|min:1',
'note' => 'alpha_space',
);
// Create a new validator instance from our validation rules
@@ -321,7 +363,7 @@ class AssetsController extends AdminController {
if (is_null($assigned_to = User::find($assigned_to)))
{
// Redirect to the asset management page with error
return Redirect::to('admin')->with('error', Lang::get('admin/assets/message.user_does_not_exist'));
return Redirect::to('hardware')->with('error', Lang::get('admin/hardware/message.user_does_not_exist'));
}
// Update the asset data
@@ -336,18 +378,37 @@ class AssetsController extends AdminController {
$logaction->asset_type = 'hardware';
$logaction->location_id = $assigned_to->location_id;
$logaction->user_id = Sentry::getUser()->id;
$logaction->note = e(Input::get('note'));
$log = $logaction->logaction('checkout');
// Redirect to the new asset page
return Redirect::to("admin")->with('success', Lang::get('admin/assets/message.checkout.success'));
return Redirect::to("hardware")->with('success', Lang::get('admin/hardware/message.checkout.success'));
}
// Redirect to the asset management page with error
return Redirect::to("assets/$assetId/checkout")->with('error', Lang::get('admin/assets/message.checkout.error'));
return Redirect::to("hardware/$assetId/checkout")->with('error', Lang::get('admin/hardware/message.checkout.error'));
}
/**
* Check the asset back into inventory
*
* @param int $assetId
* @return View
**/
public function getCheckin($assetId)
{
// Check if the asset exists
if (is_null($asset = Asset::find($assetId)))
{
// Redirect to the asset management page with error
return Redirect::to('hardware')->with('error', Lang::get('admin/hardware/message.not_found'));
}
return View::make('backend/hardware/checkin', compact('asset'));
}
/**
* Check in the item so that it can be checked out again to someone else
*
@@ -360,7 +421,7 @@ class AssetsController extends AdminController {
if (is_null($asset = Asset::find($assetId)))
{
// Redirect to the asset management page with error
return Redirect::to('admin')->with('error', Lang::get('admin/assets/message.not_found'));
return Redirect::to('hardware')->with('error', Lang::get('admin/hardware/message.not_found'));
}
if (!is_null($asset->assigned_to)) {
@@ -371,25 +432,25 @@ class AssetsController extends AdminController {
$logaction->checkedout_to = $asset->assigned_to;
// Update the asset data to null, since it's being checked in
$asset->assigned_to = '';
$asset->assigned_to = '0';
// Was the asset updated?
if($asset->save())
{
$logaction->asset_id = $asset->id;
$logaction->location_id = NULL;
$logaction->asset_type = 'hardware';
$logaction->note = e(Input::get('note'));
$logaction->user_id = Sentry::getUser()->id;
$log = $logaction->logaction('checkin from');
// Redirect to the new asset page
return Redirect::to("admin")->with('success', Lang::get('admin/assets/message.checkin.success'));
return Redirect::to("hardware")->with('success', Lang::get('admin/hardware/message.checkin.success'));
}
// Redirect to the asset management page with error
return Redirect::to("admin")->with('error', Lang::get('admin/assets/message.checkin.error'));
return Redirect::to("hardware")->with('error', Lang::get('admin/hardware/message.checkin.error'));
}
@@ -404,10 +465,10 @@ class AssetsController extends AdminController {
$asset = Asset::find($assetId);
if (isset($asset->id)) {
return View::make('backend/assets/view', compact('asset'));
return View::make('backend/hardware/view', compact('asset'));
} else {
// Prepare the error message
$error = Lang::get('admin/assets/message.does_not_exist', compact('id' ));
$error = Lang::get('admin/hardware/message.does_not_exist', compact('id' ));
// Redirect to the user management page
return Redirect::route('assets')->with('error', $error);
@@ -415,6 +476,32 @@ class AssetsController extends AdminController {
}
/**
* Asset update.
*
* @param int $assetId
* @return View
*/
public function getClone($assetId = null)
{
// Check if the asset exists
if (is_null($asset = Asset::find($assetId)))
{
// Redirect to the asset management page
return Redirect::to('hardware')->with('error', Lang::get('admin/hardware/message.does_not_exist'));
}
// Grab the dropdown list of models
$model_list = array('' => '') + Model::lists('name', 'id');
// Grab the dropdown list of status
$statuslabel_list = array('' => 'Pending') + array('0' => 'Ready to Deploy') + Statuslabel::lists('name', 'id');
// get depreciation list
$depreciation_list = array('' => '') + Depreciation::lists('name', 'id');
return View::make('backend/hardware/clone', compact('asset'))->with('model_list',$model_list)->with('depreciation_list',$depreciation_list)->with('statuslabel_list',$statuslabel_list);
}
}

View File

@@ -56,7 +56,7 @@ class GroupsController extends AdminController {
{
// Declare the rules for the form validation
$rules = array(
'name' => 'required|alpha_dash|min:2',
'name' => 'required|alpha_space|min:2',
);
// Create a new validator instance from our validation rules

View File

@@ -201,17 +201,23 @@ class LicensesController extends AdminController {
// Check if the license exists
if (is_null($license = License::find($licenseId)))
{
// Redirect to the blogs management page
// Redirect to the license management page
return Redirect::to('admin/licenses')->with('error', Lang::get('admin/licenses/message.not_found'));
}
if (count($license->assignedusers) > 0) {
// Redirect to the asset management page
if (($license->assignedcount()) && ($license->assignedcount() > 0)) {
// Redirect to the license management page
return Redirect::to('admin/licenses')->with('error', Lang::get('admin/licenses/message.assoc_users'));
} else {
// Delete the license
// Delete the license and the associated license seats
$licenseseats = $license->licenseseats();
$licenseseats->delete();
$license->delete();
// Redirect to the licenses management page
return Redirect::to('admin/licenses')->with('success', Lang::get('admin/licenses/message.delete.success'));
}
@@ -233,7 +239,7 @@ class LicensesController extends AdminController {
}
// Get the dropdown of users and then pass it to the checkout view
$users_list = array('' => 'Select a User') + DB::table('users')->select(DB::raw('concat (first_name," ",last_name) as full_name, id'))->lists('full_name', 'id');
$users_list = array('' => 'Select a User') + DB::table('users')->select(DB::raw('concat (first_name," ",last_name) as full_name, id'))->whereNull('deleted_at')->lists('full_name', 'id');
//print_r($users);
return View::make('backend/licenses/checkout', compact('licenseseat'))->with('users_list',$users_list);
@@ -258,7 +264,8 @@ class LicensesController extends AdminController {
// Declare the rules for the form validation
$rules = array(
'assigned_to' => 'required|integer|min:1'
'assigned_to' => 'required|integer|min:1',
'note' => 'alpha_space',
);
// Create a new validator instance from our validation rules
@@ -293,6 +300,7 @@ class LicensesController extends AdminController {
$logaction->location_id = $assigned_to->location_id;
$logaction->asset_type = 'software';
$logaction->user_id = Sentry::getUser()->id;
$logaction->note = e(Input::get('note'));
$log = $logaction->logaction('checkout');
// Redirect to the new asset page
@@ -303,6 +311,24 @@ class LicensesController extends AdminController {
return Redirect::to('admin/licenses/$assetId/checkout')->with('error', Lang::get('admin/licenses/message.create.error'))->with('license',new License);
}
/**
* Check the license back into inventory
**/
public function getCheckin($seatId)
{
// Check if the asset exists
if (is_null($licenseseat = LicenseSeat::find($seatId)))
{
// Redirect to the asset management page with error
return Redirect::to('admin/licenses')->with('error', Lang::get('admin/licenses/message.not_found'));
}
return View::make('backend/licenses/checkin', compact('licenseseat'));
}
/**
* Check in the item so that it can be checked out again to someone else
**/
@@ -315,11 +341,27 @@ class LicensesController extends AdminController {
return Redirect::to('admin/licenses')->with('error', Lang::get('admin/licenses/message.not_found'));
}
// Declare the rules for the form validation
$rules = array(
'note' => 'alpha_space',
'notes' => 'alpha_space',
);
// Create a new validator instance from our validation rules
$validator = Validator::make(Input::all(), $rules);
// If validation fails, we'll exit the operation now.
if ($validator->fails())
{
// Ooops.. something went wrong
return Redirect::back()->withInput()->withErrors($validator);
}
$logaction = new Actionlog();
$logaction->checkedout_to = $licenseseat->assigned_to;
// Update the asset data
$licenseseat->assigned_to = '';
$licenseseat->assigned_to = '0';
// Was the asset updated?
if($licenseseat->save())
@@ -327,14 +369,15 @@ class LicensesController extends AdminController {
$logaction->asset_id = $licenseseat->id;
$logaction->location_id = NULL;
$logaction->asset_type = 'software';
$logaction->note = e(Input::get('note'));
$logaction->user_id = Sentry::getUser()->id;
$log = $logaction->logaction('checkin from');
// Redirect to the new asset page
// Redirect to the license page
return Redirect::to("admin/licenses")->with('success', Lang::get('admin/licenses/message.checkin.success'));
}
// Redirect to the asset management page with error
// Redirect to the license page with error
return Redirect::to("admin/licenses")->with('error', Lang::get('admin/licenses/message.checkin.error'));
}
@@ -357,10 +400,7 @@ class LicensesController extends AdminController {
// Redirect to the user management page
return Redirect::route('licenses')->with('error', $error);
}
}
}

View File

@@ -63,6 +63,8 @@ class LocationsController extends AdminController {
// Save the location data
$location->name = e(Input::get('name'));
$location->address = e(Input::get('address'));
$location->address2 = e(Input::get('address2'));
$location->city = e(Input::get('city'));
$location->state = e(Input::get('state'));
$location->country = e(Input::get('country'));
@@ -139,6 +141,8 @@ class LocationsController extends AdminController {
// Update the location data
$location->name = e(Input::get('name'));
$location->address = e(Input::get('address'));
$location->address2 = e(Input::get('address2'));
$location->city = e(Input::get('city'));
$location->state = e(Input::get('state'));
$location->country = e(Input::get('country'));

View File

@@ -9,6 +9,7 @@ use Setting;
use Sentry;
use DB;
use Depreciation;
use Manufacturer;
use Str;
use Validator;
use View;
@@ -38,8 +39,14 @@ class ModelsController extends AdminController {
{
// Show the page
$depreciation_list = array('' => 'Do Not Depreciate') + Depreciation::lists('name', 'id');
$category_list = array('' => '') + DB::table('categories')->lists('name', 'id');
return View::make('backend/models/edit')->with('category_list',$category_list)->with('depreciation_list',$depreciation_list)->with('model',new Model);
$manufacturer_list = array('' => 'Select One') + Manufacturer::lists('name', 'id');
$category_list = array('' => '') + DB::table('categories')->whereNull('deleted_at')->lists('name', 'id');
$view = View::make('backend/models/edit');
$view->with('category_list',$category_list);
$view->with('depreciation_list',$depreciation_list);
$view->with('manufacturer_list',$manufacturer_list);
$view->with('model',new Model);
return $view;
}
@@ -65,6 +72,7 @@ class ModelsController extends AdminController {
$model->name = e(Input::get('name'));
$model->modelno = e(Input::get('modelno'));
$model->depreciation_id = e(Input::get('depreciation_id'));
$model->manufacturer_id = e(Input::get('manufacturer_id'));
$model->category_id = e(Input::get('category_id'));
$model->user_id = Sentry::getId();
@@ -73,7 +81,7 @@ class ModelsController extends AdminController {
if($model->save())
{
// Redirect to the new model page
return Redirect::to("assets/models")->with('success', Lang::get('admin/models/message.create.success'));
return Redirect::to("hardware/models")->with('success', Lang::get('admin/models/message.create.success'));
}
}
else
@@ -84,7 +92,7 @@ class ModelsController extends AdminController {
}
// Redirect to the model create page
return Redirect::to('assets/models/create')->with('error', Lang::get('admin/models/message.create.error'));
return Redirect::to('hardware/models/create')->with('error', Lang::get('admin/models/message.create.error'));
}
@@ -99,13 +107,18 @@ class ModelsController extends AdminController {
// Check if the model exists
if (is_null($model = Model::find($modelId)))
{
// Redirect to the blogs management page
// Redirect to the model management page
return Redirect::to('assets/models')->with('error', Lang::get('admin/models/message.does_not_exist'));
}
$depreciation_list = array('' => 'Do Not Depreciate') + Depreciation::lists('name', 'id');
$manufacturer_list = array('' => 'Select One') + Manufacturer::lists('name', 'id');
$category_list = array('' => '') + DB::table('categories')->lists('name', 'id');
return View::make('backend/models/edit', compact('model'))->with('category_list',$category_list)->with('depreciation_list',$depreciation_list);
$view = View::make('backend/models/edit', compact('model'));
$view->with('category_list',$category_list);
$view->with('depreciation_list',$depreciation_list);
$view->with('manufacturer_list',$manufacturer_list);
return $view;
}
@@ -135,6 +148,7 @@ class ModelsController extends AdminController {
$model->name = e(Input::get('name'));
$model->modelno = e(Input::get('modelno'));
$model->depreciation_id = e(Input::get('depreciation_id'));
$model->manufacturer_id = e(Input::get('manufacturer_id'));
$model->category_id = e(Input::get('category_id'));
@@ -142,7 +156,7 @@ class ModelsController extends AdminController {
if($model->save())
{
// Redirect to the new model page
return Redirect::to("assets/models/$modelId/edit")->with('success', Lang::get('admin/models/message.update.success'));
return Redirect::to("hardware/models/$modelId/edit")->with('success', Lang::get('admin/models/message.update.success'));
}
}
else
@@ -153,7 +167,7 @@ class ModelsController extends AdminController {
}
// Redirect to the model create page
return Redirect::to("assets/models/$modelId/edit")->with('error', Lang::get('admin/models/message.update.error'));
return Redirect::to("hardware/models/$modelId/edit")->with('error', Lang::get('admin/models/message.update.error'));
}
@@ -169,23 +183,20 @@ class ModelsController extends AdminController {
if (is_null($model = Model::find($modelId)))
{
// Redirect to the blogs management page
return Redirect::to('assets/models')->with('error', Lang::get('admin/models/message.not_found'));
return Redirect::to('hardware/models')->with('error', Lang::get('admin/models/message.not_found'));
}
if ($model->assets->count() > 0) {
// Throw an error that this model is associated with assets
return Redirect::to('assets/models')->with('error', Lang::get('admin/models/message.assoc_users'));
return Redirect::to('hardware/models')->with('error', Lang::get('admin/models/message.assoc_users'));
} else {
// Delete the model
$model->delete();
// Redirect to the models management page
return Redirect::to('assets/models')->with('success', Lang::get('admin/models/message.delete.success'));
return Redirect::to('hardware/models')->with('success', Lang::get('admin/models/message.delete.success'));
}
}
@@ -213,5 +224,4 @@ class ModelsController extends AdminController {
}
}

View File

@@ -27,11 +27,11 @@ class UsersController extends AdminController {
* @var array
*/
protected $validationRules = array(
'first_name' => 'required|alpha_space|min:3',
'last_name' => 'required|alpha_space|min:3',
'first_name' => 'required|alpha_space|min:2',
'last_name' => 'required|alpha_space|min:2',
'email' => 'required|email|unique:users,email',
'password' => 'required|between:3,32',
'password_confirm' => 'required|between:3,32|same:password',
'password' => 'required|between:10,32',
'password_confirm' => 'required|between:10,32|same:password',
);
/**
@@ -353,6 +353,7 @@ class UsersController extends AdminController {
return Redirect::route('users')->with('error', $error);
}
// Do we have permission to delete this user?
if ($user->isSuperUser() and ! Sentry::getUser()->isSuperUser())
{
@@ -360,6 +361,18 @@ class UsersController extends AdminController {
return Redirect::route('users')->with('error', 'Insufficient permissions!');
}
if (count($user->assets) > 0) {
// Redirect to the user management page
return Redirect::route('users')->with('error', 'This user still has '.count($user->assets).' assets associated with them.');
}
if (count($user->licenses) > 0) {
// Redirect to the user management page
return Redirect::route('users')->with('error', 'This user still has '.count($user->licenses).' licenses associated with them.');
}
// Delete the user
$user->delete();

View File

@@ -1,28 +0,0 @@
<?php
use Illuminate\Database\Migrations\Migration;
class DropCommentsPostsTables extends Migration {
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::drop('posts');
Schema::drop('comments');
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
//
}
}

View File

@@ -0,0 +1,36 @@
<?php
use Illuminate\Database\Migrations\Migration;
class AddNoteToAssetLogsTable extends Migration {
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
//
Schema::table('asset_logs', function($table)
{
$table->text('note')->nullable();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
//
Schema::table('asset_logs', function($table)
{
$table->dropColumn('note');
});
}
}

View File

@@ -13,46 +13,50 @@ class ActionlogSeeder extends Seeder {
// Pending (status_id is null, assigned_to = 0)
$assetlog[] = array(
'user_id' => '1',
'user_id' => '1',
'action_type' => 'checkout',
'asset_id' => '1',
'checkedout_to' => '3',
'location_id' => '3',
'added_on' => $date->modify('-10 day'),
'asset_type' => 'hardware',
'asset_id' => '1',
'checkedout_to' => '3',
'location_id' => '3',
'added_on' => $date->modify('-10 day'),
'asset_type' => 'hardware',
'note' => NULL,
);
// Pending (status_id is null, assigned_to = 0)
$assetlog[] = array(
'user_id' => '1',
'user_id' => '1',
'action_type' => 'checkin from',
'asset_id' => '1',
'checkedout_to' => '3',
'location_id' => NULL,
'added_on' => $date->modify('-10 day'),
'asset_type' => 'hardware',
'asset_id' => '1',
'checkedout_to' => '3',
'location_id' => NULL,
'added_on' => $date->modify('-10 day'),
'asset_type' => 'hardware',
'note' => NULL,
);
// Pending (status_id is null, assigned_to = 0)
$assetlog[] = array(
'user_id' => '1',
'user_id' => '1',
'action_type' => 'checkout',
'asset_id' => '1',
'checkedout_to' => '3',
'location_id' => '3',
'added_on' => $date->modify('-10 day'),
'asset_type' => 'software',
'asset_id' => '1',
'checkedout_to' => '3',
'location_id' => '3',
'added_on' => $date->modify('-10 day'),
'asset_type' => 'software',
'note' => NULL,
);
// Pending (status_id is null, assigned_to = 0)
$assetlog[] = array(
'user_id' => '1',
'user_id' => '1',
'action_type' => 'checkin from',
'asset_id' => '1',
'checkedout_to' => '3',
'location_id' => NULL,
'added_on' => $date->modify('-10 day'),
'asset_type' => 'software',
'asset_id' => '1',
'checkedout_to' => '3',
'location_id' => NULL,
'added_on' => $date->modify('-10 day'),
'asset_type' => 'software',
'note' => NULL,
);

View File

@@ -266,6 +266,31 @@ class AssetsSeeder extends Seeder {
'depreciate' => '0',
);
// Almost out of warranty example
$asset[] = array(
'name' => 'Noah MBP',
'asset_tag' => 'NNY98056775',
'model_id' => 2,
'serial' => 'WS909098888',
'purchase_date' => '2011-12-20',
'purchase_cost' => '699.99',
'order_number' => '657756',
'created_at' => $date->modify('-10 day'),
'updated_at' => $date->modify('-3 day'),
'user_id' => 2,
'assigned_to' => 0,
'physical' => 1,
'archived' => 0,
'status_id' => 0,
'notes' => '',
'deleted_at' => NULL,
'archived' => '0',
'warranty_months' => '24',
'depreciate' => '0',
);
// Delete all the old data
DB::table('assets')->truncate();

View File

@@ -7,6 +7,7 @@ return array(
'currency' => '$',
'save' => 'Save',
'checkout' => 'Checkout',
'checkin' => 'Checkin',
'cancel' => 'Cancel'
);

View File

@@ -7,7 +7,7 @@ class ActionLog extends Eloquent {
public function assetlog() {
return $this->belongsTo('Asset','asset_id');
return $this->belongsTo('Asset','asset_id')->withTrashed();
}
public function licenselog() {
@@ -19,7 +19,7 @@ class ActionLog extends Eloquent {
}
public function userlog() {
return $this->belongsTo('User','checkedout_to');
return $this->belongsTo('User','checkedout_to')->withTrashed();
}

View File

@@ -9,7 +9,9 @@ class Asset extends Elegant {
'asset_tag' => 'required|alpha_space|min:3|unique:assets',
'model_id' => 'required',
'serial' => 'required|alpha_dash|min:3',
'warranty_months' => 'integer|min:1',
'warranty_months' => 'integer',
'note' => 'alpha_space',
'notes' => 'alpha_space',
);
@@ -56,7 +58,7 @@ class Asset extends Elegant {
**/
public function assetloc()
{
return $this->assigneduser->hasOne('Location');
return $this->assigneduser->userloc();
}
/**
@@ -64,7 +66,7 @@ class Asset extends Elegant {
*/
public function assetlog()
{
return $this->hasMany('Actionlog','asset_id')->where('asset_type','=','hardware')->orderBy('added_on', 'desc');
return $this->hasMany('Actionlog','asset_id')->where('asset_type','=','hardware')->orderBy('added_on', 'desc')->withTrashed();
}
/**
@@ -81,7 +83,6 @@ class Asset extends Elegant {
public static function assetcount()
{
return DB::table('assets')
->where('physical', '=', '1')
->whereNull('deleted_at','and')
->count();
@@ -143,5 +144,9 @@ class Asset extends Elegant {
return $this->belongsTo('Depreciation','id');
}
public function model()
{
return $this->belongsTo('Model','model_id');
}
}

View File

@@ -16,6 +16,8 @@ class License extends Elegant {
'serial' => 'required|alpha_dash|min:5',
'seats' => 'required|min:1|integer',
'license_email' => 'email',
'note' => 'alpha_space',
'notes' => 'alpha_space',
);
public function assignedusers()
@@ -24,13 +26,6 @@ class License extends Elegant {
}
/**
* Get the asset's location based on the assigned user
**/
public function assetloc()
{
return $this->assignedusers->hasOne('Location');
}
/**
* Get asset logs for this asset

View File

@@ -2,6 +2,7 @@
class LicenseSeat extends Elegant {
protected $table = 'license_seats';
protected $softDelete = true;
public function license()
{
@@ -10,7 +11,7 @@ class LicenseSeat extends Elegant {
public function user()
{
return $this->belongsTo('User','assigned_to');
return $this->belongsTo('User','assigned_to')->withTrashed();
}
}

View File

@@ -7,10 +7,12 @@ class Location extends Elegant {
protected $table = 'locations';
protected $rules = array(
'name' => 'required|alpha_space|min:3',
'address' => 'required|alpha_space|min:5',
'address2' => 'alpha_space|min:5',
'city' => 'required|alpha_space|min:3',
'state' => 'required|alpha|min:2|max:2',
'country' => 'required|alpha|min:2|max:2',
'zip' => 'alpha_dash|min:5',
'zip' => 'alpha_dash|min:5',
);
public function has_users()

View File

@@ -5,8 +5,9 @@ class Model extends Elegant {
// Declare the rules for the form validation
protected $rules = array(
'name' => 'required|alpha_space|min:3',
'modelno' => 'alpha_dash|min:1',
'modelno' => 'alpha_space|min:1',
'category_id' => 'required|integer',
'manufacturer_id' => 'required|integer',
);
public function assets()

View File

@@ -5,7 +5,13 @@ class Setting extends Elegant {
public static function getSettings()
{
return Setting::find(1);
static $static_cache = NULL;
if (!$static_cache) {
$static_cache = Setting::find(1);
}
return $static_cache;
}
}

View File

@@ -33,18 +33,18 @@ class User extends SentryUserModel {
$gravatar = md5(strtolower(trim($this->gravatar)));
// Return the Gravatar url
return "//gravatar.org/avatar/{$gravatar}";
return "//gravatar.com/avatar/{$gravatar}";
}
public function assets()
{
return $this->hasMany('Asset', 'assigned_to');
return $this->hasMany('Asset', 'assigned_to')->withTrashed();
}
public function licenses()
{
return $this->belongsToMany('License', 'license_seats', 'assigned_to', 'license_id');
return $this->belongsToMany('License', 'license_seats', 'assigned_to', 'license_id')->withTrashed()->withPivot('id');
}
@@ -53,7 +53,7 @@ class User extends SentryUserModel {
*/
public function userlog()
{
return $this->hasMany('Actionlog','checkedout_to');
return $this->hasMany('Actionlog','checkedout_to')->withTrashed();
}
@@ -62,7 +62,7 @@ class User extends SentryUserModel {
**/
public function userloc()
{
return $this->hasOne('Location','id');
return $this->belongsTo('Location','location_id')->withTrashed();
}
}

View File

@@ -12,11 +12,27 @@
Route::when('admin/*', 'crsf', array('post'));
Route::when('assets/*', 'crsf', array('post'));
Route::when('hardware/*', 'crsf', array('post'));
Route::group(array('prefix' => 'assets'), function()
Route::group(array('prefix' => 'hardware'), function()
{
Route::get('/', array('as' => '', 'uses' => 'Controllers\Admin\AssetsController@getIndex'));
Route::get('/', array('as' => 'hardware', 'uses' => 'Controllers\Admin\AssetsController@getIndex'));
Route::get('create', array('as' => 'create/hardware', 'uses' => 'Controllers\Admin\AssetsController@getCreate'));
Route::post('create', 'Controllers\Admin\AssetsController@postCreate');
Route::get('{assetId}/edit', array('as' => 'update/hardware', 'uses' => 'Controllers\Admin\AssetsController@getEdit'));
Route::post('{assetId}/edit', 'Controllers\Admin\AssetsController@postEdit');
Route::get('{assetId}/clone', array('as' => 'clone/hardware', 'uses' => 'Controllers\Admin\AssetsController@getClone'));
Route::post('{assetId}/clone', 'Controllers\Admin\AssetsController@postCreate');
Route::get('{assetId}/delete', array('as' => 'delete/hardware', 'uses' => 'Controllers\Admin\AssetsController@getDelete'));
Route::get('{assetId}/checkout', array('as' => 'checkout/hardware', 'uses' => 'Controllers\Admin\AssetsController@getCheckout'));
Route::post('{assetId}/checkout', 'Controllers\Admin\AssetsController@postCheckout');
Route::get('{assetId}/checkin', array('as' => 'checkin/hardware', 'uses' => 'Controllers\Admin\AssetsController@getCheckin'));
Route::post('{assetId}/checkin', 'Controllers\Admin\AssetsController@postCheckin');
Route::get('{assetId}/view', array('as' => 'view/hardware', 'uses' => 'Controllers\Admin\AssetsController@getView'));
# Asset Model Management
Route::group(array('prefix' => 'models'), function()
{
@@ -29,19 +45,6 @@ Route::group(array('prefix' => 'assets'), function()
Route::get('{modelId}/view', array('as' => 'view/model', 'uses' => 'Controllers\Admin\ModelsController@getView'));
});
Route::get('/', array('as' => 'assets', 'uses' => 'Controllers\Admin\AssetsController@getIndex'));
Route::get('create', array('as' => 'create/asset', 'uses' => 'Controllers\Admin\AssetsController@getCreate'));
Route::post('create', 'Controllers\Admin\AssetsController@postCreate');
Route::get('{assetId}/edit', array('as' => 'update/asset', 'uses' => 'Controllers\Admin\AssetsController@getEdit'));
Route::post('{assetId}/edit', 'Controllers\Admin\AssetsController@postEdit');
Route::get('{assetId}/delete', array('as' => 'delete/asset', 'uses' => 'Controllers\Admin\AssetsController@getDelete'));
Route::get('{assetId}/checkout', array('as' => 'checkout/asset', 'uses' => 'Controllers\Admin\AssetsController@getCheckout'));
Route::post('{assetId}/checkout', 'Controllers\Admin\AssetsController@postCheckout');
Route::get('{assetId}/checkin', array('as' => 'checkin/asset', 'uses' => 'Controllers\Admin\AssetsController@postCheckin'));
Route::get('{assetId}/view', array('as' => 'view/asset', 'uses' => 'Controllers\Admin\AssetsController@getView'));
});
@@ -70,15 +73,12 @@ Route::group(array('prefix' => 'admin'), function()
Route::get('{licenseId}/delete', array('as' => 'delete/license', 'uses' => 'Controllers\Admin\LicensesController@getDelete'));
Route::get('{licenseId}/checkout', array('as' => 'checkout/license', 'uses' => 'Controllers\Admin\LicensesController@getCheckout'));
Route::post('{licenseId}/checkout', 'Controllers\Admin\LicensesController@postCheckout');
Route::get('{licenseId}/checkin', array('as' => 'checkin/license', 'uses' => 'Controllers\Admin\LicensesController@postCheckin'));
Route::get('{licenseId}/checkin', array('as' => 'checkin/license', 'uses' => 'Controllers\Admin\LicensesController@getCheckin'));
Route::post('{licenseId}/checkin', 'Controllers\Admin\LicensesController@postCheckin');
Route::get('{licenseId}/view', array('as' => 'view/license', 'uses' => 'Controllers\Admin\LicensesController@getView'));
});
// default admin screen until we get a fancy dashboard up
Route::get('/', array('as' => 'assets', 'uses' => 'Controllers\Admin\AssetsController@getIndex'));
# Admin Settings Routes (for categories, maufactureres, etc)
Route::group(array('prefix' => 'settings'), function()
{
@@ -257,6 +257,11 @@ Route::group(array('prefix' => 'account'), function()
|
*/
// Redirect requests to / to the hardware section until we get a fancy dashboard set up
Route::get('/', function()
{
return Redirect::to('hardware');
});
Route::get('/', array('as' => 'home', 'uses' => 'Controllers\Admin\AssetsController@getIndex'));
Route::get('reports', array('as' => 'reports', 'uses' => 'Controllers\Admin\AssetsController@getReports'));

View File

@@ -1,2 +0,0 @@
*
!.gitignore

View File

@@ -1,2 +0,0 @@
*
!.gitignore

View File

@@ -2,5 +2,5 @@
Validator::extend('alpha_space', function($attribute,$value,$parameters)
{
return preg_match("/^[-_,. a-zA-Z0-9]+$/",$value);
return preg_match("/^[-+:?'()_,!. a-zA-Z0-9]+$/",$value);
});

View File

@@ -1,77 +0,0 @@
@extends('backend/layouts/default')
{{-- Page title --}}
@section('title')
@if ($asset->id)
Checkout Asset to User::
@else
Checkout Asset to User ::
@endif
@parent
@stop
{{-- Page content --}}
@section('content')
<div class="page-header">
<h3>
@if ($asset->id)
Checkout Asset to User
@else
Create Asset
@endif
<div class="pull-right">
<a href="{{ route('assets') }}" class="btn btn-small btn-inverse"><i class="icon-circle-arrow-left icon-white"></i> Back</a>
</div>
</h3>
</div>
<form class="form-horizontal" method="post" action="" autocomplete="off">
<!-- CSRF Token -->
<input type="hidden" name="_token" value="{{ csrf_token() }}" />
<!-- Tabs Content -->
<div class="tab-content">
<div class="tab-pane active" id="tab-general">
<!-- Asset Tag -->
<div class="control-group">
<label class="control-label" for="asset_tag">Asset Tag</label>
<div class="controls">
<input class="span4" readonly="readonly" type="text" name="asset_tag" id="asset_tag" value="{{ $asset->asset_tag }}" />
</div>
</div>
<!-- Asset Name -->
<div class="control-group">
<label class="control-label" for="name">Asset Name</label>
<div class="controls">
<input class="span4" readonly="readonly" type="text" name="name" id="asset_name" value="{{ $asset->name }}" />
</div>
</div>
<!-- User -->
<div class="control-group {{ $errors->has('assigned_to') ? 'error' : '' }}">
<label class="control-label" for="parent">Checkout to</label>
<div class="controls">
{{ Form::select('assigned_to', $users_list , Input::old('assigned_to', $asset->assigned_to), array('class'=>'select2', 'style'=>'min-width:350px')) }}
{{ $errors->first('assigned_to', '<span class="help-inline">:message</span>') }}
</div>
</div>
</div>
<!-- Form actions -->
<div class="control-group">
<div class="controls">
<a class="btn btn-link" href="{{ route('assets') }}">@lang('general.cancel')</a>
<button type="submit" class="btn-flat success"><i class="icon-ok icon-white"></i>@lang('general.checkout')</button>
</div>
</div>
</form>
@stop

View File

@@ -1,171 +0,0 @@
@extends('backend/layouts/default')
{{-- Page title --}}
@section('title')
View Asset {{ $asset->asset_tag }} ::
@parent
@stop
{{-- Page content --}}
@section('content')
<div id="pad-wrapper" class="user-profile">
<!-- header -->
<h3 class="name">History for {{ $asset->asset_tag }} ({{ $asset->name }})
<div class="btn-group pull-right">
<button class="btn glow">Actions</button>
<button class="btn glow dropdown-toggle" data-toggle="dropdown">
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
@if ($asset->assigned_to != 0)
<li><a href="{{ route('checkin/asset', $asset->id) }}" class="btn-flat info">Checkin</a></li>
@else
<li><a href="{{ route('checkout/asset', $asset->id) }}" class="btn-flat success">Checkout</a></li>
@endif
<li><a href="{{ route('update/asset', $asset->id) }}">Edit Asset</a></li>
</ul>
</div>
</h3>
<div class="row-fluid profile">
<!-- bio, new note & orders column -->
<div class="span9 bio">
<div class="profile-box">
<br>
<!-- checked out assets table -->
<table class="table table-hover">
<thead>
<tr>
<th class="span1"></th>
<th class="span3"><span class="line"></span>Date</th>
<th class="span3"><span class="line"></span>Admin</th>
<th class="span3"><span class="line"></span>Action</th>
<th class="span3"><span class="line"></span>User</th>
</tr>
</thead>
<tbody>
@if (count($asset->assetlog) > 0)
@foreach ($asset->assetlog as $log)
<tr>
<td>
@if ((isset($log->checkedout_to)) && ($log->checkedout_to == $asset->assigned_to))
<i class="icon-star"></i>
@endif
</td>
<td>{{ $log->added_on }}</td>
<td>
@if (isset($log->user_id))
{{ $log->adminlog->fullName() }}
@endif
</td>
<td>{{ $log->action_type }}</td>
<td>
@if (isset($log->checkedout_to))
<a href="{{ route('view/user', $log->checkedout_to) }}">
{{ $log->userlog->fullName() }}
</a>
@endif
</td>
</tr>
@endforeach
@endif
<tr>
<td></td>
<td>{{ $asset->created_at }}</td>
<td>
@if ($asset->adminuser->id)
{{ $asset->adminuser->fullName() }}
@else
Unknown Admin
@endif
</td>
<td>created asset</td>
<td></td>
</tr>
</tbody>
</table>
</div>
</div>
<!-- side address column -->
<div class="span3 address pull-right">
<h6><br>More Info:</h6>
<ul>
@if ($asset->purchase_date)
<li>Purchased On: {{ $asset->purchase_date }} </li>
@endif
@if ($asset->purchase_cost)
<li>Purchase Cost: ${{ number_format($asset->purchase_cost) }} </li>
@endif
@if ($asset->order_number)
<li>Order #: {{ $asset->order_number }} </li>
@endif
@if ($asset->warranty_months)
<li>Warranty: {{ $asset->warranty_months }} months</li>
<li>Expires: {{ $asset->warrantee_expires() }}</li>
@endif
@if ($asset->depreciation)
<li>Depreciation: {{ $asset->depreciation->name }} ({{ $asset->depreciation->months }} months)</li>
<li>Depreciates On: {{ $asset->depreciated_date() }} </li>
<li>Fully Depreciated: {{ $asset->months_until_depreciated()->m }} months, {{ $asset->months_until_depreciated()->y }} years</li>
@endif
</ul>
@if ((isset($asset->assigned_to ) && ($asset->assigned_to > 0)))
<h6><br>Checked Out To:</h6>
<ul>
<li><img src="{{ $asset->assigneduser->gravatar() }}" class="img-circle" style="width: 100px; margin-right: 20px;" /><br /><br /></li>
<li><a href="{{ route('view/user', $asset->assigned_to) }}">{{ $asset->assigneduser->fullName() }}</a></li>
@if (isset($asset->assetloc->address))
<li>{{ $asset->assetloc->address }}
@if (isset($asset->assetloc->address2))
{{ $asset->assetloc->address2 }}
@endif
</li>
@if (isset($asset->assetloc->city))
<li>{{ $asset->assetloc->city }}, {{ $asset->assetloc->state }} {{ $asset->assetloc->zip }}</li>
@endif
@endif
@if (isset($asset->assigneduser->email))
<li><br /><i class="icon-envelope-alt"></i> <a href="mailto:{{ $asset->assigneduser->email }}">{{ $asset->assigneduser->email }}</a></li>
@endif
@if (isset($asset->assigneduser->phone))
<li><i class="icon-phone"></i> {{ $asset->assigneduser->phone }}</li>
@endif
<li><br /><a href="{{ route('checkin/asset', $asset->id) }}" class="btn-flat large info ">Checkin Asset</a></li>
</ul>
@else
<ul>
<li><br><br />This asset is not currently assigned to anyone. You may check it into inventory
using the button below.</li>
<li><br><br /><a href="{{ route('checkout/asset', $asset->id) }}" class="btn-flat large success">Checkout Asset</a></li>
</ul>
@endif
</div>
@stop

View File

@@ -12,48 +12,46 @@
{{-- Page content --}}
@section('content')
<div id="pad-wrapper" class="user-profile">
<!-- header -->
<h3 class="name">Asset Categories
<div class="pull-right">
<a href="{{ route('categories') }}" class="btn-flat gray"><i class="icon-circle-arrow-left icon-white"></i> Back</a>
</div>
</h3>
<div class="row-fluid profile">
<!-- bio, new note & orders column -->
<div class="span9 bio">
<div class="profile-box">
<br>
<div class="row header">
<div class="col-md-12">
<a href="{{ route('categories') }}" class="btn-flat gray pull-right"><i class="icon-circle-arrow-left icon-white"></i> Back</a>
<h3>Asset Categories</h3>
</div>
</div>
<div class="user-profile">
<div class="row profile">
<div class="col-md-9 bio">
<form class="form-horizontal" method="post" action="" autocomplete="off">
<!-- CSRF Token -->
<input type="hidden" name="_token" value="{{ csrf_token() }}" />
<!-- Category Title -->
<div class="control-group {{ $errors->has('name') ? 'error' : '' }}">
<label class="control-label" for="name">Category Name</label>
<div class="controls">
<input type="text" name="name" id="name" value="{{ Input::old('name', $category->name) }}" />
{{ $errors->first('name', '<span class="help-inline">:message</span>') }}
</div>
<!-- Name -->
<div class="form-group {{ $errors->has('name') ? ' has-error' : '' }}">
<label for="name" class="col-md-2 control-label">Category Name</label>
<div class="col-md-7">
<input class="form-control" type="text" name="name" id="name" value="{{ Input::old('name', $category->name) }}" />
{{ $errors->first('name', '<span class="alert-msg"><i class="icon-remove-sign"></i> :message</span>') }}
</div>
</div>
<!-- Form actions -->
<div class="control-group">
<div class="controls">
<div class="form-group">
<label class="col-md-2 control-label"></label>
<div class="col-md-7">
<a class="btn btn-link" href="{{ route('categories') }}">@lang('general.cancel')</a>
<button type="submit" class="btn-flat success"><i class="icon-ok icon-white"></i> @lang('general.save')</button>
<button type="submit" class="btn btn-success"><i class="icon-ok icon-white"></i> @lang('general.save')</button>
</div>
</div>
</form>
</div>
</div>
<br><br><br><br><br>
</div>
<!-- side address column -->
<div class="span3 address pull-right">
<div class="col-md-3 col-xs-12 address pull-right">
<br /><br />
<h6>About Asset Categories</h6>
<p>Asset categories help you organize your assets. Some
@@ -61,4 +59,6 @@
and so on, but you can use asset categories any way that makes sense for you. </p>
</div>
</div>
</div>
@stop

View File

@@ -8,53 +8,53 @@ Asset Categories ::
{{-- Page content --}}
@section('content')
<div id="pad-wrapper" class="user-profile">
<!-- header -->
<h3 class="name">Asset Categories
<div class="pull-right">
<a href="{{ route('create/category') }}" class="btn-flat success"><i class="icon-plus-sign icon-white"></i> Create New</a>
</div>
</h3>
<div class="row header">
<div class="col-md-12">
<a href="{{ route('create/category') }}" class="btn btn-success pull-right"><i class="icon-plus-sign icon-white"></i> Create New</a>
<h3>Asset Categories</h3>
</div>
</div>
<div class="user-profile">
<div class="row profile">
<div class="col-md-9 bio">
<table id="example">
<thead>
<tr role="row">
<th class="col-md-7">@lang('admin/categories/table.title')</th>
<th class="col-md-2">@lang('table.actions')</th>
</tr>
</thead>
<tbody>
@foreach ($categories as $category)
<tr>
<td>{{ $category->name }}</td>
<td>
<a href="{{ route('update/category', $category->id) }}" class="btn btn-warning"><i class="icon-pencil icon-white"></i></a>
<a data-html="false" class="btn delete-asset btn-danger" data-toggle="modal" href="{{ route('delete/category', $category->id) }}" data-content="Are you sure you wish to delete this category?" data-title="Delete {{ htmlspecialchars($category->name) }}?" onClick="return false;"><i class="icon-trash icon-white"></i></a>
<div class="row-fluid profile">
<!-- bio, new note & orders column -->
<div class="span9 bio">
<div class="profile-box">
<br>
<!-- checked out assets table -->
<table id="example">
<thead>
<tr role="row">
<th class="span6">@lang('admin/categories/table.title')</th>
<th class="span3">@lang('table.actions')</th>
</tr>
</thead>
<tbody>
@foreach ($categories as $category)
<tr>
<td>{{ $category->name }}</td>
<td>
<a href="{{ route('update/category', $category->id) }}" class="btn-flat white"> @lang('button.edit')</a>
<a data-html="false" class="btn-flat danger delete-asset" data-toggle="modal" href="{{ route('delete/category', $category->id) }}" data-content="Are you sure you wish to delete this category?" data-title="Delete the {{ htmlspecialchars($category->name) }} category?" onClick="return false;">@lang('button.delete')</a>
</td>
</tr>
@endforeach
</tbody>
</table>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</div>
<!-- side address column -->
<div class="span3 address pull-right">
<br /><br />
<h6>About Asset Categories</h6>
<p>Asset categories help you organize your assets. Some
example categories might be &quot;Desktops&quot;, &quot;Laptops&quot;, &quot;Mobile Phones&quot;, &quot;Tablets&quot;,
and so on, but you can use asset categories any way that makes sense for you. </p>
</div>
<!-- side address column -->
<div class="col-md-3 col-xs-12 address pull-right">
<br /><br />
<h6>About Asset Categories</h6>
<p>Asset categories help you organize your assets. Some
example categories might be &quot;Desktops&quot;, &quot;Laptops&quot;, &quot;Mobile Phones&quot;, &quot;Tablets&quot;,
and so on, but you can use asset categories any way that makes sense for you. </p>
</div>
</div>
</div>
@stop

View File

@@ -14,57 +14,54 @@
{{-- Page content --}}
@section('content')
<div class="page-header">
<h3>
<div class="row header">
<div class="col-md-12">
<a href="{{ route('depreciations') }}" class="btn-flat gray pull-right"><i class="icon-circle-arrow-left icon-white"></i> Back</a>
<h3>
@if ($depreciation->id)
Update Depreciation
@else
Create Depreciation
@endif
<div class="pull-right">
<a href="{{ route('depreciations') }}" class="btn-flat gray"><i class="icon-circle-arrow-left icon-white"></i> Back</a>
</div>
</h3>
</h3>
</div>
</div>
<div class="row form-wrapper">
<form class="form-horizontal" method="post" action="" autocomplete="off">
<!-- CSRF Token -->
<input type="hidden" name="_token" value="{{ csrf_token() }}" />
<!-- Tabs Content -->
<div class="tab-content">
<!-- Name -->
<div class="form-group {{ $errors->has('name') ? ' has-error' : '' }}">
<label for="name" class="col-md-4 control-label">Depreciation Name</label>
<div class="col-md-6">
<input class="form-control" type="text" name="name" id="name" value="{{ Input::old('name', $depreciation->name) }}" />
{{ $errors->first('name', '<span class="alert-msg"><i class="icon-remove-sign"></i> :message</span>') }}
</div>
</div>
<!-- Name -->
<div class="form-group {{ $errors->has('months') ? ' has-error' : '' }}">
<label for="months" class="col-md-4 control-label">Number of Months</label>
<div class="col-md-1">
<input class="form-control" type="text" name="months" id="months" value="{{ Input::old('name', $depreciation->months) }}" />
{{ $errors->first('months', '<span class="alert-msg"><i class="icon-remove-sign"></i> :message</span>') }}
</div>
</div>
<div class="tab-pane active" id="tab-general">
<!-- Class Title -->
<div class="control-group {{ $errors->has('name') ? 'error' : '' }}">
<label class="control-label" for="name">Depreciation Class Name</label>
<div class="controls">
<input class="span6" type="text" name="name" id="name" value="{{ Input::old('name', $depreciation->name) }}" />
{{ $errors->first('name', '<span class="help-inline">:message</span>') }}
<!-- Form actions -->
<div class="form-group">
<label class="col-md-4 control-label"></label>
<div class="col-md-7">
<a class="btn btn-link" href="{{ route('depreciations') }}">@lang('general.cancel')</a>
<button type="submit" class="btn btn-success"><i class="icon-ok icon-white"></i> @lang('general.save')</button>
</div>
</div>
<!-- Months -->
<div class="control-group {{ $errors->has('months') ? 'error' : '' }}">
<label class="control-label" for="name">Number of Months</label>
<div class="controls">
<input class="span2" type="text" name="months" id="months" value="{{ Input::old('months', $depreciation->months) }}" />
{{ $errors->first('months', '<span class="help-inline">:message</span>') }}
</div>
</div>
</div>
</form>
<!-- Form actions -->
<div class="control-group">
<div class="controls">
<a class="btn btn-link" href="{{ route('depreciations') }}">@lang('general.cancel')</a>
<button type="submit" class="btn-flat success"><i class="icon-ok icon-white"></i> @lang('general.save')</button>
</div>
</div>
</form>
</div>
@stop

View File

@@ -8,28 +8,24 @@ Asset Depreciations ::
{{-- Page content --}}
@section('content')
<div id="pad-wrapper" class="user-profile">
<!-- header -->
<h3 class="name">Asset Depreciations
<div class="pull-right">
<a href="{{ route('create/depreciations') }}" class="btn-flat success"><i class="icon-plus-sign icon-white"></i> Create New</a>
</div>
</h3>
<div class="row header">
<div class="col-md-12">
<a href="{{ route('create/depreciations') }}" class="btn btn-success pull-right"><i class="icon-plus-sign icon-white"></i> Create New</a>
<h3>Asset Depreciations</h3>
</div>
</div>
<div class="row-fluid profile">
<!-- bio, new note & orders column -->
<div class="span9 bio">
<div class="profile-box">
<br>
<!-- checked out assets table -->
<div class="user-profile">
<div class="row profile">
<div class="col-md-9 bio">
<table id="example">
<table id="example">
<thead>
<tr role="row">
<th class="span4">@lang('admin/depreciations/table.title')</th>
<th class="span2">@lang('admin/depreciations/table.term')</th>
<th class="span3">@lang('table.actions')</th>
<th class="col-md-4">@lang('admin/depreciations/table.title')</th>
<th class="col-md-2">@lang('admin/depreciations/table.term')</th>
<th class="col-md-2">@lang('table.actions')</th>
</tr>
</thead>
<tbody>
@@ -38,8 +34,10 @@ Asset Depreciations ::
<td>{{ $depreciation->name }}</td>
<td>{{ $depreciation->months }} @lang('admin/depreciations/table.months') </td>
<td>
<a href="{{ route('update/depreciations', $depreciation->id) }}" class="btn-flat white">@lang('button.edit')</a>
<a data-html="false" class="btn-flat danger delete-asset" data-toggle="modal" href="{{ route('delete/depreciations', $depreciation->id) }}" data-content="Are you sure you wish to delete this depreciation class?" data-title="Delete {{ htmlspecialchars($depreciation->name) }}?" onClick="return false;">@lang('button.delete')</a>
<a href="{{ route('update/depreciations', $depreciation->id) }}" class="btn btn-warning"><i class="icon-pencil icon-white"></i></a>
<a data-html="false" class="btn delete-asset btn-danger" data-toggle="modal" href="{{ route('delete/depreciations', $depreciation->id) }}" data-content="Are you sure you wish to delete this depreciation?" data-title="Delete {{ htmlspecialchars($depreciation->name) }}?" onClick="return false;"><i class="icon-trash icon-white"></i></a>
</td>
</tr>
@endforeach
@@ -48,13 +46,15 @@ Asset Depreciations ::
</div>
</div>
<!-- side address column -->
<div class="span3 address pull-right">
<div class="col-md-3 col-xs-12 address pull-right">
<br /><br />
<h6>About Asset Depreciations</h6>
<p>You can set up asset depreciations to depreciate assets based on straight-line depreciation. </p>
</div>
</div>
</div>
@stop

View File

@@ -2,89 +2,79 @@
{{-- Web site Title --}}
@section('title')
Create a Group ::
Create Group ::
@parent
@stop
{{-- Content --}}
@section('content')
<div class="page-header">
<h3>
Create a New Group
<div class="pull-right">
<a href="{{ route('groups') }}" class="btn btn-small btn-inverse"><i class="icon-circle-arrow-left icon-white"></i> Back</a>
</div>
</h3>
<div class="row header">
<div class="col-md-12">
<a href="{{ route('groups') }}" class="btn btn-flat gray pull-right"><i class="icon-circle-arrow-left icon-white"></i> Back</a>
<h3>Group Update</h3>
</div>
</div>
<!-- Tabs -->
<ul class="nav nav-tabs">
<li class="active"><a href="#tab-general" data-toggle="tab">General</a></li>
<li><a href="#tab-permissions" data-toggle="tab">Permissions</a></li>
</ul>
<div class="row form-wrapper">
<div class="col-md-10 column">
<form class="form-horizontal" method="post" action="" autocomplete="off">
<!-- CSRF Token -->
<input type="hidden" name="_token" value="{{ csrf_token() }}" />
<!-- Tabs Content -->
<div class="tab-content">
<!-- General tab -->
<div class="tab-pane active" id="tab-general">
<!-- Name -->
<div class="control-group {{ $errors->has('name') ? 'error' : '' }}">
<label class="control-label" for="name">Name</label>
<div class="controls">
<input type="text" name="name" id="name" value="{{ Input::old('name') }}" />
{{ $errors->first('name', '<span class="help-inline">:message</span>') }}
</div>
<div class="form-group {{ $errors->has('name') ? ' has-error' : '' }}">
<label for="name" class="col-md-2 control-label">Group Name</label>
<div class="col-md-6">
<input class="form-control" type="text" name="name" id="name" value="{{ Input::old('name') }}" />
{{ $errors->first('name', '<span class="alert-msg"><i class="icon-remove-sign"></i> :message</span>') }}
</div>
</div>
</div>
<br><br>
<br><br>
<!-- Tab Permissions -->
<div class="tab-pane" id="tab-permissions">
<div class="control-group">
<div class="controls">
@foreach ($permissions as $area => $permissions)
<fieldset>
<legend>{{ $area }}</legend>
@foreach ($permissions as $permission)
<div class="control-group">
<label class="control-group">{{ $permission['label'] }}</label>
<div class="radio inline">
<label for="{{ $permission['permission'] }}_allow" onclick="">
<input type="radio" value="1" id="{{ $permission['permission'] }}_allow" name="permissions[{{ $permission['permission'] }}]"{{ (array_get($selectedPermissions, $permission['permission']) === 1 ? ' checked="checked"' : '') }}>
Allow
</label>
</div>
<div class="field-box">
<label for="name" class="col-md-2 control-label">{{ $permission['label'] }}</label>
<div class="col-md-8">
<label class="radio-inline">
<input type="radio" value="1" id="{{ $permission['permission'] }}_allow" name="permissions[{{ $permission['permission'] }}]"{{ (array_get($selectedPermissions, $permission['permission']) === 1 ? ' checked="checked"' : '') }}> Allow
</label>
<div class="radio inline">
<label for="{{ $permission['permission'] }}_deny" onclick="">
<input type="radio" value="0" id="{{ $permission['permission'] }}_deny" name="permissions[{{ $permission['permission'] }}]"{{ ( ! array_get($selectedPermissions, $permission['permission']) ? ' checked="checked"' : '') }}>
Deny
</label>
</div>
</div>
<label class="radio-inline">
<input type="radio" value="0" id="{{ $permission['permission'] }}_deny" name="permissions[{{ $permission['permission'] }}]"{{ ( ! array_get($selectedPermissions, $permission['permission']) ? ' checked="checked"' : '') }}> Deny
</label>
</div>
</div>
@endforeach
</fieldset>
@endforeach
</div>
</div>
</div>
</div>
<br><br><br><br>
<!-- Form actions -->
<div class="form-group">
<label class="col-md-2 control-label"></label>
<div class="col-md-7">
<a class="btn btn-link" href="{{ route('groups') }}">@lang('general.cancel')</a>
<button type="submit" class="btn btn-success"><i class="icon-ok icon-white"></i> @lang('general.save')</button>
</div>
</div>
<!-- Form Actions -->
<div class="control-group">
<div class="controls">
<a class="btn btn-link" href="{{ route('groups') }}">Cancel</a>
<button type="submit" class="btn btn-success">Create Group</button>
</div>
</div>
</form>
</div>
</div>
@stop

View File

@@ -8,83 +8,69 @@ Group Update ::
{{-- Content --}}
@section('content')
<div class="page-header">
<h3>
Group Update
<div class="pull-right">
<a href="{{ route('groups') }}" class="btn-flat gray"><i class="icon-circle-arrow-left icon-white"></i> Back</a>
</div>
</h3>
<div class="row header">
<div class="col-md-12">
<a href="{{ route('groups') }}" class="btn btn-flat gray pull-right"><i class="icon-circle-arrow-left icon-white"></i> Back</a>
<h3>Group Update</h3>
</div>
</div>
<!-- Tabs -->
<ul class="nav nav-tabs">
<li class="active"><a href="#tab-general" data-toggle="tab">General</a></li>
<li><a href="#tab-permissions" data-toggle="tab">Permissions</a></li>
</ul>
<div class="row form-wrapper">
<div class="col-md-10 column">
<form class="form-horizontal" method="post" action="" autocomplete="off">
<!-- CSRF Token -->
<input type="hidden" name="_token" value="{{ csrf_token() }}" />
<!-- Tabs Content -->
<div class="tab-content">
<!-- General tab -->
<div class="tab-pane active" id="tab-general">
<!-- Name -->
<div class="control-group {{ $errors->has('name') ? 'error' : '' }}">
<label class="control-label" for="name">Name</label>
<div class="controls">
<input type="text" name="name" id="name" value="{{ Input::old('name', $group->name) }}" />
{{ $errors->first('name', '<span class="help-inline">:message</span>') }}
</div>
<div class="form-group {{ $errors->has('name') ? ' has-error' : '' }}">
<label for="name" class="col-md-2 control-label">Group Name</label>
<div class="col-md-6">
<input class="form-control" type="text" name="name" id="name" value="{{ Input::old('name', $group->name) }}" />
{{ $errors->first('name', '<span class="alert-msg"><i class="icon-remove-sign"></i> :message</span>') }}
</div>
</div>
</div>
<br><br>
<!-- Permissions tab -->
<div class="tab-pane" id="tab-permissions">
<div class="controls">
<div class="control-group">
@foreach ($permissions as $area => $permissions)
<fieldset>
<legend>{{ $area }}</legend>
<h4>{{ $area }}</h4>
@foreach ($permissions as $permission)
<div class="control-group">
<label class="control-group">{{ $permission['label'] }}</label>
<div class="field-box">
<label for="name" class="col-md-2 control-label">{{ $permission['label'] }}</label>
<div class="col-md-8">
<label class="radio-inline">
<input type="radio" value="1" id="{{ $permission['permission'] }}_allow" name="permissions[{{ $permission['permission'] }}]"{{ (array_get($groupPermissions, $permission['permission']) === 1 ? ' checked="checked"' : '') }}> Allow
</label>
<label class="radio-inline">
<input type="radio" value="0" id="{{ $permission['permission'] }}_deny" name="permissions[{{ $permission['permission'] }}]"{{ ( ! array_get($groupPermissions, $permission['permission']) ? ' checked="checked"' : '') }}> Deny
</label>
</div>
</div>
<div class="radio inline">
<label for="{{ $permission['permission'] }}_allow" onclick="">
<input type="radio" value="1" id="{{ $permission['permission'] }}_allow" name="permissions[{{ $permission['permission'] }}]"{{ (array_get($groupPermissions, $permission['permission']) === 1 ? ' checked="checked"' : '') }}>
Allow
</label>
</div>
<div class="radio inline">
<label for="{{ $permission['permission'] }}_deny" onclick="">
<input type="radio" value="0" id="{{ $permission['permission'] }}_deny" name="permissions[{{ $permission['permission'] }}]"{{ ( ! array_get($groupPermissions, $permission['permission']) ? ' checked="checked"' : '') }}>
Deny
</label>
</div>
</div>
@endforeach
</fieldset>
@endforeach
</div>
</div>
</div>
</div>
<br><br><br><br>
<!-- Form actions -->
<div class="form-group">
<label class="col-md-2 control-label"></label>
<div class="col-md-7">
<a class="btn btn-link" href="{{ route('groups') }}">@lang('general.cancel')</a>
<button type="submit" class="btn btn-success"><i class="icon-ok icon-white"></i> @lang('general.save')</button>
</div>
</div>
<!-- Form Actions -->
<div class="control-group">
<div class="controls">
<a class="btn btn-link" href="{{ route('groups') }}">@lang('general.cancel')</a>
<button type="submit" class="btn-flat success"><i class="icon-ok icon-white"></i> @lang('general.save')</button>
</div>
</div>
</form>
</div>
</div>
@stop

View File

@@ -8,39 +8,37 @@ Group Management ::
{{-- Content --}}
@section('content')
<div class="page-header">
<h3>
Group Management
<div class="pull-right">
<a href="{{ route('create/group') }}" class="btn-flat success"><i class="icon-plus-sign icon-white"></i> Create New</a>
</div>
</h3>
<div class="row header">
<div class="col-md-12">
<a href="{{ route('create/group') }}" class="btn btn-success pull-right"><i class="icon-plus-sign icon-white"></i> Create New</a>
<h3>Group Management</h3>
</div>
</div>
<div class="row-fluid table">
<div class="row form-wrapper">
<table id="example">
<thead>
<tr role="row">
<th class="span1">@lang('admin/groups/table.id')</th>
<th class="span6">@lang('admin/groups/table.name')</th>
<th class="span2">@lang('admin/groups/table.users')</th>
<th class="span2">@lang('admin/groups/table.created_at')</th>
<th class="span2">@lang('table.actions')</th>
<th class="col-md-6">@lang('admin/groups/table.name')</th>
<th class="col-md-1">@lang('admin/groups/table.users')</th>
<th class="col-md-2">@lang('admin/groups/table.created_at')</th>
<th class="col-md-3">@lang('table.actions')</th>
</tr>
</thead>
<tbody>
@if ($groups->count() >= 1)
@foreach ($groups as $group)
<tr>
<td>{{ $group->id }}</td>
<td>{{ $group->name }}</td>
<td>{{ $group->users()->count() }}</td>
<td>{{ $group->created_at->diffForHumans() }}</td>
<td>
<a href="{{ route('update/group', $group->id) }}" class="btn-flat white">@lang('button.edit')</a>
<a data-html="false" class="btn-flat danger delete-asset" data-toggle="modal" href="{{ route('delete/group', $group->id) }}" data-content="Are you sure you wish to delete this group?" data-title="Delete {{ htmlspecialchars($group->name) }}?" onClick="return false;">@lang('button.delete')</a>
<a href="{{ route('update/group', $group->id) }}" class="btn btn-warning"><i class="icon-pencil icon-white"></i></a>
<a data-html="false" class="btn delete-asset btn-danger" data-toggle="modal" href="{{ route('delete/group', $group->id) }}" data-content="Are you sure you wish to delete this group?" data-title="Delete {{ htmlspecialchars($group->name) }}?" onClick="return false;"><i class="icon-trash icon-white"></i></a>
</td>
</tr>
@endforeach

View File

@@ -0,0 +1,71 @@
@extends('backend/layouts/default')
{{-- Page title --}}
@section('title')
@if ($asset->id)
Checkin Asset ::
@else
Checkin Asset ::
@endif
@parent
@stop
{{-- Page content --}}
@section('content')
<div class="row header">
<div class="col-md-12">
<a href="{{ route('hardware') }}" class="btn-flat gray pull-right"><i class="icon-circle-arrow-left icon-white"></i> Back</a>
<h3> Checkin Asset </h3>
</div>
</div>
<div class="row form-wrapper">
<!-- left column -->
<div class="col-md-10 column">
<form class="form-horizontal" method="post" action="" autocomplete="off">
<!-- CSRF Token -->
<input type="hidden" name="_token" value="{{ csrf_token() }}" />
<!-- Asset tag -->
<div class="form-group">
<label class="col-sm-2 control-label">Asset Tag</label>
<div class="col-md-6">
<p class="form-control-static">{{ $asset->asset_tag }}</p>
</div>
</div>
<!-- Asset name -->
<div class="form-group">
<label class="col-sm-2 control-label">Asset Name</label>
<div class="col-md-6">
<p class="form-control-static">{{ $asset->name }}</p>
</div>
</div>
<!-- Note -->
<div class="form-group {{ $errors->has('note') ? 'error' : '' }}">
<label for="note" class="col-md-2 control-label">Note</label>
<div class="col-md-7">
<input class="col-md-6 form-control" type="text" name="note" id="note" value="{{ Input::old('note', $asset->note) }}" />
{{ $errors->first('note', '<span class="alert-msg"><i class="icon-remove-sign"></i> :message</span>') }}
</div>
</div>
<!-- Form actions -->
<div class="form-group">
<label class="col-md-2 control-label"></label>
<div class="col-md-7">
@if ($asset->id)
<a class="btn btn-link" href="{{ route('view/hardware', $asset->id) }}">@lang('general.cancel')</a>
@else
<a class="btn btn-link" href="{{ route('hardware') }}">Cancel</a>
@endif
<button type="submit" class="btn btn-success"><i class="icon-ok icon-white"></i>@lang('general.checkin')</button>
</div>
</div>
</form>
</div>
</div>
@stop

View File

@@ -0,0 +1,90 @@
@extends('backend/layouts/default')
{{-- Page title --}}
@section('title')
@if ($asset->id)
Checkout Asset to User::
@else
Checkout Asset to User ::
@endif
@parent
@stop
{{-- Page content --}}
@section('content')
<div class="row header">
<div class="col-md-12">
<a href="{{ route('hardware') }}" class="btn-flat gray pull-right"><i class="icon-circle-arrow-left icon-white"></i> Back</a>
<h3>
@if ($asset->id)
Checkout Asset to User
@else
Create Asset
@endif
</h3>
</div>
</div>
<div class="row form-wrapper">
<!-- left column -->
<div class="col-md-10 column">
<form class="form-horizontal" method="post" action="" autocomplete="off">
<!-- CSRF Token -->
<input type="hidden" name="_token" value="{{ csrf_token() }}" />
<!-- Asset tag -->
<div class="form-group">
<label class="col-sm-2 control-label">Asset Tag</label>
<div class="col-md-6">
<p class="form-control-static">{{ $asset->asset_tag }}</p>
</div>
</div>
<!-- Asset name -->
<div class="form-group">
<label class="col-sm-2 control-label">Asset Name</label>
<div class="col-md-6">
<p class="form-control-static">{{ $asset->name }}</p>
</div>
</div>
<!-- User -->
<div class="form-group {{ $errors->has('assigned_to') ? ' has-error' : '' }}">
<label for="assigned_to" class="col-md-2 control-label">Checkout to</label>
<div class="col-md-7">
{{ Form::select('assigned_to', $users_list , Input::old('assigned_to', $asset->assigned_to), array('class'=>'select2', 'style'=>'min-width:350px')) }}
{{ $errors->first('assigned_to', '<span class="alert-msg"><i class="icon-remove-sign"></i> :message</span>') }}
</div>
</div>
<!-- Note -->
<div class="form-group {{ $errors->has('note') ? 'error' : '' }}">
<label for="note" class="col-md-2 control-label">Note</label>
<div class="col-md-7">
<input class="col-md-6 form-control" type="text" name="note" id="note" value="{{ Input::old('note', $asset->note) }}" />
{{ $errors->first('note', '<span class="alert-msg"><i class="icon-remove-sign"></i> :message</span>') }}
</div>
</div>
<!-- Form actions -->
<div class="form-group">
<label class="col-md-2 control-label"></label>
<div class="col-md-7">
@if ($asset->id)
<a class="btn btn-link" href="{{ route('view/hardware', $asset->id) }}">Cancel</a>
@else
<a class="btn btn-link" href="{{ route('hardware') }}">Cancel</a>
@endif
<button type="submit" class="btn btn-success"><i class="icon-ok icon-white"></i> Save</button>
</div>
</div>
</form>
</div>
</div>
@stop

View File

@@ -2,28 +2,19 @@
{{-- Page title --}}
@section('title')
@if ($asset->id)
Asset Update ::
@else
Create Asset ::
@endif
Clone Asset
@parent
@stop
{{-- Page content --}}
@section('content')
<div class="page-header">
<h3>
@if ($asset->id)
Asset Update
@else
Create Asset
@endif
<div class="pull-right">
<a href="{{ route('assets') }}" class="btn-flat gray"><i class="icon-circle-arrow-left icon-white"></i> Back</a>
<a href="{{ route('hardware') }}" class="btn-flat gray"><i class="icon-circle-arrow-left icon-white"></i> Back</a>
</div>
</h3>
<h3>Clone Asset</h3>
</div>
@@ -31,51 +22,44 @@
<!-- CSRF Token -->
<input type="hidden" name="_token" value="{{ csrf_token() }}" />
<!-- Tabs Content -->
<div class="tab-content">
<div class="tab-pane active" id="tab-general">
<!-- Asset Tag -->
<div class="control-group {{ $errors->has('asset_tag') ? 'error' : '' }}">
<div class="form-group {{ $errors->has('asset_tag') ? 'error' : '' }}">
<label class="control-label" for="asset_tag">Asset Tag</label>
<div class="controls">
<input class="span4" type="text" name="asset_tag" id="asset_tag" value="{{ Input::old('asset_tag', $asset->asset_tag) }}" />
<input class="col-md-4" type="text" name="asset_tag" id="asset_tag" value="{{ Input::old('asset_tag') }}" />
{{ $errors->first('asset_tag', '<span class="help-inline"><i class="icon-remove-sign"></i> :message</span>') }}
</div>
</div>
<!-- Asset Title -->
<div class="control-group {{ $errors->has('name') ? 'error' : '' }}">
<div class="form-group {{ $errors->has('name') ? 'error' : '' }}">
<label class="control-label" for="name">Asset Name</label>
<div class="controls">
<input class="span4" type="text" name="name" id="name" value="{{ Input::old('name', $asset->name) }}" />
<input class="col-md-4" type="text" name="name" id="name" value="{{ Input::old('name', $asset->name) }}" />
{{ $errors->first('name', '<span class="help-inline"><i class="icon-remove-sign"></i> :message</span>') }}
</div>
</div>
<!-- Serial -->
<div class="control-group {{ $errors->has('serial') ? 'error' : '' }}">
<div class="form-group {{ $errors->has('serial') ? 'error' : '' }}">
<label class="control-label" for="serial">Serial</label>
<div class="controls">
<input class="span4" type="text" name="serial" id="serial" value="{{ Input::old('serial', $asset->serial) }}" />
<input class="col-md-4" type="text" name="serial" id="serial" value="{{ Input::old('serial', $asset->serial) }}" />
{{ $errors->first('serial', '<span class="help-inline"><i class="icon-remove-sign"></i> :message</span>') }}
</div>
</div>
<!-- Order Number -->
<div class="control-group {{ $errors->has('order_number') ? 'error' : '' }}">
<div class="form-group {{ $errors->has('order_number') ? 'error' : '' }}">
<label class="control-label" for="order_number">Order Number</label>
<div class="controls">
<input class="span4" type="text" name="order_number" id="order_number" value="{{ Input::old('order_number', $asset->order_number) }}" />
<input class="col-md-4" type="text" name="order_number" id="order_number" value="{{ Input::old('order_number', $asset->order_number) }}" />
{{ $errors->first('order_number', '<span class="help-inline"><i class="icon-remove-sign"></i> :message</span>') }}
</div>
</div>
<!-- Model -->
<div class="control-group {{ $errors->has('model_id') ? 'error' : '' }}">
<div class="form-group {{ $errors->has('model_id') ? 'error' : '' }}">
<label class="control-label" for="parent">Model</label>
<div class="controls">
{{ Form::select('model_id', $model_list , Input::old('model_id', $asset->model_id), array('class'=>'select2', 'style'=>'min-width:350px')) }}
@@ -84,7 +68,7 @@
</div>
<!-- Purchase Date -->
<div class="control-group input-append {{ $errors->has('purchase_date') ? 'error' : '' }}" >
<div class="form-group input-append {{ $errors->has('purchase_date') ? 'error' : '' }}" >
<label class="control-label" for="purchase_date">Purchase Date</label>
<div class="controls">
<input type="text" class="datepicker span2" data-date-format="yyyy-mm-dd" placeholder="Select Date" name="purchase_date" id="purchase_date" value="{{ Input::old('purchase_date', $asset->purchase_date) }}">
@@ -94,28 +78,28 @@
</div>
<!-- Purchase Cost -->
<div class="control-group {{ $errors->has('purchase_cost') ? 'error' : '' }}">
<div class="form-group {{ $errors->has('purchase_cost') ? 'error' : '' }}">
<label class="control-label" for="purchase_cost">Purchase Cost</label>
<div class="controls">
<div class="input-prepend">
<span class="add-on">$</span>
<input class="span2" type="text" name="purchase_cost" id="purchase_cost" value="{{ Input::old('purchase_cost', $asset->purchase_cost) }}" />
<input class="col-md-2" type="text" name="purchase_cost" id="purchase_cost" value="{{ Input::old('purchase_cost', $asset->purchase_cost) }}" />
{{ $errors->first('purchase_cost', '<span class="help-inline"><i class="icon-remove-sign"></i> :message</span>') }}
</div>
</div>
</div>
<!-- Warrantee -->
<div class="control-group {{ $errors->has('warranty_months') ? 'error' : '' }}">
<div class="form-group {{ $errors->has('warranty_months') ? 'error' : '' }}">
<label class="control-label" for="serial">Warranty</label>
<div class="controls">
<input class="span1" type="text" name="warranty_months" id="warranty_months" value="{{ Input::old('warranty_months', $asset->warranty_months) }}" /> months
<input class="col-md-1" type="text" name="warranty_months" id="warranty_months" value="{{ Input::old('warranty_months', $asset->warranty_months) }}" /> months
{{ $errors->first('warranty_months', '<span class="help-inline"><i class="icon-remove-sign"></i> :message</span>') }}
</div>
</div>
<!-- Depreciation -->
<div class="control-group {{ $errors->has('depreciation_id') ? 'error' : '' }}">
<div class="form-group {{ $errors->has('depreciation_id') ? 'error' : '' }}">
<label class="control-label" for="parent">Depreciation</label>
<div class="controls">
<div class="field-box">
@@ -125,8 +109,8 @@
</div>
</div>
<!-- Depreciation -->
<div class="control-group {{ $errors->has('status_id') ? 'error' : '' }}">
<!-- Status -->
<div class="form-group {{ $errors->has('status_id') ? 'error' : '' }}">
<label class="control-label" for="parent">Status</label>
<div class="controls">
<div class="field-box">
@@ -138,23 +122,18 @@
<!-- Notes -->
<div class="control-group {{ $errors->has('notes') ? 'error' : '' }}">
<div class="form-group {{ $errors->has('notes') ? 'error' : '' }}">
<label class="control-label" for="notes">Notes</label>
<div class="controls">
<input class="span6" type="text" name="notes" id="notes" value="{{ Input::old('notes', $asset->notes) }}" />
<input class="col-md-6" type="text" name="notes" id="notes" value="{{ Input::old('notes', $asset->notes) }}" />
{{ $errors->first('notes', '<span class="help-inline"><i class="icon-remove-sign"></i> :message</span>') }}
</div>
</div>
</div>
<!-- Form actions -->
<div class="control-group">
<div class="form-group">
<div class="controls">
<a class="btn btn-link" href="{{ route('assets') }}">Cancel</a>
<a class="btn btn-link" href="{{ route('hardware') }}">Cancel</a>
<button type="submit" class="btn-flat success"><i class="icon-ok icon-white"></i> Save</button>
</div>
</div>

View File

@@ -0,0 +1,154 @@
@extends('backend/layouts/default')
{{-- Page title --}}
@section('title')
@if ($asset->id)
Asset Update ::
@else
Create Asset ::
@endif
@parent
@stop
{{-- Page content --}}
@section('content')
<div class="row header">
<div class="col-md-12">
@if ($asset->id)
<a href="{{ route('view/hardware',$asset->id) }}" class="btn-flat gray pull-right"><i class="icon-circle-arrow-left icon-white"></i> Back</a>
@else
<a href="{{ route('hardware') }}" class="btn-flat gray pull-right right"><i class="icon-circle-arrow-left icon-white"></i> Back</a>
@endif
<h3>
@if ($asset->id)
Asset Update
@else
Create Asset
@endif
</h3>
</div>
</div>
<div class="row form-wrapper">
<!-- left column -->
<div class="col-md-10 column">
<form class="form-horizontal" method="post" action="" autocomplete="off" role="form">
<!-- CSRF Token -->
<input type="hidden" name="_token" value="{{ csrf_token() }}" />
<!-- Asset Tag -->
<div class="form-group {{ $errors->has('asset_tag') ? ' has-error' : '' }}">
<label for="asset_tag" class="col-md-2 control-label">Asset Tag</label>
<div class="col-md-7">
<input class="form-control" type="text" name="asset_tag" id="asset_tag" value="{{ Input::old('asset_tag', $asset->asset_tag) }}" />
{{ $errors->first('asset_tag', '<span class="alert-msg"><i class="icon-remove-sign"></i> :message</span>') }}
</div>
</div>
<!-- Asset Title -->
<div class="form-group {{ $errors->has('name') ? ' has-error' : '' }}">
<label for="name" class="col-md-2 control-label">Asset Name</label>
<div class="col-md-7">
<input class="form-control" type="text" name="name" id="name" value="{{ Input::old('name', $asset->name) }}" />
{{ $errors->first('name', '<span class="alert-msg"><i class="icon-remove-sign"></i> :message</span>') }}
</div>
</div>
<!-- Serial -->
<div class="form-group {{ $errors->has('serial') ? ' has-error' : '' }}">
<label for="serial" class="col-md-2 control-label">Serial</label>
<div class="col-md-7">
<input class="form-control" type="text" name="serial" id="serial" value="{{ Input::old('serial', $asset->serial) }}" />
{{ $errors->first('serial', '<span class="alert-msg"><i class="icon-remove-sign"></i> :message</span>') }}
</div>
</div>
<!-- Order Number -->
<div class="form-group {{ $errors->has('order_number') ? ' has-error' : '' }}">
<label for="order_number" class="col-md-2 control-label">Order Number</label>
<div class="col-md-7">
<input class="form-control" type="text" name="order_number" id="order_number" value="{{ Input::old('order_number', $asset->order_number) }}" />
{{ $errors->first('order_number', '<span class="alert-msg"><i class="icon-remove-sign"></i> :message</span>') }}
</div>
</div>
<!-- Model -->
<div class="form-group {{ $errors->has('model_id') ? ' has-error' : '' }}">
<label for="parent" class="col-md-2 control-label">Model</label>
<div class="col-md-7">
{{ Form::select('model_id', $model_list , Input::old('model_id', $asset->model_id), array('class'=>'select2', 'style'=>'min-width:350px')) }}
{{ $errors->first('model_id', '<span class="alert-msg"><i class="icon-remove-sign"></i> :message</span>') }}
</div>
</div>
<!-- Purchase Date -->
<div class="form-group {{ $errors->has('purchase_date') ? ' has-error' : '' }}">
<label for="purchase_date" class="col-md-2 control-label">Purchase Date</label>
<div class="input-group col-md-2">
<input type="date" class="datepicker form-control" data-date-format="yyyy-mm-dd" placeholder="Select Date" name="purchase_date" id="purchase_date" value="{{ Input::old('purchase_date', $asset->purchase_date) }}">
<span class="input-group-addon"><i class="icon-calendar"></i></span>
{{ $errors->first('purchase_date', '<span class="alert-msg"><i class="icon-remove-sign"></i> :message</span>') }}
</div>
</div>
<!-- Purchase Cost -->
<div class="form-group {{ $errors->has('purchase_cost') ? ' has-error' : '' }}">
<label for="purchase_cost" class="col-md-2 control-label">Purchase Cost</label>
<div class="col-md-2">
<div class="input-group">
<span class="input-group-addon">$</span>
<input class="col-md-2 form-control" type="text" name="purchase_cost" id="purchase_cost" value="{{ Input::old('purchase_cost', $asset->purchase_cost) }}" />
{{ $errors->first('purchase_cost', '<span class="alert-msg"><i class="icon-remove-sign"></i> :message</span>') }}
</div>
</div>
</div>
<!-- Warrantee -->
<div class="form-group {{ $errors->has('warranty_months') ? ' has-error' : '' }}">
<label for="warranty_months" class="col-md-2 control-label">Warranty</label>
<div class="col-md-2">
<div class="input-group">
<input class="col-md-2 form-control" type="text" name="warranty_months" id="warranty_months" value="{{ Input::old('warranty_months', $asset->warranty_months) }}" /> <span class="input-group-addon">months</span>
{{ $errors->first('warranty_months', '<span class="alert-msg"><i class="icon-remove-sign"></i> :message</span>') }}
</div>
</div>
</div>
<!-- Status -->
<div class="form-group {{ $errors->has('status_id') ? ' has-error' : '' }}">
<label for="status_id" class="col-md-2 control-label">Status</label>
<div class="col-md-7">
{{ Form::select('status_id', $statuslabel_list , Input::old('status_id', $asset->status_id), array('class'=>'select2', 'style'=>'width:350px')) }}
{{ $errors->first('status_id', '<span class="alert-msg"><i class="icon-remove-sign"></i> :message</span>') }}
</div>
</div>
<!-- Notes -->
<div class="form-group {{ $errors->has('notes') ? ' has-error' : '' }}">
<label for="notes" class="col-md-2 control-label">Notes</label>
<div class="col-md-7">
<input class="col-md-6 form-control" type="text" name="notes" id="notes" value="{{ Input::old('notes', $asset->notes) }}" />
{{ $errors->first('notes', '<span class="alert-msg"><i class="icon-remove-sign"></i> :message</span>') }}
</div>
</div>
<!-- Form actions -->
<div class="form-group">
<label class="col-md-2 control-label"></label>
<div class="col-md-7">
@if ($asset->id)
<a class="btn btn-link" href="{{ route('view/hardware', $asset->id) }}">Cancel</a>
@else
<a class="btn btn-link" href="{{ route('hardware') }}">Cancel</a>
@endif
<button type="submit" class="btn btn-success"><i class="icon-ok icon-white"></i> Save</button>
</div>
</div>
</form>
</div>
</div>
@stop

View File

@@ -22,8 +22,12 @@ Assets ::
{{-- Page content --}}
@section('content')
<div class="page-header">
<h3>
<div class="row header">
<div class="col-md-12">
<a href="{{ route('create/hardware') }}" class="btn btn-success pull-right"><i class="icon-plus-sign icon-white"></i> Create New</a>
<h3>
@if (Input::get('Pending') || Input::get('Undeployable') || Input::get('RTD') || Input::get('Deployed'))
@if (Input::get('Pending'))
Pending
@@ -37,48 +41,39 @@ Assets ::
@else
All
@endif
Assets
<div class="pull-right">
<a class="btn-flat white" href="{{ URL::to('admin?Deployed=true') }}">Deployed</a>
<a class="btn-flat white" href="{{ URL::to('admin?RTD=true') }}">Ready to Deploy</a>
<a class="btn-flat white" href="{{ URL::to('admin?Pending=true') }}">Pending</a>
<a class="btn-flat white" href="{{ URL::to('admin?Undeployable=true') }}">Un-Deployable</a>
<a class="btn-flat white" href="{{ URL::to('admin') }}">Show All</a>
<a href="{{ route('create/asset') }}" class="btn-flat success"><i class="icon-plus-sign icon-white"></i> Create New</a>
</div>
</h3>
</h3>
</div>
</div>
<div class="row form-wrapper">
@if ($assets->count() > 0)
<table id="example">
<thead>
<tr role="row">
<th class="span2" bSortable="true">@lang('admin/assets/table.asset_tag')</th>
<th class="span2" bSortable="true"><span class="line"></span>@lang('admin/assets/table.title')</th>
<th class="span2" bSortable="true"><span class="line"></span>@lang('admin/assets/table.serial')</th>
<th class="col-md-2" bSortable="true">@lang('admin/hardware/table.asset_tag')</th>
<th class="col-md-2" bSortable="true">@lang('admin/hardware/table.title')</th>
<th class="col-md-2" bSortable="true">@lang('admin/hardware/table.serial')</th>
@if (Input::get('Pending') || Input::get('Undeployable') || Input::get('RTD'))
<th class="span2" bSortable="true">Status</th>
<th class="col-md-2" bSortable="true">Status</th>
@else
<th class="span2" bSortable="true">@lang('admin/assets/table.checkoutto')</th>
<th class="span2" bSortable="true">@lang('admin/assets/table.location')</th>
<th class="col-md-2" bSortable="true">@lang('admin/hardware/table.checkoutto')</th>
<th class="col-md-2" bSortable="true">@lang('admin/hardware/table.location')</th>
@endif
<th class="span1">@lang('admin/assets/table.change')</th>
<th class="span2" bSortable="false">@lang('table.actions')</th>
<th class="col-md-1">@lang('admin/hardware/table.change')</th>
<th class="col-md-2" bSortable="false">@lang('table.actions')</th>
</tr>
</thead>
<tbody>
@foreach ($assets as $asset)
<tr>
<td><a href="{{ route('view/asset', $asset->id) }}">{{ $asset->asset_tag }}</a></td>
<td><a href="{{ route('view/asset', $asset->id) }}">{{ $asset->name }}</a></td>
<td><a href="{{ route('view/hardware', $asset->id) }}">{{ $asset->asset_tag }}</a></td>
<td><a href="{{ route('view/hardware', $asset->id) }}">{{ $asset->name }}</a></td>
<td>{{ $asset->serial }}</td>
@if (Input::get('Pending') || Input::get('Undeployable') || Input::get('RTD'))
<td>
@@ -114,15 +109,17 @@ Assets ::
@endif
<td>
@if ($asset->status_id < 1 )
@if ($asset->assigned_to != 0)
<a href="{{ route('checkin/asset', $asset->id) }}" class="btn-flat info">Checkin</a>
<a href="{{ route('checkin/hardware', $asset->id) }}" class="btn btn-primary">Checkin</a>
@else
<a href="{{ route('checkout/asset', $asset->id) }}" class="btn-flat success">Checkout</a>
<a href="{{ route('checkout/hardware', $asset->id) }}" class="btn btn-info">Checkout</a>
@endif
@endif
</td>
<td nowrap="nowrap">
<a href="{{ route('update/asset', $asset->id) }}" class="btn-flat white">@lang('button.edit')</a>
<a data-html="false" class="btn-flat danger delete-asset" data-toggle="modal" href="{{ route('delete/asset', $asset->id) }}" data-content="Are you sure you wish to delete this asset?" data-title="Delete {{ htmlspecialchars($asset->asset_tag) }}?" onClick="return false;">@lang('button.delete')</a>
<a href="{{ route('update/hardware', $asset->id) }}" class="btn btn-warning"><i class="icon-pencil icon-white"></i></a>
<a data-html="false" class="btn delete-asset btn-danger" data-toggle="modal" href="{{ route('delete/hardware', $asset->id) }}" data-content="Are you sure you wish to delete this asset?" data-title="Delete {{ htmlspecialchars($asset->asset_tag) }}?" onClick="return false;"><i class="icon-trash icon-white"></i></a>
</td>
</tr>
@endforeach
@@ -137,6 +134,7 @@ Assets ::
</div>
</div>
</div>
@endif

View File

@@ -0,0 +1,210 @@
@extends('backend/layouts/default')
{{-- Page title --}}
@section('title')
View Asset {{ $asset->asset_tag }} ::
@parent
@stop
{{-- Page content --}}
@section('content')
<div class="row header">
<div class="col-md-12">
<div class="btn-group pull-right">
<button class="btn glow">Actions</button>
<button class="btn glow dropdown-toggle" data-toggle="dropdown">
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
@if ($asset->status_id == 1)
@if ($asset->assigned_to != 0)
<li><a href="{{ route('checkin/hardware', $asset->id) }}" class="btn-flat info">Checkin</a></li>
@endif
@elseif ($asset->status_id == 0)
<li><a href="{{ route('checkout/hardware', $asset->id) }}" class="btn-flat success">Checkout</a></li>
@endif
<li><a href="{{ route('update/hardware', $asset->id) }}">Edit Asset</a></li>
<li><a href="{{ route('clone/hardware', $asset->id) }}">Clone Asset</a></li>
</ul>
</div>
<h3>
<h3 class="name">History for {{ $asset->asset_tag }} ({{ $asset->name }})
</h3>
</div>
</div>
<div class="user-profile">
<div class="row profile">
<div class="col-md-9 bio">
<div class="col-md-12" style="min-height: 130px;">
@if ($asset->model->manufacturer)
<div class="col-md-6"><strong>Manufacturer: </strong> {{ $asset->model->manufacturer->name }} </div>
<div class="col-md-6"><strong>Model:</strong> {{ $asset->model->name }} / {{ $asset->model->modelno }}</div>
@endif
@if ($asset->purchase_date)
<div class="col-md-6"><strong>Purchased On: </strong>{{ $asset->purchase_date }} </div>
@endif
@if ($asset->purchase_cost)
<div class="col-md-6"><strong>Purchase Cost:</strong> ${{ number_format($asset->purchase_cost,2) }} </div>
@endif
@if ($asset->order_number)
<div class="col-md-6"><strong>Order #:</strong> {{ $asset->order_number }} </div>
@endif
@if ($asset->warranty_months)
<div class="col-md-6"><strong>Warranty:</strong> {{ $asset->warranty_months }} months</div>
<div class="col-md-6"><strong>Expires:</strong> {{ $asset->warrantee_expires() }}</div>
@endif
@if ($asset->depreciation)
<div class="col-md-6"><strong>Depreciation: </strong>{{ $asset->depreciation->name }}
({{ $asset->depreciation->months }} months)</div>
<div class="col-md-6"><strong>Depreciates On: </strong>{{ $asset->depreciated_date() }} </div>
<div class="col-md-6"><strong>Fully Depreciated: </strong>{{ $asset->months_until_depreciated()->m }} months,
{{ $asset->months_until_depreciated()->y }} years</div>
@endif
</div>
<!-- checked out assets table -->
<table class="table table-hover">
<thead>
<tr>
<th class="col-md-1"></th>
<th class="col-md-3"><span class="line"></span>Date</th>
<th class="col-md-2"><span class="line"></span>Admin</th>
<th class="col-md-2"><span class="line"></span>Action</th>
<th class="col-md-2"><span class="line"></span>User</th>
<th class="col-md-3"><span class="line"></span>Note</th>
</tr>
</thead>
<tbody>
@if (count($asset->assetlog) > 0)
@foreach ($asset->assetlog as $log)
<tr>
<td>
@if ((isset($log->checkedout_to)) && ($log->checkedout_to == $asset->assigned_to))
<i class="icon-star"></i>
@endif
</td>
<td>{{ $log->added_on }}</td>
<td>
@if (isset($log->user_id))
{{ $log->adminlog->fullName() }}
@endif
</td>
<td>{{ $log->action_type }}</td>
<td>
@if (isset($log->checkedout_to))
<a href="{{ route('view/user', $log->checkedout_to) }}">
{{ $log->userlog->fullName() }}
</a>
@endif
</td>
<td>
@if ($log->note)
{{ $log->note }}
@endif
</td>
</tr>
@endforeach
@endif
<tr>
<td></td>
<td>{{ $asset->created_at }}</td>
<td>
@if ($asset->adminuser->id)
{{ $asset->adminuser->fullName() }}
@else
Unknown Admin
@endif
</td>
<td>created asset</td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
</div>
<!-- side address column -->
<div class="col-md-3 col-xs-12 address pull-right">
@if ((isset($asset->assigned_to ) && ($asset->assigned_to > 0)))
<h6><br>Checked Out To:</h6>
<ul>
<li><img src="{{ $asset->assigneduser->gravatar() }}" class="img-circle" style="width: 100px; margin-right: 20px;" /><br /><br /></li>
<li><a href="{{ route('view/user', $asset->assigned_to) }}">{{ $asset->assigneduser->fullName() }}</a></li>
@if (isset($asset->assetloc->address))
<li>{{ $asset->assetloc->address }}
@if (isset($asset->assetloc->address2))
{{ $asset->assetloc->address2 }}
@endif
</li>
@if (isset($asset->assetloc->city))
<li>{{ $asset->assetloc->city }}, {{ $asset->assetloc->state }} {{ $asset->assetloc->zip }}</li>
@endif
@endif
@if (isset($asset->assigneduser->email))
<li><br /><i class="icon-envelope-alt"></i> <a href="mailto:{{ $asset->assigneduser->email }}">{{ $asset->assigneduser->email }}</a></li>
@endif
@if (isset($asset->assigneduser->phone))
<li><i class="icon-phone"></i> {{ $asset->assigneduser->phone }}</li>
@endif
<li><br /><a href="{{ route('checkin/hardware', $asset->id) }}" class="btn-flat large info ">Checkin Asset</a></li>
</ul>
@elseif (($asset->status_id ) && ($asset->status_id > 1))
@if ($asset->assetstatus)
<h6><br>{{ $asset->assetstatus->name }} Asset</h6>
<div class="col-md-6">
<div class="alert alert-warning alert-block">
<i class="icon-warning-sign"></i>
<strong>Warning: </strong> This asset has been marked <strong>{{ $asset->assetstatus->name }}</strong> and is currently undeployable.
If this status has changed, please update the asset status.
</div>
</div>
@endif
@elseif ($asset->status_id == NULL)
<h6><br>Pending Asset</h6>
<div class="col-md-12">
<div class="alert alert-info alert-block">
<i class="icon-info-sign"></i>
<strong>Warning: </strong> This asset has been marked as pending and is currently undeployable.
If this status has changed, please update the asset status.
</div>
</div>
@else
<h6><br>Checkout Asset</h6>
<ul>
<li>This asset is not checked out to anyone yet. Use the button below to check it out now.</li>
<li><br><br /><a href="{{ route('checkout/hardware', $asset->id) }}" class="btn-flat large success">Checkout Asset</a></li>
</ul>
@endif
</div>
</div>
</div>
@stop

View File

@@ -11,43 +11,42 @@
</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<!-- Mobile Specific Metas
================================================== -->
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- bootstrap -->
<link href="{{ asset('assets/css/bootstrap/bootstrap.css') }}" rel="stylesheet" />
<link href="{{ asset('assets/css/bootstrap/bootstrap-responsive.css') }}" rel="stylesheet" />
<link href="{{ asset('assets/css/bootstrap/bootstrap-overrides.css') }}" type="text/css" rel="stylesheet" />
<link href="{{ asset('assets/css/lib/bootstrap.datepicker.css') }}" type="text/css" rel="stylesheet">
<!-- libraries -->
<link href="{{ asset('assets/css/lib/jquery-ui-1.10.2.custom.css') }}" rel="stylesheet" type="text/css" />
<link href="{{ asset('assets/css/lib/uniform.default.css') }}" rel="stylesheet" type="text/css" />
<link href="{{ asset('assets/css/lib/select2.css') }}" type="text/css" rel="stylesheet">
<link href="{{ asset('assets/css/lib/bootstrap.datepicker.css') }}" type="text/css" rel="stylesheet">
<link href="{{ asset('assets/css/lib/font-awesome.css') }}" type="text/css" rel="stylesheet" />
<!-- global styles -->
<link rel="stylesheet" type="text/css" href="{{ asset('assets/css/compiled/layout.css') }}">
<link rel="stylesheet" type="text/css" href="{{ asset('assets/css/compiled/elements.css') }}">
<link rel="stylesheet" type="text/css" href="{{ asset('assets/css/compiled/icons.css') }}">
<link href="{{ asset('assets/css/lib/select2.css') }}" type="text/css" rel="stylesheet">
<!-- this page specific styles -->
<link rel="stylesheet" href="{{ asset('assets/css/compiled/index.css') }}" type="text/css" media="screen" />
<link rel="stylesheet" href="{{ asset('assets/css/compiled/user-list.css') }}" type="text/css" media="screen" />
<link rel="stylesheet" href="{{ asset('assets/css/compiled/user-profile.css') }}" type="text/css" media="screen" />
<link rel="stylesheet" href="{{ asset('assets/css/compiled/form-showcase.css') }}" type="text/css" media="screen" />
<link rel="stylesheet" href="{{ asset('assets/css/lib/jquery.dataTables.css') }}" type="text/css" media="screen" />
<!-- open sans font -->
<link href='http://fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800' rel='stylesheet' type='text/css'>
<!-- lato font -->
<link href='http://fonts.googleapis.com/css?family=Lato:300,400,700,900,300italic,400italic,700italic,900italic' rel='stylesheet' type='text/css'>
<!-- open sans font -->
<link href='//fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800' rel='stylesheet' type='text/css'>
<!--[if lt IE 9]>
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<script src="//html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<style>
@@ -66,29 +65,25 @@
<!-- navbar -->
<!-- navbar -->
<header class="navbar navbar-inverse" role="banner">
<!-- navbar -->
<div class="navbar navbar-inverse">
<div class="navbar-inner navbar-inverse">
<button type="button" class="btn btn-navbar visible-phone" id="menu-toggler">
<div class="navbar-header">
<button class="navbar-toggle" type="button" data-toggle="collapse" id="menu-toggler">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="brand" href="/">{{ Setting::getSettings()->site_name }}</a>
</ul>
<ul class="nav pull-right">
<a class="navbar-brand" href="/">{{ Setting::getSettings()->site_name }}</a>
</div>
<ul class="nav navbar-nav pull-right hidden-xs">
@if (Sentry::check())
<!-- <li class="hidden-phone">
<input class="search" type="text" />
</li> -->
<li class="dropdown">
<a href="#" class="dropdown-toggle hidden-phone" data-toggle="dropdown">
<a href="#" class="dropdown-toggle hidden-xs hidden-sm" data-toggle="dropdown">
Welcome, {{ Sentry::getUser()->first_name }}
<b class="caret"></b>
</a>
@@ -114,7 +109,7 @@
</li>
</ul>
</li>
<li class="dropdown{{ (Request::is('admin/users*|admin/groups*') ? ' active' : '') }}">
<li class="dropdown{{ (Request::is('admin/users*|admin/groups*') ? ' active' : '') }} hidden-phone">
<a class="dropdown-toggle" data-toggle="dropdown" href="{{ URL::to('admin/users') }}">
<i class="icon-wrench icon-white"></i> Admin <span class="caret"></span>
</a>
@@ -158,26 +153,32 @@
</ul>
</div>
</div>
</header>
<!-- end navbar -->
@if (Sentry::check())
<!-- sidebar -->
<!-- sidebar -->
<div id="sidebar-nav">
<ul id="dashboard-menu">
<li{{ (Request::is('admin') ? ' class="active"><div class="pointer"><div class="arrow"></div><div class="arrow_border"></div></div>' : '>') }}
<a href="{{ URL::to('admin') }}">
<li{{ (Request::is('hardware*') ? ' class="active"><div class="pointer"><div class="arrow"></div><div class="arrow_border"></div></div>' : '>') }}
<a href="#" class="dropdown-toggle">
<i class="icon-barcode"></i>
<span>Assets</span>
<i class="icon-chevron-down"></i>
</a>
<ul class="submenu{{ (Request::is('hardware*') ? ' active' : '') }}">
<li><a href="{{ URL::to('hardware?Deployed=true') }}" {{ (Request::query('Deployed') ? ' class="active"' : '') }} >Deployed</a></li>
<li><a href="{{ URL::to('hardware?RTD=true') }}" {{ (Request::query('RTD') ? ' class="active"' : '') }} >Ready to Deploy</a></li>
<li><a href="{{ URL::to('hardware?Pending=true') }}" {{ (Request::query('Pending') ? ' class="active"' : '') }} >Pending</a></li>
<li><a href="{{ URL::to('hardware?Undeployable=true') }}" {{ (Request::query('Undeployable') ? ' class="active"' : '') }} >Un-Deployable</a></li>
<li><a href="{{ URL::to('hardware') }}">List All</a></li>
<li><a href="{{ URL::to('hardware/models') }}" {{ (Request::is('hardware/models*') ? ' class="active"' : '') }} >Asset Models</a></li>
</ul>
</li>
<li{{ (Request::is('assets/models*') ? ' class="active"><div class="pointer"><div class="arrow"></div><div class="arrow_border"></div></div>' : '>') }}
<a href="{{ URL::to('assets/models') }}">
<i class="icon-th-list"></i>
<span>Models</span>
</a>
</li>
<li{{ (Request::is('admin/licenses*') ? ' class="active"><div class="pointer"><div class="arrow"></div><div class="arrow_border"></div></div>' : '>') }}
<a href="{{ URL::to('admin/licenses') }}">
<i class="icon-certificate"></i>
@@ -205,30 +206,27 @@
<!-- main container -->
<div class="content">
<div class="container-fluid">
@if ((Sentry::check()) && (Sentry::getUser()->hasAccess('admin')))
<!-- upper main stats -->
<div id="main-stats">
<div class="row-fluid stats-row">
<div class="span3 stat">
<div class="data">
<a href="{{ URL::to('admin') }}">
<div class="row stats-row">
<div class="col-md-3 col-sm-3 stat">
<div class="data">
<a href="{{ URL::to('hardware') }}">
<span class="number">{{ number_format(Asset::assetcount()) }}</span>
<span style="color:black">total assets</span>
</a>
</div>
</div>
<div class="span3 stat">
<div class="col-md-3 col-sm-3 stat">
<div class="data">
<a href="{{ URL::to('admin?RTD=true') }}">
<a href="{{ URL::to('hardware?RTD=true') }}">
<span class="number">{{ number_format(Asset::availassetcount()) }}</span>
<span style="color:black">assets available</span>
</a>
</div>
</div>
<div class="span3 stat">
<div class="col-md-3 col-sm-3 stat">
<div class="data">
<a href="{{ URL::to('admin/licenses') }}">
<span class="number">{{ number_format(License::assetcount()) }}</span>
@@ -236,8 +234,7 @@
</a>
</div>
</div>
<div class="span3 stat last">
<div class="col-md-3 col-sm-3 stat last">
<div class="data">
<a href="{{ URL::to('admin/licenses') }}">
<span class="number">{{ number_format(License::availassetcount()) }}</span>
@@ -256,7 +253,7 @@
<!-- Notifications -->
@include('frontend/notifications')
@include('frontend/notifications')
<!-- Content -->
@yield('content')
@@ -265,7 +262,7 @@
</div>
</div>
</div>
</div>
<footer>
<div id="footer">
@@ -278,20 +275,15 @@
<!-- end main container -->
<!-- scripts -->
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script src="//code.jquery.com/jquery-latest.js"></script>
<script src="{{ asset('assets/js/bootstrap.min.js') }}"></script>
<script src="{{ asset('assets/js/jquery-ui-1.10.2.custom.min.js') }}"></script>
<!-- knob -->
<script src="{{ asset('assets/js/jquery.knob.js') }}"></script>
<script src="{{ asset('assets/js/select2.min.js') }}"></script>
<script src="{{ asset('assets/js/jquery.uniform.min.js') }}"></script>
<script src="{{ asset('assets/js/bootstrap.datepicker.js') }}"></script>
<script src="{{ asset('assets/js/jquery.dataTables.js') }}"></script>
<script src="{{ asset('assets/js/theme.js') }}"></script>
<script type="text/javascript">
$(function () {
@@ -350,9 +342,11 @@
var title = $(this).attr('data-title');
if (!$('#dataConfirmModal').length) {
$('body').append('<div id="dataConfirmModal" class="modal" role="dialog" aria-labelledby="dataConfirmLabel" aria-hidden="true"><div class="modal-header"><button type="button" class="close " data-dismiss="modal" aria-hidden="true">×</button><h3 id="dataConfirmLabel">'+title+'</h3></div><div class="modal-body">'+message+'</div><div class="modal-footer"><button class="btn-flat white" data-dismiss="modal" aria-hidden="true">No</button> <a class="btn-flat danger" id="dataConfirmOK">Yes</a></div></div>');
$('body').append('<div class="modal fade" id="dataConfirmModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"><div class="modal-dialog"><div class="modal-content"><div class="modal-header"><button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button><h4 class="modal-title" id="myModalLabel">'+title+'</h4></div><div class="modal-body">'+message+'</div><div class="modal-footer"><button type="button" class="btn btn-default" data-dismiss="modal">Close</button><a class="btn btn-danger" id="dataConfirmOK">Yes</a></div></div></div></div>');
}
$('#dataConfirmModal').find('.modal-body').text(message);
$('#dataConfirmOK').attr('href', href);
$('#dataConfirmModal').modal({show:true});

View File

@@ -0,0 +1,66 @@
@extends('backend/layouts/default')
{{-- Page title --}}
@section('title')
Checkin License
@parent
@stop
{{-- Page content --}}
@section('content')
<div class="row header">
<div class="col-md-12">
<a href="{{ route('licenses') }}" class="btn-flat gray pull-right"><i class="icon-circle-arrow-left icon-white"></i> Back</a>
<h3> Checkin License </h3>
</div>
</div>
<div class="row form-wrapper">
<!-- left column -->
<div class="col-md-10 column">
<form class="form-horizontal" method="post" action="" autocomplete="off">
<!-- CSRF Token -->
<input type="hidden" name="_token" value="{{ csrf_token() }}" />
<!-- Asset name -->
<div class="form-group">
<label class="col-sm-2 control-label">Asset Name</label>
<div class="col-md-6">
<p class="form-control-static">{{ $licenseseat->license->name }}</p>
</div>
</div>
<!-- Serial -->
<div class="form-group">
<label class="col-sm-2 control-label">Serial</label>
<div class="col-md-6">
<p class="form-control-static">{{ $licenseseat->license->serial }}</p>
</div>
</div>
<!-- Note -->
<div class="form-group {{ $errors->has('note') ? 'error' : '' }}">
<label for="note" class="col-md-2 control-label">Note</label>
<div class="col-md-7">
<input class="col-md-6 form-control" type="text" name="note" id="note" value="{{ Input::old('note', $licenseseat->note) }}" />
{{ $errors->first('note', '<span class="alert-msg"><i class="icon-remove-sign"></i> :message</span>') }}
</div>
</div>
<!-- Form actions -->
<div class="form-group">
<label class="col-md-2 control-label"></label>
<div class="col-md-7">
<a class="btn btn-link" href="{{ route('licenses') }}">@lang('general.cancel')</a>
<button type="submit" class="btn btn-success"><i class="icon-ok icon-white"></i> @lang('general.checkin')</button>
</div>
</div>
</form>
</div>
</div>
@stop

View File

@@ -8,68 +8,72 @@
{{-- Page content --}}
@section('content')
<div class="page-header">
<h3>Checkout License to User</h3>
<div class="pull-right">
<a href="{{ route('assets') }}" class="btn btn-small btn-inverse"><i class="icon-circle-arrow-left icon-white"></i> Back</a>
</div>
</h3>
<div class="row header">
<div class="col-md-12">
<a href="{{ route('hardware') }}" class="btn-flat gray pull-right"><i class="icon-circle-arrow-left icon-white"></i> Back</a>
<h3>
Checkout License to User
</h3>
</div>
</div>
<div class="row form-wrapper">
<!-- left column -->
<div class="col-md-10 column">
<form class="form-horizontal" method="post" action="" autocomplete="off">
<!-- CSRF Token -->
<input type="hidden" name="_token" value="{{ csrf_token() }}" />
<!-- Tabs Content -->
<div class="tab-content">
<div class="tab-pane active" id="tab-general">
<!-- Asset Tag -->
<div class="control-group">
<label class="control-label" for="asset_tag">Asset Tag</label>
<div class="controls">
<input class="span4" readonly="readonly" type="text" name="asset_tag" id="asset_tag" value="{{ $licenseseat->license->asset_tag }}" />
<!-- Asset name -->
<div class="form-group">
<label class="col-sm-2 control-label">Asset Name</label>
<div class="col-md-6">
<p class="form-control-static">{{ $licenseseat->license->name }}</p>
</div>
</div>
</div>
<!-- Asset Name -->
<div class="control-group">
<label class="control-label" for="name">Asset Name</label>
<div class="controls">
<input class="span4" readonly="readonly" type="text" name="name" id="asset_name" value="{{ $licenseseat->license->name }}" />
<!-- Serial -->
<div class="form-group">
<label class="col-sm-2 control-label">Serial</label>
<div class="col-md-6">
<p class="form-control-static">{{ $licenseseat->license->serial }}</p>
</div>
</div>
<!-- Asset Name -->
<div class="control-group">
<label class="control-label" for="serial">Serial</label>
<div class="controls">
<input class="span4" readonly="readonly" type="text" name="serial" id="serial" value="{{ $licenseseat->license->serial }}" />
</div>
</div>
</div>
<!-- User -->
<div class="control-group {{ $errors->has('assigned_to') ? 'error' : '' }}">
<label class="control-label" for="parent">Checkout to</label>
<div class="controls">
{{ Form::select('assigned_to', $users_list , Input::old('assigned_to'), array('class'=>'select2', 'style'=>'min-width:350px')) }}
{{ $errors->first('user_id', '<span class="help-inline">:message</span>') }}
<div class="form-group {{ $errors->has('assigned_to') ? ' has-error' : '' }}">
<label for="assigned_to" class="col-md-2 control-label">Checkout to</label>
<div class="col-md-7">
{{ Form::select('assigned_to', $users_list , Input::old('assigned_to', $licenseseat->assigned_to), array('class'=>'select2', 'style'=>'min-width:350px')) }}
{{ $errors->first('assigned_to', '<span class="alert-msg"><i class="icon-remove-sign"></i> :message</span>') }}
</div>
</div>
<!-- Note -->
<div class="form-group {{ $errors->has('note') ? 'error' : '' }}">
<label for="note" class="col-md-2 control-label">Note</label>
<div class="col-md-7">
<input class="col-md-6 form-control" type="text" name="note" id="note" value="{{ Input::old('note', $licenseseat->note) }}" />
{{ $errors->first('note', '<span class="alert-msg"><i class="icon-remove-sign"></i> :message</span>') }}
</div>
</div>
<!-- Form actions -->
<div class="form-group">
<label class="col-md-2 control-label"></label>
<div class="col-md-7">
<a class="btn btn-link" href="{{ route('licenses') }}">@lang('general.cancel')</a>
<button type="submit" class="btn btn-success"><i class="icon-ok icon-white"></i> @lang('general.checkout')</button>
</div>
</div>
</div>
<!-- Form actions -->
<div class="control-group">
<div class="controls">
<a class="btn btn-link" href="{{ route('licenses') }}">@lang('general.cancel')</a>
<button type="submit" class="btn-flat success">@lang('general.checkout')</button>
</div>
</div>
</form>
</div>
</div>
@stop

View File

@@ -12,116 +12,143 @@
{{-- Page content --}}
@section('content')
<div class="page-header">
<h3>
@if ($license->id)
Update License
<div class="row header">
<div class="col-md-12">
@if ($license->id)
<a href="{{ route('view/license',$license->id) }}" class="btn-flat gray pull-right"><i class="icon-circle-arrow-left icon-white"></i> Back</a>
@else
Create License
<a href="{{ route('licenses') }}" class="btn-flat gray pull-right right"><i class="icon-circle-arrow-left icon-white"></i> Back</a>
@endif
<div class="pull-right">
<a href="{{ route('licenses') }}" class="btn-flat gray"><i class="icon-circle-arrow-left icon-white"></i> Back</a>
</div>
</h3>
<h3>
@if ($license->id)
Update License
@else
Create License
@endif
</h3>
</div>
</div>
<div class="row form-wrapper">
<form class="form-horizontal" method="post" action="" autocomplete="off">
<!-- CSRF Token -->
<input type="hidden" name="_token" value="{{ csrf_token() }}" />
<!-- Tabs Content -->
<div class="tab-content">
<!-- Asset Tag -->
<div class="form-group {{ $errors->has('name') ? ' has-error' : '' }}">
<label for="name" class="col-md-3 control-label">Software Name</label>
<div class="col-md-7">
<input class="form-control" type="text" name="name" id="name" value="{{ Input::old('name', $license->name) }}" />
{{ $errors->first('name', '<span class="alert-msg"><i class="icon-remove-sign"></i> :message</span>') }}
</div>
</div>
<div class="tab-pane active" id="tab-general">
<!-- Category Title -->
<div class="control-group {{ $errors->has('name') ? 'error' : '' }}">
<label class="control-label" for="name">Software Name</label>
<div class="controls">
<input class="span6" type="text" name="name" id="name" value="{{ Input::old('name', $license->name) }}" />
{{ $errors->first('name', '<span class="help-inline">:message</span>') }}
<div class="form-group {{ $errors->has('serial') ? ' has-error' : '' }}">
<label for="serial" class="col-md-3 control-label">Serial</label>
<div class="col-md-7">
<input class="form-control" type="text" name="serial" id="serial" value="{{ Input::old('serial', $license->serial) }}" />
{{ $errors->first('serial', '<span class="alert-msg"><i class="icon-remove-sign"></i> :message</span>') }}
</div>
</div>
<div class="form-group {{ $errors->has('serial') ? ' has-error' : '' }}">
<label for="serial" class="col-md-3 control-label">Serial</label>
<div class="col-md-7">
<input class="form-control" type="text" name="serial" id="serial" value="{{ Input::old('serial', $license->serial) }}" />
{{ $errors->first('serial', '<span class="alert-msg"><i class="icon-remove-sign"></i> :message</span>') }}
</div>
</div>
<div class="form-group {{ $errors->has('license_name') ? ' has-error' : '' }}">
<label for="license_name" class="col-md-3 control-label">Licensed to Name</label>
<div class="col-md-7">
<input class="form-control" type="text" name="license_name" id="license_name" value="{{ Input::old('license_name', $license->license_name) }}" />
{{ $errors->first('license_name', '<span class="alert-msg"><i class="icon-remove-sign"></i> :message</span>') }}
</div>
</div>
<div class="form-group {{ $errors->has('license_email') ? ' has-error' : '' }}">
<label for="license_email" class="col-md-3 control-label">Licensed to Email</label>
<div class="col-md-7">
<input class="form-control" type="text" name="license_email" id="license_email" value="{{ Input::old('license_email', $license->license_email) }}" />
{{ $errors->first('license_email', '<span class="alert-msg"><i class="icon-remove-sign"></i> :message</span>') }}
</div>
</div>
<div class="form-group {{ $errors->has('seats') ? ' has-error' : '' }}">
<label for="seats" class="col-md-3 control-label">Seats</label>
<div class="col-md-3">
<input class="form-control" type="text" name="seats" id="seats" value="{{ Input::old('seats', $license->seats) }}" />
{{ $errors->first('seats', '<span class="alert-msg"><i class="icon-remove-sign"></i> :message</span>') }}
</div>
</div>
<div class="form-group {{ $errors->has('order_number') ? ' has-error' : '' }}">
<label for="order_number" class="col-md-3 control-label">Order No.</label>
<div class="col-md-7">
<input class="form-control" type="text" name="order_number" id="order_number" value="{{ Input::old('order_number', $license->order_number) }}" />
{{ $errors->first('order_number', '<span class="alert-msg"><i class="icon-remove-sign"></i> :message</span>') }}
</div>
</div>
<!-- Purchase Date -->
<div class="form-group {{ $errors->has('purchase_date') ? ' has-error' : '' }}">
<label for="purchase_date" class="col-md-3 control-label">Purchase Date</label>
<div class="input-group col-md-2">
<input type="date" class="datepicker form-control" data-date-format="yyyy-mm-dd" placeholder="Select Date" name="purchase_date" id="purchase_date" value="{{ Input::old('purchase_date', $license->purchase_date) }}">
<span class="input-group-addon"><i class="icon-calendar"></i></span>
{{ $errors->first('purchase_date', '<span class="alert-msg"><i class="icon-remove-sign"></i> :message</span>') }}
</div>
</div>
<div class="control-group {{ $errors->has('serial') ? 'error' : '' }}">
<label class="control-label" for="serial">Serial</label>
<div class="controls">
<input class="span6" type="text" name="serial" id="serial" value="{{ Input::old('serial', $license->serial) }}" />
{{ $errors->first('serial', '<span class="help-inline">:message</span>') }}
</div>
</div>
<div class="control-group {{ $errors->has('license_name') ? 'error' : '' }}">
<label class="control-label" for="license_name">Licensed to Name</label>
<div class="controls">
<input class="span6" type="text" name="license_name" id="license_name" value="{{ Input::old('license_name', $license->license_name) }}" />
{{ $errors->first('license_name', '<span class="help-inline">:message</span>') }}
</div>
</div>
<div class="control-group {{ $errors->has('license_email') ? 'error' : '' }}">
<label class="control-label" for="license_email">Licensed to Email</label>
<div class="controls">
<input class="span6" type="text" name="license_email" id="license_email" value="{{ Input::old('license_email', $license->license_email) }}" />
{{ $errors->first('license_email', '<span class="help-inline">:message</span>') }}
</div>
</div>
<div class="control-group {{ $errors->has('seats') ? 'error' : '' }}">
<label class="control-label" for="seats">Seats</label>
<div class="controls">
<input class="span1" type="text" name="seats" id="seats" value="{{ Input::old('seats', $license->seats) }}" />
{{ $errors->first('seats', '<span class="help-inline">:message</span>') }}
</div>
</div>
<div class="control-group {{ $errors->has('order_number') ? 'error' : '' }}">
<label class="control-label" for="order_number">Order Number</label>
<div class="controls">
<input class="span4" type="text" name="order_number" id="order_number" value="{{ Input::old('order_number', $license->order_number) }}" />
{{ $errors->first('order_number', '<span class="help-inline">:message</span>') }}
</div>
</div>
<div class="control-group {{ $errors->has('purchase_cost') ? 'error' : '' }}">
<label class="control-label" for="purchase_cost">Purchase Cost</label>
<div class="controls">
$ <input class="span2" type="text" name="purchase_cost" id="purchase_cost" value="{{ Input::old('purchase_cost', $license->purchase_cost) }}" />
{{ $errors->first('purchase_cost', '<span class="help-inline">:message</span>') }}
</div>
<!-- Purchase Cost -->
<div class="form-group {{ $errors->has('purchase_cost') ? ' has-error' : '' }}">
<label for="purchase_cost" class="col-md-3 control-label">Purchase Cost</label>
<div class="col-md-2">
<div class="input-group">
<span class="input-group-addon">$</span>
<input class="col-md-2 form-control" type="text" name="purchase_cost" id="purchase_cost" value="{{ Input::old('purchase_cost', $license->purchase_cost) }}" />
{{ $errors->first('purchase_cost', '<span class="alert-msg"><i class="icon-remove-sign"></i> :message</span>') }}
</div>
</div>
</div>
<!-- Depreciation -->
<div class="control-group {{ $errors->has('depreciation_id') ? 'error' : '' }}">
<label class="control-label" for="parent">Depreciation</label>
<div class="controls">
<div class="field-box">
{{ Form::select('depreciation_id', $depreciation_list , Input::old('depreciation_id', $license->depreciation_id), array('class'=>'select2', 'style'=>'width:250px')) }}
{{ $errors->first('depreciation_id', '<span class="help-inline"><i class="icon-remove-sign"></i> :message</span>') }}
<div class="form-group {{ $errors->has('depreciation_id') ? ' has-error' : '' }}">
<label for="parent" class="col-md-3 control-label">Depreciation</label>
<div class="col-md-7">
{{ Form::select('depreciation_id', $depreciation_list , Input::old('depreciation_id', $license->depreciation_id), array('class'=>'select2', 'style'=>'width:350px')) }}
{{ $errors->first('depreciation_id', '<span class="alert-msg"><i class="icon-remove-sign"></i> :message</span>') }}
</div>
</div>
<!-- Notes -->
<div class="form-group {{ $errors->has('notes') ? ' has-error' : '' }}">
<label for="notes" class="col-md-3 control-label">Notes</label>
<div class="col-md-7">
<input class="col-md-6 form-control" type="text" name="notes" id="notes" value="{{ Input::old('notes', $license->notes) }}" />
{{ $errors->first('notes', '<span class="alert-msg"><i class="icon-remove-sign"></i> :message</span>') }}
</div>
</div>
<!-- Form actions -->
<div class="form-group">
<label class="col-md-3 control-label"></label>
<div class="col-md-7">
@if ($license->id)
<a class="btn btn-link" href="{{ route('view/license', $license->id) }}">Cancel</a>
@else
<a class="btn btn-link" href="{{ route('licenses') }}">Cancel</a>
@endif
<button type="submit" class="btn btn-success"><i class="icon-ok icon-white"></i> Save</button>
</div>
</div>
</div>
<div class="control-group {{ $errors->has('purchase_date') ? 'error' : '' }}">
<label class="control-label" for="purchase_date">Purchase Date</label>
<div class="controls">
<input type="text" class="datepicker span2" data-date-format="yyyy-mm-dd" placeholder="Select Date" name="purchase_date" id="purchase_date" value="{{ Input::old('purchase_date', $license->purchase_date) }}"> <span class="add-on"><i class="icon-calendar"></i></span>
{{ $errors->first('purchase_date', '<span class="help-inline">:message</span>') }}
</div>
</div>
<div class="control-group {{ $errors->has('notes') ? 'error' : '' }}">
<label class="control-label" for="notes">Notes</label>
<div class="controls">
<input class="span6" type="text" name="notes" id="notes" value="{{ Input::old('notes', $license->notes) }}" />
{{ $errors->first('notes', '<span class="help-inline">:message</span>') }}
</div>
</div>
<!-- Form actions -->
<div class="control-group">
<div class="controls">
<a class="btn btn-link" href="{{ route('licenses') }}">@lang('general.cancel')</a>
<button type="submit" class="btn-flat success"><i class="icon-ok icon-white"></i> @lang('general.save')</button>
</div>
</div>
</form>
</div>
@stop

View File

@@ -7,23 +7,24 @@ Licenses ::
{{-- Page content --}}
@section('content')
<div class="page-header">
<h3>
Software Licenses
<div class="pull-right">
<a href="{{ route('create/licenses') }}" class="btn-flat success"><i class="icon-plus-sign icon-white"></i> Create New</a>
</div>
</h3>
<div class="row header">
<div class="col-md-12">
<a href="{{ route('create/licenses') }}" class="btn btn-success pull-right"><i class="icon-plus-sign icon-white"></i> Create New</a>
<h3>Software Licenses</h3>
</div>
</div>
<div class="row form-wrapper">
<table id="example">
<thead>
<tr role="row">
<th class="span3" tabindex="0" rowspan="1" colspan="1">@lang('admin/licenses/table.title')</th>
<th class="span3" tabindex="0" rowspan="1" colspan="1">@lang('admin/licenses/table.serial')</th>
<th class="span3" tabindex="0" rowspan="1" colspan="1">@lang('admin/licenses/table.assigned_to')</th>
<th class="span2" tabindex="0" rowspan="1" colspan="1">@lang('table.actions')</th>
<th class="col-md-3" tabindex="0" rowspan="1" colspan="1">@lang('admin/licenses/table.title')</th>
<th class="col-md-3" tabindex="0" rowspan="1" colspan="1">@lang('admin/licenses/table.serial')</th>
<th class="col-md-3" tabindex="0" rowspan="1" colspan="1">@lang('admin/licenses/table.assigned_to')</th>
<th class="col-md-2" tabindex="0" rowspan="1" colspan="1">@lang('table.actions')</th>
</tr>
</thead>
<tbody>
@@ -34,7 +35,7 @@ Licenses ::
<tr>
<td><a href="{{ route('view/license', $license->id) }}">{{ $license->name }}</a>
@if ($license->seats ==1)
@if ($license->seats == 1)
({{ $license->seats }} seat)
@else
({{ $license->seats }} seats)
@@ -44,8 +45,8 @@ Licenses ::
<td><a href="{{ route('view/license', $license->id) }}">{{ $license->serial }}</a></td>
<td></td>
<td>
<a href="{{ route('update/license', $license->id) }}" class="btn-flat white"> @lang('button.edit')</a>
<a data-html="false" class="btn-flat danger delete-asset" data-toggle="modal" href="{{ route('delete/license', $license->id) }}" data-content="Are you sure you wish to delete this license?" data-title="Delete {{ htmlspecialchars($license->name) }}?" onClick="return false;">@lang('button.delete')</a>
<a href="{{ route('update/license', $license->id) }}" class="btn btn-warning"><i class="icon-pencil icon-white"></i></a>
<a data-html="false" class="btn delete-asset btn-danger" data-toggle="modal" href="{{ route('delete/license', $license->id) }}" data-content="Are you sure you wish to delete this license?" data-title="Delete {{ htmlspecialchars($license->name) }}?" onClick="return false;"><i class="icon-trash icon-white"></i></a>
</td>
@@ -61,17 +62,19 @@ Licenses ::
</td>
<td><a href="{{ route('view/license', $license->id) }}">{{ $license->serial }}</a></td>
<td>
@if ($licensedto->assigned_to)
<a href="{{ route('view/user', $licensedto->id) }}">
@if (($licensedto->assigned_to) && ($licensedto->deleted_at == NULL))
<a href="{{ route('view/user', $licensedto->assigned_to) }}">
{{ $licensedto->user->fullName() }}
</a>
@elseif (($licensedto->assigned_to) && ($licensedto->deleted_at != NULL))
<del>{{ $licensedto->user->fullName() }}</del>
@endif
</td>
<td>
@if ($licensedto->assigned_to)
<a href="{{ route('checkin/license', $licensedto->id) }}" class="btn-flat info"> Checkin </a>
<a href="{{ route('checkin/license', $licensedto->id) }}" class="btn btn-primary">Checkin</a>
@else
<a href="{{ route('checkout/license', $licensedto->id) }}" class="btn-flat success">Checkout</a>
<a href="{{ route('checkout/license', $licensedto->id) }}" class="btn btn-info">Checkout</a>
@endif
</td>

View File

@@ -8,42 +8,42 @@ View License {{ $license->name }} ::
{{-- Page content --}}
@section('content')
<div id="pad-wrapper" class="user-profile">
<!-- header -->
<h3 class="name">History for ({{ $license->name }})
<div class="row header">
<div class="col-md-12">
<div class="btn-group pull-right">
<button class="btn glow">Actions</button>
<button class="btn glow dropdown-toggle" data-toggle="dropdown">
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
@if ($license->assigned_to != 0)
<li><a href="{{ route('checkin/license', $license->id) }}" class="btn-flat info">Checkin</a></li>
@else
<li><a href="{{ route('checkout/license', $license->id) }}" class="btn-flat success">Checkout</a></li>
@endif
<li><a href="{{ route('update/license', $license->id) }}">Edit License</a></li>
</ul>
</div>
<h3 class="name">History for ({{ $license->name }})</h3>
</div>
</div>
<div class="user-profile">
<div class="row profile">
<div class="col-md-9 bio">
<div class="btn-group pull-right">
<button class="btn glow">Actions</button>
<button class="btn glow dropdown-toggle" data-toggle="dropdown">
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
@if ($license->assigned_to != 0)
<li><a href="{{ route('checkin/license', $license->id) }}" class="btn-flat info">Checkin</a></li>
@else
<li><a href="{{ route('checkout/license', $license->id) }}" class="btn-flat success">Checkout</a></li>
@endif
<li><a href="{{ route('update/license', $license->id) }}">Edit License</a></li>
</ul>
</div>
</h3>
<div class="row-fluid profile">
<!-- bio, new note & orders column -->
<div class="span9 bio">
<div class="profile-box">
<br>
<!-- checked out assets table -->
<h6>{{ $license->seats }} License Seats</h6>
<table class="table table-hover">
<thead>
<tr>
<th class="span2">Seat</th>
<th class="span6">User</th>
<th class="span2"></th>
<th class="col-md-2">Seat</th>
<th class="col-md-6">User</th>
<th class="col-md-2"></th>
</tr>
</thead>
<tbody>
@@ -56,7 +56,7 @@ View License {{ $license->name }} ::
<td>Seat {{ $count }} </td>
<td>
@if ($licensedto->assigned_to)
<a href="{{ route('view/user', $licensedto->id) }}">
<a href="{{ route('view/user', $licensedto->assigned_to) }}">
{{ $licensedto->user->fullName() }}
</a>
@endif
@@ -83,11 +83,12 @@ View License {{ $license->name }} ::
<table class="table table-hover">
<thead>
<tr>
<th class="span1"></th>
<th class="span3"><span class="line"></span>Date</th>
<th class="span3"><span class="line"></span>Admin</th>
<th class="span3"><span class="line"></span>Action</th>
<th class="span3"><span class="line"></span>User</th>
<th class="col-md-1"></th>
<th class="col-md-3"><span class="line"></span>Date</th>
<th class="col-md-3"><span class="line"></span>Admin</th>
<th class="col-md-3"><span class="line"></span>Action</th>
<th class="col-md-3"><span class="line"></span>User</th>
<th class="col-md-3"><span class="line"></span>Note</th>
</tr>
</thead>
<tbody>
@@ -114,7 +115,11 @@ View License {{ $license->name }} ::
</a>
@endif
</td>
<td>
@if ($log->note)
{{ $log->note }}
@endif
</td>
</tr>
@endforeach
@@ -131,17 +136,15 @@ View License {{ $license->name }} ::
</td>
<td>created asset</td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
</div>
</div>
<!-- side address column -->
<div class="span3 address pull-right">
<div class="col-md-3 col-xs-12 address pull-right">
<h6><br>License Info:</h6>
<ul>
@if ($license->serial)
@@ -157,7 +160,7 @@ View License {{ $license->name }} ::
<li>Purchase Date: {{ $license->purchase_date }} </li>
@endif
@if ($license->purchase_cost)
<li>Purchase Cost: ${{ number_format($license->purchase_cost) }} </li>
<li>Purchase Cost: ${{ number_format($license->purchase_cost,2) }} </li>
@endif
@if ($license->order_number)
<li>Order #: {{ $license->order_number }} </li>

View File

@@ -14,78 +14,112 @@
{{-- Page content --}}
@section('content')
<div class="page-header">
<h3>
<div class="row header">
<div class="col-md-12">
<a href="{{ route('locations') }}" class="btn-flat gray pull-right"><i class="icon-circle-arrow-left icon-white"></i> Back</a>
<h3>
@if ($location->id)
Update Location
@else
Create Location
@endif
<div class="pull-right">
<a href="{{ route('locations') }}" class="btn-flat gray"><i class="icon-circle-arrow-left icon-white"></i> Back</a>
</div>
</h3>
</h3>
</div>
</div>
<div class="row form-wrapper">
<form class="form-horizontal" method="post" action="" autocomplete="off">
<!-- CSRF Token -->
<input type="hidden" name="_token" value="{{ csrf_token() }}" />
<!-- Tabs Content -->
<div class="tab-content">
<div class="tab-pane active" id="tab-general">
<!-- Class Title -->
<div class="control-group {{ $errors->has('name') ? 'error' : '' }}">
<label class="control-label" for="name">Location Name</label>
<div class="controls">
<input class="span4" type="text" name="name" id="name" value="{{ Input::old('name', $location->name) }}" />
{{ $errors->first('name', '<span class="help-inline">:message</span>') }}
</div>
<!-- Location Name -->
<div class="form-group {{ $errors->has('name') ? ' has-error' : '' }}">
<label for="name" class="col-md-2 control-label">Location Name</label>
<div class="col-md-12">
<div class="col-xs-8">
<input class="form-control" type="text" name="name" id="name" value="{{ Input::old('name', $location->name) }}" />
</div>
{{ $errors->first('name', '<span class="alert-msg"><i class="icon-remove-sign"></i> :message</span>') }}
</div>
</div>
<div class="control-group {{ $errors->has('city') ? 'error' : '' }}">
<label class="control-label" for="name">City</label>
<div class="controls">
<input class="span4" type="text" name="city" id="city" value="{{ Input::old('city', $location->city) }}" />
{{ $errors->first('city', '<span class="help-inline">:message</span>') }}
<!-- Address -->
<div class="form-group {{ $errors->has('address') ? ' has-error' : '' }}">
<label for="address" class="col-md-2 control-label">Street Address</label>
<div class="col-md-12">
<div class="col-xs-8">
<input class="form-control" type="text" name="address" id="address" value="{{ Input::old('address', $location->address) }}" />
</div>
{{ $errors->first('address', '<span class="alert-msg"><i class="icon-remove-sign"></i> :message</span>') }}
</div>
</div>
<!-- Address -->
<div class="form-group {{ $errors->has('address2') ? ' has-error' : '' }}">
<label for="address2" class="col-md-2 control-label"></label>
<div class="col-md-12">
<div class="col-xs-8">
<input class="form-control" type="text" name="address2" id="address2" value="{{ Input::old('address2', $location->address2) }}" />
</div>
{{ $errors->first('address2', '<span class="alert-msg"><i class="icon-remove-sign"></i> :message</span>') }}
</div>
</div>
<!-- City -->
<div class="form-group {{ $errors->has('city') ? ' has-error' : '' }}">
<label for="city" class="col-md-2 control-label">City</label>
<div class="col-md-12">
<div class="col-xs-8">
<input class="form-control" type="text" name="city" id="city" value="{{ Input::old('city', $location->city) }}" />
</div>
{{ $errors->first('city', '<span class="alert-msg"><i class="icon-remove-sign"></i> :message</span>') }}
</div>
</div>
<!-- City -->
<div class="form-group {{ $errors->has('state') ? ' has-error' : '' }}">
<label for="state" class="col-md-2 control-label">State Abbrev</label>
<div class="col-md-12">
<div class="col-xs-2">
<input class="form-control" type="text" name="state" id="state" value="{{ Input::old('state', $location->state) }}" />
</div>
{{ $errors->first('state', '<span class="alert-msg"><i class="icon-remove-sign"></i> :message</span>') }}
</div>
</div>
<!-- Zip -->
<div class="form-group {{ $errors->has('zip') ? ' has-error' : '' }}">
<label for="zip" class="col-md-2 control-label">Zip</label>
<div class="col-md-12">
<div class="col-xs-3">
<input class="form-control" type="text" name="zip" id="zip" value="{{ Input::old('zip', $location->zip) }}" />
</div>
{{ $errors->first('zip', '<span class="alert-msg"><i class="icon-remove-sign"></i> :message</span>') }}
</div>
</div>
<!-- Country -->
<div class="form-group {{ $errors->has('country') ? ' has-error' : '' }}">
<label for="country" class="col-md-2 control-label">Country Abbrev</label>
<div class="col-md-12">
<div class="col-xs-2">
<input class="form-control" type="text" name="country" id="country" value="{{ Input::old('country', $location->country) }}" />
</div>
{{ $errors->first('country', '<span class="alert-msg"><i class="icon-remove-sign"></i> :message</span>') }}
</div>
</div>
<!-- Form actions -->
<div class="form-group">
<label class="col-md-2 control-label"></label>
<div class="col-md-7">
<a class="btn btn-link" href="{{ route('locations') }}">@lang('general.cancel')</a>
<button type="submit" class="btn btn-success"><i class="icon-ok icon-white"></i> @lang('general.save')</button>
</div>
</div>
<div class="control-group {{ $errors->has('state') ? 'error' : '' }}">
<label class="control-label" for="state">State Abbrev</label>
<div class="controls">
<input class="span2" type="text" name="state" id="state" value="{{ Input::old('state', $location->state) }}" />
{{ $errors->first('state', '<span class="help-inline">:message</span>') }}
</div>
</div>
<div class="control-group {{ $errors->has('zip') ? 'error' : '' }}">
<label class="control-label" for="zip">Postal Code</label>
<div class="controls">
<input class="span2" type="text" name="zip" id="zip" value="{{ Input::old('zip', $location->zip) }}" />
{{ $errors->first('zip', '<span class="help-inline">:message</span>') }}
</div>
</div>
<div class="control-group {{ $errors->has('country') ? 'error' : '' }}">
<label class="control-label" for="state">Country Abbrev</label>
<div class="controls">
<input class="span2" type="text" name="country" id="country" value="{{ Input::old('country', $location->country) }}" />
{{ $errors->first('country', '<span class="help-inline">:message</span>') }}
</div>
</div>
</div>
<!-- Form actions -->
<div class="control-group">
<div class="controls">
<a class="btn btn-link" href="{{ route('locations') }}">@lang('general.cancel')</a>
<button type="submit" class="btn-flat success"><i class="icon-ok icon-white"></i> @lang('general.save')</button>
</div>
</div>
</form>

View File

@@ -8,26 +8,25 @@ Locations ::
{{-- Page content --}}
@section('content')
<div class="page-header">
<h3>
Locations
<div class="pull-right">
<a href="{{ route('create/location') }}" class="btn-flat success"><i class="icon-plus-sign icon-white"></i> Create New</a>
</div>
</h3>
<div class="row header">
<div class="col-md-12">
<a href="{{ route('create/location') }}" class="btn btn-success pull-right"><i class="icon-plus-sign icon-white"></i> Create New</a>
<h3>Locations</h3>
</div>
</div>
<div class="row-fluid table">
<div class="row form-wrapper">
<table id="example">
<thead>
<tr role="row">
<th class="span4">@lang('admin/locations/table.name')</th>
<th class="span2">Address</th>
<th class="span2">@lang('admin/locations/table.city'),
<th class="col-md-3">@lang('admin/locations/table.name')</th>
<th class="col-md-3">Address</th>
<th class="col-md-2">@lang('admin/locations/table.city'),
@lang('admin/locations/table.state')
@lang('admin/locations/table.country')</th>
<th class="span2">@lang('table.actions')</th>
<th class="col-md-2">@lang('table.actions')</th>
</tr>
</thead>
<tbody>
@@ -37,8 +36,9 @@ Locations ::
<td>{{ $location->address }}, {{ $location->address2 }} </td>
<td>{{ $location->city }}, {{ $location->state }} {{ $location->country }} </td>
<td>
<a href="{{ route('update/location', $location->id) }}" class="btn-flat white"> @lang('button.edit')</a>
<a data-html="false" class="btn-flat danger delete-asset" data-toggle="modal" href="{{ route('delete/location', $location->id) }}" data-content="Are you sure you wish to delete this location?" data-title="Delete {{ htmlspecialchars($location->name) }}?" onClick="return false;">@lang('button.delete')</a>
<a href="{{ route('update/location', $location->id) }}" class="btn btn-warning"><i class="icon-pencil icon-white"></i></a>
<a data-html="false" class="btn delete-asset btn-danger" data-toggle="modal" href="{{ route('delete/location', $location->id) }}" data-content="Are you sure you wish to delete this location?" data-title="Delete {{ htmlspecialchars($location->name) }}?" onClick="return false;"><i class="icon-trash icon-white"></i></a>
</td>
</tr>
@endforeach

View File

@@ -12,48 +12,70 @@
{{-- Page content --}}
@section('content')
<div class="page-header">
<h3>
<div class="row header">
<div class="col-md-12">
<a href="{{ route('manufacturers') }}" class="btn-flat gray pull-right"><i class="icon-plus-sign icon-white"></i> Back</a>
<h3>
@if ($manufacturer->id)
Update Manufacturer
@else
Create manufacturer
@endif
<div class="pull-right">
<a href="{{ route('manufacturers') }}" class="btn-flat gray"><i class="icon-circle-arrow-left icon-white"></i> Back</a>
</div>
</h3>
</div>
</div>
<div class="user-profile">
<div class="row profile">
<div class="col-md-9 bio">
<form class="form-horizontal" method="post" action="" autocomplete="off">
<!-- CSRF Token -->
<input type="hidden" name="_token" value="{{ csrf_token() }}" />
<!-- Tabs Content -->
<div class="tab-content">
<div class="tab-pane active" id="tab-general">
<!-- Category Title -->
<div class="control-group {{ $errors->has('name') ? 'error' : '' }}">
<label class="control-label" for="name">Manufacturer Name</label>
<div class="controls">
<input type="text" name="name" id="name" value="{{ Input::old('name', $manufacturer->name) }}" />
{{ $errors->first('name', '<span class="help-inline">:message</span>') }}
</div>
<!-- Name -->
<div class="form-group {{ $errors->has('name') ? ' has-error' : '' }}">
<label for="name" class="col-md-2 control-label">Manufacturer Name</label>
<div class="col-md-7">
<input class="form-control" type="text" name="name" id="name" value="{{ Input::old('name', $manufacturer->name) }}" />
{{ $errors->first('name', '<span class="alert-msg"><i class="icon-remove-sign"></i> :message</span>') }}
</div>
</div>
<!-- Form actions -->
<div class="form-group">
<label class="col-md-2 control-label"></label>
<div class="col-md-7">
@if ($manufacturer->id)
<a class="btn btn-link" href="{{ route('view/manufacturer', $manufacturer->id) }}">@lang('general.cancel')</a>
@else
<a class="btn btn-link" href="{{ route('manufacturers') }}">@lang('general.cancel')</a>
@endif
<button type="submit" class="btn btn-success"><i class="icon-ok icon-white"></i> @lang('general.save')</button>
</div>
</div>
<!-- Form actions -->
<div class="control-group">
<div class="controls">
<a class="btn btn-link" href="{{ route('manufacturers') }}">@lang('general.cancel')</a>
<button type="submit" class="btn-flat success"><i class="icon-ok icon-white"></i> @lang('general.save')</button>
</div>
</div>
</form>
<br><br><br><br>
</div>
<!-- side address column -->
<div class="col-md-3 col-xs-12 address pull-right">
<br /><br />
<h6>Have Some Haiku</h6>
<p>Serious error.<br>
All shortcuts have disappeared.<br>
Screen. Mind. Both are blank.</p>
</div>
</div>
@stop

View File

@@ -8,23 +8,24 @@ Asset Manufacturers ::
{{-- Page content --}}
@section('content')
<div class="page-header">
<h3>
Asset Manufacturers
<div class="pull-right">
<a href="{{ route('create/manufacturer') }}" class="btn-flat success"><i class="icon-plus-sign icon-white"></i> Create New</a>
</div>
</h3>
<div class="row header">
<div class="col-md-12">
<a href="{{ route('create/manufacturer') }}" class="btn btn-success pull-right"><i class="icon-plus-sign icon-white"></i> Create New</a>
<h3>Asset Manufacturers</h3>
</div>
</div>
<div class="user-profile">
<div class="row profile">
<div class="col-md-9 bio">
<div class="row-fluid table">
<table id="example">
<thead>
<tr role="row">
<th class="span10">@lang('admin/manufacturers/table.title')</th>
<th class="span2">@lang('table.actions')</th>
<th class="col-md-7">@lang('admin/manufacturers/table.title')</th>
<th class="col-md-2">@lang('table.actions')</th>
</tr>
</thead>
<tbody>
@@ -32,8 +33,11 @@ Asset Manufacturers ::
<tr>
<td>{{ $manufacturer->name }}</td>
<td>
<a href="{{ route('update/manufacturer', $manufacturer->id) }}" class="btn-flat white">@lang('button.edit')</a>
<a data-html="false" class="btn-flat danger delete-asset" data-toggle="modal" href="{{ route('delete/manufacturer', $manufacturer->id) }}" data-content="Are you sure you wish to delete this manufacturer?" data-title="Delete {{ htmlspecialchars($manufacturer->name) }}?" onClick="return false;">@lang('button.delete')</a>
<a href="{{ route('update/manufacturer', $manufacturer->id) }}" class="btn btn-warning"><i class="icon-pencil icon-white"></i></a>
<a data-html="false" class="btn delete-asset btn-danger" data-toggle="modal" href="{{ route('delete/manufacturer', $manufacturer->id) }}" data-content="Are you sure you wish to delete this manufacturer?" data-title="Delete {{ htmlspecialchars($manufacturer->name) }}?" onClick="return false;"><i class="icon-trash icon-white"></i></a>
</td>
</tr>
@endforeach
@@ -41,4 +45,23 @@ Asset Manufacturers ::
</table>
</div>
<!-- side address column -->
<div class="col-md-3 col-xs-12 address pull-right">
<br /><br />
<h6>Have Some Haiku</h6>
<p>The Staples truck came.<br>
Left thirteen cardboard boxes.<br>
Honey stained maple.</p>
<p>----------</p>
<p>I'm sorry, there's um -<br>
insufficient what's-it-called?<br>
The term eludes me...</p>
</div>
</div>
@stop

View File

@@ -12,72 +12,80 @@
{{-- Page content --}}
@section('content')
<div class="page-header">
<h3>
<div class="row header">
<div class="col-md-12">
<a href="{{ route('models') }}" class="btn-flat gray pull-right"><i class="icon-circle-arrow-left icon-white"></i> Back</a>
<h3>
@if ($model->id)
Update Model
@else
Create New Model
@endif
<div class="pull-right">
<a href="{{ route('models') }}" class="btn-flat gray"><i class="icon-circle-arrow-left icon-white"></i> Back</a>
</div>
</h3>
</h3>
</div>
</div>
<div class="row form-wrapper">
<form class="form-horizontal" method="post" action="" autocomplete="off">
<!-- CSRF Token -->
<input type="hidden" name="_token" value="{{ csrf_token() }}" />
<!-- General tab -->
<div class="tab-pane active" id="tab-general">
<!-- Model Title -->
<div class="control-group {{ $errors->has('name') ? 'error' : '' }}">
<label class="control-label" for="name">Model Name</label>
<div class="controls">
<input type="text" name="name" id="name" value="{{ Input::old('name', $model->name) }}" />
{{ $errors->first('name', '<span class="help-inline">:message</span>') }}
</div>
<!-- Model name -->
<div class="form-group {{ $errors->has('name') ? ' has-error' : '' }}">
<label for="name" class="col-md-2 control-label">Model Name</label>
<div class="col-md-7">
<input class="form-control" type="text" name="name" id="name" value="{{ Input::old('name', $model->name) }}" />
{{ $errors->first('name', '<span class="alert-msg"><i class="icon-remove-sign"></i> :message</span>') }}
</div>
</div>
<div class="control-group {{ $errors->has('modelno') ? 'error' : '' }}">
<label class="control-label" for="modelno">Model No.</label>
<div class="controls">
<input type="text" name="modelno" id="modelno" value="{{ Input::old('modelno', $model->modelno) }}" />
{{ $errors->first('modelno', '<span class="help-inline">:message</span>') }}
</div>
<!-- Model No. -->
<div class="form-group {{ $errors->has('modelno') ? ' has-error' : '' }}">
<label for="modelno" class="col-md-2 control-label">Model No.</label>
<div class="col-md-7">
<input class="form-control" type="text" name="modelno" id="modelno" value="{{ Input::old('modelno', $model->modelno) }}" />
{{ $errors->first('modelno', '<span class="alert-msg"><i class="icon-remove-sign"></i> :message</span>') }}
</div>
</div>
<div class="form-group {{ $errors->has('manufacturer_id') ? ' has-error' : '' }}">
<label for="manufacturer_id" class="col-md-2 control-label">Manufacturer</label>
<div class="col-md-7">
{{ Form::select('manufacturer_id', $manufacturer_list , Input::old('manufacturer_id', $model->manufacturer_id), array('class'=>'select2', 'style'=>'width:350px')) }}
{{ $errors->first('manufacturer_id', '<span class="alert-msg"><i class="icon-remove-sign"></i> :message</span>') }}
</div>
</div>
<!-- Depreciation -->
<div class="control-group {{ $errors->has('depreciation_id') ? 'error' : '' }}">
<label class="control-label" for="parent">Depreciation</label>
<div class="controls">
{{ Form::select('depreciation_id', $depreciation_list , Input::old('depreciation_id', $model->depreciation_id), array('class'=>'select2', 'style'=>'width:250px')) }}
{{ $errors->first('depreciation_id', '<span class="help-inline">:message</span>') }}
</div>
<div class="form-group {{ $errors->has('depreciation_id') ? ' has-error' : '' }}">
<label for="depreciation_id" class="col-md-2 control-label">Depreciation</label>
<div class="col-md-7">
{{ Form::select('depreciation_id', $depreciation_list , Input::old('depreciation_id', $model->depreciation_id), array('class'=>'select2', 'style'=>'width:350px')) }}
{{ $errors->first('depreciation_id', '<span class="alert-msg"><i class="icon-remove-sign"></i> :message</span>') }}
</div>
</div>
<!-- Category -->
<div class="control-group {{ $errors->has('category_id') ? 'error' : '' }}">
<label class="control-label" for="parent">Category</label>
<div class="controls">
{{ Form::select('category_id', $category_list , Input::old('category_id', $model->category_id), array('class'=>'select2', 'style'=>'width:250px')) }}
{{ $errors->first('category_id', '<span class="help-inline">:message</span>') }}
</div>
<div class="form-group {{ $errors->has('category_id') ? ' has-error' : '' }}">
<label for="category_id" class="col-md-2 control-label">Category</label>
<div class="col-md-7">
{{ Form::select('category_id', $category_list , Input::old('category_id', $model->category_id), array('class'=>'select2', 'style'=>'width:350px')) }}
{{ $errors->first('category_id', '<span class="alert-msg"><i class="icon-remove-sign"></i> :message</span>') }}
</div>
</div>
</div>
<!-- Form Actions -->
<div class="control-group">
<div class="controls">
<a class="btn btn-link" href="{{ route('models') }}">@lang('general.cancel')</a>
<button type="submit" class="btn-flat success"><i class="icon-ok icon-white"></i> @lang('general.save')</button>
</div>
</div>
<!-- Form actions -->
<div class="form-group">
<label class="col-md-2 control-label"></label>
<div class="col-md-7">
<a class="btn btn-link" href="{{ route('models') }}">Cancel</a>
<button type="submit" class="btn btn-success"><i class="icon-ok icon-white"></i> @lang('general.save')</button>
</div>
</div>
</form>
</div>
@stop

View File

@@ -8,25 +8,24 @@ Asset Models ::
{{-- Page content --}}
@section('content')
<div class="page-header">
<h3>
Asset Models
<div class="pull-right">
<a href="{{ route('create/model') }}" class="btn-flat success"><i class="icon-plus-sign icon-white"></i> Create New</a>
</div>
</h3>
<div class="row header">
<div class="col-md-12">
<a href="{{ route('create/model') }}" class="btn btn-success pull-right"><i class="icon-plus-sign icon-white"></i> Create New</a>
<h3>Asset Models</h3>
</div>
</div>
<div class="row form-wrapper">
<table id="example">
<thead>
<tr role="row">
<th class="span3">@lang('admin/models/table.title')</th>
<th class="span2">@lang('admin/models/table.modelnumber')</th>
<th class="span1">@lang('admin/models/table.numassets')</th>
<th class="span2">Depreciation</th>
<th class="span1">Category</th>
<th class="span2">@lang('table.actions')</th>
<th class="col-md-3">@lang('admin/models/table.title')</th>
<th class="col-md-2">@lang('admin/models/table.modelnumber')</th>
<th class="col-md-1">@lang('admin/models/table.numassets')</th>
<th class="col-md-2">Depreciation</th>
<th class="col-md-2">Category</th>
<th class="col-md-2">@lang('table.actions')</th>
</tr>
</thead>
<tbody>
@@ -45,11 +44,11 @@ Asset Models ::
<td>
@if ($model->category)
{{ $model->category->name }}
@endif</td>
@endif
</td>
<td>
<a href="{{ route('update/model', $model->id) }}" class="btn-flat white">@lang('button.edit')</a>
<a data-html="false" class="btn-flat danger delete-asset" data-toggle="modal" href="{{ route('delete/model', $model->id) }}" data-content="Are you sure you wish to delete this model?" data-title="Delete {{ htmlspecialchars($model->name) }}?" onClick="return false;">@lang('button.delete')</a>
<a href="{{ route('update/model', $model->id) }}" class="btn btn-warning"><i class="icon-pencil icon-white"></i></a>
<a data-html="false" class="btn delete-asset btn-danger" data-toggle="modal" href="{{ route('delete/model', $model->id) }}" data-content="Are you sure you wish to delete this model?" data-title="Delete {{ htmlspecialchars($model->name) }}?" onClick="return false;"><i class="icon-trash icon-white"></i></a>
</td>
</tr>
@endforeach

View File

@@ -8,43 +8,36 @@ View Model {{ $model->model_tag }} ::
{{-- Page content --}}
@section('content')
<div id="pad-wrapper" class="user-profile">
<!-- header -->
<h3 class="name">History for {{ $model->name }}
<div class="btn-group pull-right">
<button class="btn glow">Actions</button>
<button class="btn glow dropdown-toggle" data-toggle="dropdown">
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li><a href="{{ route('update/model', $model->id) }}">Edit Asset</a></li>
</ul>
</div>
</h3>
<div class="row header">
<div class="col-md-12">
<a href="{{ route('update/model', $model->id) }}" class="btn btn-default pull-right"><i class="icon-plus-sign icon-white"></i> Update Model</a>
<h3 class="name">History for {{ $model->name }} </h3>
</div>
</div>
<div class="user-profile">
<div class="row profile">
<div class="col-md-9 bio">
<div class="row-fluid profile">
<!-- bio, new note & orders column -->
<div class="span9 bio">
<div class="profile-box">
<br>
<!-- checked out models table -->
@if (count($model->assets) > 0)
<table id="example">
<thead>
<tr role="row">
<th class="span3">Name</th>
<th class="span3">Asset Tag</th>
<th class="span3">User</th>
<th class="span2">Actions</th>
<th class="col-md-3">Name</th>
<th class="col-md-3">Asset Tag</th>
<th class="col-md-3">User</th>
<th class="col-md-2">Actions</th>
</tr>
</thead>
<tbody>
@foreach ($model->assets as $modelassets)
<tr>
<td><a href="{{ route('view/asset', $modelassets->id) }}">{{ $modelassets->name }}</a></td>
<td><a href="{{ route('view/asset', $modelassets->id) }}">{{ $modelassets->asset_tag }}</a></td>
<td><a href="{{ route('view/hardware', $modelassets->id) }}">{{ $modelassets->name }}</a></td>
<td><a href="{{ route('view/hardware', $modelassets->id) }}">{{ $modelassets->asset_tag }}</a></td>
<td>
@if ($modelassets->assigneduser)
<a href="{{ route('view/user', $modelassets->assigned_to) }}">
@@ -54,9 +47,9 @@ View Model {{ $model->model_tag }} ::
</td>
<td>
@if ($modelassets->assigned_to != 0)
<a href="{{ route('checkin/asset', $modelassets->id) }}" class="btn-flat info">Checkin</a>
<a href="{{ route('checkin/hardware', $modelassets->id) }}" class="btn-flat info">Checkin</a>
@else
<a href="{{ route('checkout/asset', $modelassets->id) }}" class="btn-flat success">Checkout</a>
<a href="{{ route('checkout/hardware', $modelassets->id) }}" class="btn-flat success">Checkout</a>
@endif
</td>
@@ -77,12 +70,11 @@ View Model {{ $model->model_tag }} ::
@endif
</div>
</div>
<!-- side address column -->
<div class="span3 address pull-right">
<h6><br>More Info:</h6>
<div class="col-md-3 col-xs-12 address pull-right">
<h6>More Info:</h6>
<ul>

View File

@@ -11,10 +11,8 @@ Depreciation Report
<div class="page-header">
<h3>
Depreciation Report
<div class="pull-right">
<div class="pull-right">
<div class="btn-group settings">
<button class="btn glow"><i class="icon-download-alt"></i></button>
<button class="btn glow dropdown-toggle" data-toggle="dropdown">
@@ -27,23 +25,23 @@ Depreciation Report
</div>
</div>
</h3>
<h3>Depreciation Report</h3>
</div>
<div class="row-fluid table">
<div class="row table">
<div class="col-md-12">
<table id="example">
<thead>
<tr role="row">
<th class="span2">@lang('admin/assets/table.asset_tag')</th>
<th class="span2">@lang('admin/assets/table.title')</th>
<th class="span2">@lang('admin/assets/table.serial')</th>
<th class="span3">@lang('admin/assets/table.checkoutto')</th>
<th class="span2">@lang('admin/assets/table.location')</th>
<th class="span2">@lang('admin/assets/table.purchase_date')</th>
<th class="span1">@lang('admin/assets/table.purchase_cost')</th>
<th class="span1">@lang('admin/assets/table.book_value')</th>
<th class="span1">Diff</th>
<th class="col-sm-2">@lang('admin/hardware/table.asset_tag')</th>
<th class="col-sm-2">@lang('admin/hardware/table.title')</th>
<th class="col-sm-2">@lang('admin/hardware/table.serial')</th>
<th class="col-sm-3">@lang('admin/hardware/table.checkoutto')</th>
<th class="col-sm-2">@lang('admin/hardware/table.location')</th>
<th class="col-sm-2">@lang('admin/hardware/table.purchase_date')</th>
<th class="col-sm-1">@lang('admin/hardware/table.purchase_cost')</th>
<th class="col-sm-1">@lang('admin/hardware/table.book_value')</th>
<th class="col-sm-1">Diff</th>
</tr>
</thead>
<tbody>

View File

@@ -10,17 +10,17 @@
@section('content')
<div id="pad-wrapper" class="user-profile">
<!-- header -->
<h3 class="name">Update Settings
<div class="pull-right">
<div class="pull-right">
<a href="{{ route('app') }}" class="btn-flat gray"><i class="icon-circle-arrow-left icon-white"></i> Back</a>
</div>
</h3>
<h3 class="name">Update Settings</h3>
<div class="row-fluid profile">
<!-- bio, new note & orders column -->
<div class="span9 bio">
<div class="col-md-9 bio">
<div class="profile-box">
<br>
<!-- checked out assets table -->
@@ -31,17 +31,17 @@
@foreach ($settings as $setting)
<div class="control-group {{ $errors->has('site_name') ? 'error' : '' }}">
<div class="form-group {{ $errors->has('site_name') ? 'error' : '' }}">
<label class="control-label" for="site_name">Site Name</label>
<div class="controls">
<input class="span9" type="text" name="site_name" id="site_name" value="{{ Input::old('site_name', $setting->site_name) }}" />
<input class="col-md-9" type="text" name="site_name" id="site_name" value="{{ Input::old('site_name', $setting->site_name) }}" />
{{ $errors->first('site_name', '<span class="help-inline">:message</span>') }}
</div>
</div>
<div class="control-group {{ $errors->has('per_page') ? 'error' : '' }}">
<div class="form-group {{ $errors->has('per_page') ? 'error' : '' }}">
<label class="control-label" for="per_page">Results Per Page</label>
<div class="controls">
<input class="span1" type="text" name="per_page" id="per_page" value="{{ Input::old('per_page', $setting->per_page) }}" />
<input class="col-md-1" type="text" name="per_page" id="per_page" value="{{ Input::old('per_page', $setting->per_page) }}" />
{{ $errors->first('per_page', '<span class="help-inline">:message</span>') }}
</div>
</div>
@@ -51,7 +51,7 @@
@endforeach
<!-- Form actions -->
<div class="control-group">
<div class="form-group">
<div class="controls">
<a class="btn btn-link" href="{{ route('app') }}">@lang('general.cancel')</a>
<button type="submit" class="btn-flat success"><i class="icon-ok icon-white"></i> @lang('general.save')</button>
@@ -63,7 +63,7 @@
</div>
<!-- side address column -->
<div class="span3 address pull-right">
<div class="col-md-3 address pull-right">
<br /><br />
<p>These settings let you customize certain aspects of your installation. </p>

View File

@@ -10,16 +10,18 @@ Settings ::
@section('content')
<div id="pad-wrapper" class="user-profile">
<!-- header -->
<h3 class="name">Settings
<div class="pull-right">
<a href="{{ route('edit/settings') }}" class="btn-flat white"> @lang('button.edit') Settings</a>
</div>
</h3>
<div class="pull-right">
<a href="{{ route('edit/settings') }}" class="btn-flat white"> @lang('button.edit') Settings</a>
</div>
<h3 class="name">Settings</h3>
<div class="row-fluid profile">
<!-- bio, new note & orders column -->
<div class="span9 bio">
<div class="col-md-9 bio">
<div class="profile-box">
<br>
<!-- checked out assets table -->
@@ -27,8 +29,8 @@ Settings ::
<table class="table table-hover">
<thead>
<tr>
<th class="span3">Setting</th>
<th class="span3"><span class="line"></span>Value</th>
<th class="col-md-3">Setting</th>
<th class="col-md-3"><span class="line"></span>Value</th>
</tr>
</thead>
<tbody>
@@ -49,7 +51,7 @@ Settings ::
</div>
<!-- side address column -->
<div class="span3 address pull-right">
<div class="col-md-3 address pull-right">
<br /><br />
<p>These settings let you customize certain aspects of your installation. </p>

View File

@@ -12,55 +12,51 @@
{{-- Page content --}}
@section('content')
<div id="pad-wrapper" class="user-profile">
<!-- header -->
<h3 class="name">
@if ($statuslabel->id)
Update Status Label
@else
Create New Status Label
@endif
<div class="pull-right">
<a href="{{ route('statuslabels') }}" class="btn-flat gray"><i class="icon-circle-arrow-left icon-white"></i> Back</a>
<div class="row header">
<div class="col-md-12">
<a href="{{ route('statuslabels') }}" class="btn-flat gray pull-right right"><i class="icon-circle-arrow-left icon-white"></i> Back</a>
<h3>Status Labels</h3>
</div>
</div>
<div class="user-profile">
<div class="row profile">
<div class="col-md-9 bio">
<!-- checked out assets table -->
<form class="form-horizontal" method="post" action="" autocomplete="off">
<!-- CSRF Token -->
<input type="hidden" name="_token" value="{{ csrf_token() }}" />
<!-- Asset Title -->
<div class="form-group {{ $errors->has('name') ? ' has-error' : '' }}">
<label for="name" class="col-md-3 control-label">Status Label Name</label>
<div class="col-md-6">
<input class="form-control" type="text" name="name" id="name" value="{{ Input::old('name', $statuslabel->name) }}" />
{{ $errors->first('name', '<span class="alert-msg"><i class="icon-remove-sign"></i> :message</span>') }}
</div>
</div>
<!-- Form actions -->
<div class="form-group">
<label class="col-md-2 control-label"></label>
<div class="col-md-7">
<a class="btn btn-link" href="{{ route('statuslabels') }}">Cancel</a>
<button type="submit" class="btn btn-success"><i class="icon-ok icon-white"></i> @lang('general.save')</button>
</div>
</div>
</h3>
</form>
<br><br><br><br>
<div class="row-fluid profile">
<!-- bio, new note & orders column -->
<div class="span9 bio">
<div class="profile-box">
<br>
<!-- checked out assets table -->
<form class="form-horizontal" method="post" action="" autocomplete="off">
<!-- CSRF Token -->
<input type="hidden" name="_token" value="{{ csrf_token() }}" />
<div class="control-group {{ $errors->has('name') ? 'error' : '' }}">
<label class="control-label" for="name">Status Label</label>
<div class="controls">
<input class="span9" type="text" name="name" id="name" value="{{ Input::old('name', $statuslabel->name) }}" />
{{ $errors->first('name', '<span class="help-inline">:message</span>') }}
</div>
</div>
<!-- Form actions -->
<div class="control-group">
<div class="controls">
<a class="btn btn-link" href="{{ route('statuslabels') }}">@lang('general.cancel')</a>
<button type="submit" class="btn-flat success"><i class="icon-ok icon-white"></i> @lang('general.save')</button>
</div>
</div>
</form>
</div>
</div>
<!-- side address column -->
<div class="span3 address pull-right">
<div class="col-md-3 address pull-right">
<br /><br />
<h6>About Status Labels</h6>
<p>Status labels are used to describe the various reasons why an asset <strong><em>cannot</em></strong> be deployed. </p>

View File

@@ -8,55 +8,57 @@ Status Labels
{{-- Page content --}}
@section('content')
<div id="pad-wrapper" class="user-profile">
<!-- header -->
<h3 class="name">Status Labels
<div class="pull-right">
<a href="{{ route('create/statuslabel') }}" class="btn-flat success"><i class="icon-plus-sign icon-white"></i> Create New</a>
</div>
</h3>
<div class="row-fluid profile">
<!-- bio, new note & orders column -->
<div class="span9 bio">
<div class="profile-box">
<br>
<!-- checked out assets table -->
<div class="row header">
<div class="col-md-12">
<a href="{{ route('create/statuslabel') }}" class="btn btn-success pull-right"><i class="icon-plus-sign icon-white"></i> Create New</a>
<h3>Status Labels</h3>
</div>
</div>
<table id="example">
<thead>
<tr role="row">
<th class="span4">@lang('admin/statuslabels/table.name')</th>
<th class="span2"><span class="line"></span>@lang('table.actions')</th>
</tr>
</thead>
<tbody>
@foreach ($statuslabels as $statuslabel)
<tr>
<td>{{ $statuslabel->name }}</td>
<td>
<a href="{{ route('update/statuslabel', $statuslabel->id) }}" class="btn-flat white"> @lang('button.edit')</a>
<a data-html="false" class="btn-flat danger delete-asset" data-toggle="modal" href="{{ route('delete/statuslabel', $statuslabel->id) }}" data-content="Are you sure you wish to delete this status label?" data-title="Delete {{ htmlspecialchars($statuslabel->name) }}?" onClick="return false;">@lang('button.delete')</a>
</td>
</tr>
@endforeach
</tbody>
</table>
<div class="user-profile">
<div class="row profile">
<div class="col-md-9 bio">
</div>
</div>
<br>
<!-- checked out assets table -->
<!-- side address column -->
<div class="span3 address pull-right">
<br /><br />
<h6>About Status Labels</h6>
<p>Status labels are used to describe the various reasons why an asset <strong><em>cannot</em></strong> be deployed. </p>
<table id="example">
<thead>
<tr role="row">
<th class="col-md-4">@lang('admin/statuslabels/table.name')</th>
<th class="col-md-2">@lang('table.actions')</th>
</tr>
</thead>
<tbody>
@foreach ($statuslabels as $statuslabel)
<tr>
<td>{{ $statuslabel->name }}</td>
<td>
<a href="{{ route('update/statuslabel', $statuslabel->id) }}" class="btn btn-warning"><i class="icon-pencil icon-white"></i></a>
<a data-html="false" class="btn delete-asset btn-danger" data-toggle="modal" href="{{ route('delete/statuslabel', $statuslabel->id) }}" data-content="Are you sure you wish to delete this status label?" data-title="Delete {{ htmlspecialchars($statuslabel->name) }}?" onClick="return false;"><i class="icon-trash icon-white"></i></a>
</td>
</tr>
@endforeach
</tbody>
</table>
<p>It could be broken, out for diagnostics, out for
repair, lost or stolen, etc. Status labels allow your team to show the progression.</p>
</div>
<!-- side address column -->
<div class="col-md-3 col-xs-12 address pull-right">
<br /><br />
<h6>About Status Labels</h6>
<p>Status labels are used to describe the various reasons why an asset <strong><em>cannot</em></strong> be deployed. </p>
<p>It could be broken, out for diagnostics, out for
repair, lost or stolen, etc. Status labels allow your team to show the progression.</p>
</div>
</div>
</div>
@stop

View File

@@ -9,12 +9,13 @@ Create a User ::
{{-- Page content --}}
@section('content')
<div class="page-header">
<div class="pull-right">
<a href="{{ route('users') }}" class="btn-flat gray"><i class="icon-circle-arrow-left icon-white"></i> Back</a>
</div>
<h3>
Create a New User
<div class="pull-right">
<a href="{{ route('users') }}" class="btn-flat gray"><i class="icon-circle-arrow-left icon-white"></i> Back</a>
</div>
</h3>
</div>
@@ -33,7 +34,7 @@ Create a User ::
<!-- General tab -->
<div class="tab-pane active" id="tab-general">
<!-- First Name -->
<div class="control-group {{ $errors->has('first_name') ? 'error' : '' }}">
<div class="form-group {{ $errors->has('first_name') ? 'error' : '' }}">
<label class="control-label" for="first_name">First Name</label>
<div class="controls">
<input type="text" name="first_name" id="first_name" value="{{ Input::old('first_name') }}" />
@@ -42,7 +43,7 @@ Create a User ::
</div>
<!-- Last Name -->
<div class="control-group {{ $errors->has('last_name') ? 'error' : '' }}">
<div class="form-group {{ $errors->has('last_name') ? 'error' : '' }}">
<label class="control-label" for="last_name">Last Name</label>
<div class="controls">
<input type="text" name="last_name" id="last_name" value="{{ Input::old('last_name') }}" />
@@ -51,7 +52,7 @@ Create a User ::
</div>
<!-- Jobtitle -->
<div class="control-group {{ $errors->has('jobtitle') ? 'error' : '' }}">
<div class="form-group {{ $errors->has('jobtitle') ? 'error' : '' }}">
<label class="control-label" for="jobtitle">Job Title</label>
<div class="controls">
<input type="text" name="jobtitle" id="jobtitle" value="{{ Input::old('jobtitle') }}" />
@@ -60,7 +61,7 @@ Create a User ::
</div>
<!-- Location -->
<div class="control-group {{ $errors->has('phone') ? 'error' : '' }}">
<div class="form-group {{ $errors->has('phone') ? 'error' : '' }}">
<label class="control-label" for="location_id">Location</label>
<div class="controls">
<div class="field-box">
@@ -71,7 +72,7 @@ Create a User ::
</div>
<!-- Phone -->
<div class="control-group {{ $errors->has('phone') ? 'error' : '' }}">
<div class="form-group {{ $errors->has('phone') ? 'error' : '' }}">
<label class="control-label" for="jobtitle">Phone</label>
<div class="controls">
<input type="text" name="phone" id="phone" value="{{ Input::old('phone') }}" />
@@ -80,16 +81,16 @@ Create a User ::
</div>
<!-- Email -->
<div class="control-group {{ $errors->has('email') ? 'error' : '' }}">
<div class="form-group {{ $errors->has('email') ? 'error' : '' }}">
<label class="control-label" for="email">Email</label>
<div class="controls">
<input type="text" name="email" id="email" value="{{ Input::old('email') }}" />
<input type="email" name="email" id="email" value="{{ Input::old('email') }}" />
{{ $errors->first('email', '<span class="help-inline">:message</span>') }}
</div>
</div>
<!-- Password -->
<div class="control-group {{ $errors->has('password') ? 'error' : '' }}">
<div class="form-group {{ $errors->has('password') ? 'error' : '' }}">
<label class="control-label" for="password">Password</label>
<div class="controls">
<input type="password" name="password" id="password" value="" />
@@ -98,7 +99,7 @@ Create a User ::
</div>
<!-- Password Confirm -->
<div class="control-group {{ $errors->has('password_confirm') ? 'error' : '' }}">
<div class="form-group {{ $errors->has('password_confirm') ? 'error' : '' }}">
<label class="control-label" for="password_confirm">Confirm Password</label>
<div class="controls">
<input type="password" name="password_confirm" id="password_confirm" value="" />
@@ -107,7 +108,7 @@ Create a User ::
</div>
<!-- Activation Status -->
<div class="control-group {{ $errors->has('activated') ? 'error' : '' }}">
<div class="form-group {{ $errors->has('activated') ? 'error' : '' }}">
<label class="control-label" for="activated">User Activated</label>
<div class="controls">
<select name="activated" id="activated">
@@ -119,7 +120,7 @@ Create a User ::
</div>
<!-- Groups -->
<div class="control-group {{ $errors->has('groups') ? 'error' : '' }}">
<div class="form-group {{ $errors->has('groups') ? 'error' : '' }}">
<label class="control-label" for="groups">Groups</label>
<div class="controls">
<select name="groups[]" id="groups[]" multiple="multiple">
@@ -137,7 +138,7 @@ Create a User ::
<!-- Permissions tab -->
<div class="tab-pane" id="tab-permissions">
<div class="control-group">
<div class="form-group">
<div class="controls">
@foreach ($permissions as $area => $permissions)
@@ -145,8 +146,8 @@ Create a User ::
<legend>{{ $area }}</legend>
@foreach ($permissions as $permission)
<div class="control-group">
<label class="control-group">{{ $permission['label'] }}</label>
<div class="form-group">
<label class="form-group">{{ $permission['label'] }}</label>
<div class="radio inline">
<label for="{{ $permission['permission'] }}_allow" onclick="">
@@ -182,7 +183,7 @@ Create a User ::
</div>
<!-- Form Actions -->
<div class="control-group">
<div class="form-group">
<div class="controls">
<a class="btn btn-link" href="{{ route('users') }}">Cancel</a>
<button type="submit" class="btn-flat success"><i class="icon-ok icon-white"></i> Create User</button>

View File

@@ -9,12 +9,12 @@ Update User {{ $user->fullName() }} ::
{{-- Page content --}}
@section('content')
<div class="page-header">
<h3>
Update User {{ $user->fullName() }}
<div class="pull-right">
<a href="{{ route('users') }}" class="btn-flat gray"><i class="icon-circle-arrow-left icon-white"></i> Back</a>
</div>
<h3>
Update User {{ $user->fullName() }}
</h3>
</div>
@@ -33,7 +33,7 @@ Update User {{ $user->fullName() }} ::
<!-- General tab -->
<div class="tab-pane active" id="tab-general">
<!-- First Name -->
<div class="control-group {{ $errors->has('first_name') ? 'error' : '' }}">
<div class="form-group {{ $errors->has('first_name') ? 'error' : '' }}">
<label class="control-label" for="first_name">First Name</label>
<div class="controls">
<input type="text" name="first_name" id="first_name" value="{{ Input::old('first_name', $user->first_name) }}" />
@@ -42,7 +42,7 @@ Update User {{ $user->fullName() }} ::
</div>
<!-- Last Name -->
<div class="control-group {{ $errors->has('last_name') ? 'error' : '' }}">
<div class="form-group {{ $errors->has('last_name') ? 'error' : '' }}">
<label class="control-label" for="last_name">Last Name</label>
<div class="controls">
<input type="text" name="last_name" id="last_name" value="{{ Input::old('last_name', $user->last_name) }}" />
@@ -51,7 +51,7 @@ Update User {{ $user->fullName() }} ::
</div>
<!-- Jobtitle -->
<div class="control-group {{ $errors->has('jobtitle') ? 'error' : '' }}">
<div class="form-group {{ $errors->has('jobtitle') ? 'error' : '' }}">
<label class="control-label" for="jobtitle">Job Title</label>
<div class="controls">
<input type="text" name="jobtitle" id="jobtitle" value="{{ Input::old('jobtitle', $user->jobtitle) }}" />
@@ -60,7 +60,7 @@ Update User {{ $user->fullName() }} ::
</div>
<!-- Location -->
<div class="control-group {{ $errors->has('phone') ? 'error' : '' }}">
<div class="form-group {{ $errors->has('phone') ? 'error' : '' }}">
<label class="control-label" for="location_id">Location</label>
<div class="controls">
<div class="field-box">
@@ -71,7 +71,7 @@ Update User {{ $user->fullName() }} ::
</div>
<!-- Phone -->
<div class="control-group {{ $errors->has('phone') ? 'error' : '' }}">
<div class="form-group {{ $errors->has('phone') ? 'error' : '' }}">
<label class="control-label" for="jobtitle">Phone</label>
<div class="controls">
<input type="text" name="phone" id="phone" value="{{ Input::old('phone', $user->phone) }}" />
@@ -81,16 +81,16 @@ Update User {{ $user->fullName() }} ::
<!-- Email -->
<div class="control-group {{ $errors->has('email') ? 'error' : '' }}">
<div class="form-group {{ $errors->has('email') ? 'error' : '' }}">
<label class="control-label" for="email">Email</label>
<div class="controls">
<input type="text" name="email" id="email" value="{{ Input::old('email', $user->email) }}" />
<input type="email" name="email" id="email" value="{{ Input::old('email', $user->email) }}" />
{{ $errors->first('email', '<span class="help-inline">:message</span>') }}
</div>
</div>
<!-- Password -->
<div class="control-group {{ $errors->has('password') ? 'error' : '' }}">
<div class="form-group {{ $errors->has('password') ? 'error' : '' }}">
<label class="control-label" for="password">Password</label>
<div class="controls">
<input type="password" name="password" id="password" value="" />
@@ -99,7 +99,7 @@ Update User {{ $user->fullName() }} ::
</div>
<!-- Password Confirm -->
<div class="control-group {{ $errors->has('password_confirm') ? 'error' : '' }}">
<div class="form-group {{ $errors->has('password_confirm') ? 'error' : '' }}">
<label class="control-label" for="password_confirm">Confirm Password</label>
<div class="controls">
<input type="password" name="password_confirm" id="password_confirm" value="" />
@@ -108,7 +108,7 @@ Update User {{ $user->fullName() }} ::
</div>
<!-- Activation Status -->
<div class="control-group {{ $errors->has('activated') ? 'error' : '' }}">
<div class="form-group {{ $errors->has('activated') ? 'error' : '' }}">
<label class="control-label" for="activated">User Activated</label>
<div class="controls">
<select{{ ($user->id === Sentry::getId() ? ' disabled="disabled"' : '') }} name="activated" id="activated">
@@ -120,7 +120,7 @@ Update User {{ $user->fullName() }} ::
</div>
<!-- Groups -->
<div class="control-group {{ $errors->has('groups') ? 'error' : '' }}">
<div class="form-group {{ $errors->has('groups') ? 'error' : '' }}">
<label class="control-label" for="groups">Groups</label>
<div class="controls">
<select name="groups[]" id="groups[]" multiple>
@@ -139,15 +139,15 @@ Update User {{ $user->fullName() }} ::
<!-- Permissions tab -->
<div class="tab-pane" id="tab-permissions">
<div class="controls">
<div class="control-group">
<div class="form-group">
@foreach ($permissions as $area => $permissions)
<fieldset>
<legend>{{ $area }}</legend>
@foreach ($permissions as $permission)
<div class="control-group">
<label class="control-group">{{ $permission['label'] }}</label>
<div class="form-group">
<label class="form-group">{{ $permission['label'] }}</label>
<div class="radio inline">
<label for="{{ $permission['permission'] }}_allow" onclick="">
@@ -183,13 +183,13 @@ Update User {{ $user->fullName() }} ::
</div>
<!-- Form Actions -->
<div class="control-group">
<div class="form-group">
<div class="controls">
<a class="btn btn-link" href="{{ route('users') }}">@lang('general.cancel')</a>
<button type="reset" class="btn">Reset</button>
<button type="submit" class="btn-flat success"><i class="icon-ok icon-white"></i> @lang('general.save')</button>
<button type="submit" class="btn btn-success"><i class="icon-ok icon-white"></i> @lang('general.save')</button>
</div>
</div>
</form>

View File

@@ -8,35 +8,40 @@ User Management ::
{{-- Page content --}}
@section('content')
<div class="page-header">
<h3>
User Management
<div class="pull-right">
<a href="{{ route('create/user') }}" class="btn-flat success"><i class="icon-plus-sign icon-white"></i> Create New</a>
</div>
<div class="row header">
<div class="col-md-12">
<a href="{{ route('create/user') }}" class="btn btn-success pull-right"><i class="icon-plus-sign icon-white"></i> New User</a>
@if (Input::get('onlyTrashed'))
<a class="btn btn-default pull-right" href="{{ URL::to('admin/users') }}">Show Current Users</a>
@else
<a class="btn btn-default pull-right" href="{{ URL::to('admin/users?onlyTrashed=true') }}">Show Deleted Users</a>
@endif
<h3>
@if (Input::get('onlyTrashed'))
Deleted
@else
Current
@endif
</h3>
</div>
</div>
<a class="btn-flat white" href="{{ URL::to('admin/users?withTrashed=true') }}">Include Deleted Users</a>
<a class="btn-flat white" href="{{ URL::to('admin/users?onlyTrashed=true') }}">Include Only Deleted Users</a>
<br><br>
@if ($users->getTotal() > 10)
{{ $users->links() }}
@endif
<div class="row form-wrapper">
@if ($users->getTotal() > 0)
<div class="row-fluid table users-list">
<table id="example">
<thead>
<tr role="row">
<th class="span3">@lang('admin/users/table.name')</th>
<th class="span2">@lang('admin/users/table.email')</th>
<th class="span1">Assets</th>
<th class="span1">Licenses</th>
<th class="span1">@lang('admin/users/table.activated')</th>
<th class="span3">@lang('table.actions')</th>
<th class="col-md-4">@lang('admin/users/table.name')</th>
<th class="col-md-3">@lang('admin/users/table.email')</th>
<th class="col-md-1">Assets</th>
<th class="col-md-1">Licenses</th>
<th class="col-md-1">@lang('admin/users/table.activated')</th>
<th class="col-md-2">@lang('table.actions')</th>
</tr>
</thead>
<tbody>
@@ -53,19 +58,20 @@ User Management ::
<td>{{ $user->licenses->count() }}</td>
<td>{{ $user->isActivated() ? '<i class="icon-ok"></i>' : ''}}</td>
<td>
@if ($user->id > 3)
@if ($user->id > 2)
@if ( ! is_null($user->deleted_at))
<a href="{{ route('restore/user', $user->id) }}" class="btn-flat default"><i class="icon-share-alt icon-white"></i> @lang('button.restore')</a>
<a href="{{ route('restore/user', $user->id) }}" class="btn btn-warning"><i class="icon-share-alt icon-white"></i></a>
@else
<a href="{{ route('update/user', $user->id) }}" class="btn-flat white"><i class="icon-pencil"></i> @lang('button.edit')</a>
<a href="{{ route('update/user', $user->id) }}" class="btn btn-warning"><i class="icon-pencil icon-white"></i></a>
@if (Sentry::getId() !== $user->id)
<a data-html="false" class="btn-flat danger delete-asset" data-toggle="modal" href="{{ route('delete/user', $user->id) }}" data-content="Are you sure you wish to delete this user?" data-title="Delete {{ htmlspecialchars($user->first_name) }}?" onClick="return false;"><i class="icon-remove icon-white"></i> @lang('button.delete')</a>
<a data-html="false" class="btn delete-asset btn-danger" data-toggle="modal" href="{{ route('delete/user', $user->id) }}" data-content="Are you sure you wish to delete this user?" data-title="Delete {{ htmlspecialchars($user->first_name) }}?" onClick="return false;"><i class="icon-trash icon-white"></i></a>
@else
<span class="btn-flat danger disabled"><i class="icon-remove icon-white"></i> @lang('button.delete')</span>
<span class="btn-flat danger disabled"><i class="icon-trash icon-white"></i></span>
@endif
@endif
@endif
</td>
</tr>
@endforeach
@@ -82,8 +88,4 @@ User Management ::
</div>
@endif
@if ($users->getTotal() > 10)
{{ $users->links() }}
@endif
@stop

View File

@@ -8,26 +8,41 @@ View User {{ $user->fullName() }} ::
{{-- Page content --}}
@section('content')
<div id="pad-wrapper" class="user-profile">
<!-- header -->
<div class="row-fluid header">
<div class="span8">
<img src="{{ $user->gravatar() }}" class="avatar img-circle">
<h3 class="name">{{ $user->fullName() }}</h3>
<span class="area">{{ $user->jobtitle }}</span>
</div>
<a href="{{ route('update/user', $user->id) }}" class="btn-flat white large pull-right edit"><i class="icon-pencil"></i> @lang('button.edit') This User</a>
<div class="user-profile">
<!-- header -->
<div class="row header">
<div class="col-md-8">
<img src="{{ $user->gravatar() }}" class="avatar img-circle">
<h3 class="name">{{ $user->fullName() }}</h3>
<span class="area">{{ $user->jobtitle }}</span>
</div>
@if ($user->deleted_at != NULL)
<a href="{{ route('restore/user', $user->id) }}" class="btn btn-warning pull-right edit"><i class="icon-pencil"></i> Restore This User</a>
@else
<a href="{{ route('update/user', $user->id) }}" class="btn-flat white large pull-right edit"><i class="icon-pencil"></i> @lang('button.edit') This User</a>
@endif
</div>
<div class="row profile">
<div class="row-fluid profile">
<!-- bio, new note & orders column -->
<div class="span9 bio">
<div class="col-md-9 bio">
<div class="profile-box">
@if ($user->deleted_at != NULL)
<div class="col-md-12">
<div class="alert alert-danger">
<i class="icon-exclamation-sign"></i>
<strong>Warning: </strong>
This user has been deleted. You will have to restore this user to edit them or assign them new assets.
</div>
</div>
@endif
<h6>Assets Checked Out to {{ $user->first_name }}</h6>
<br>
@@ -36,10 +51,10 @@ View User {{ $user->fullName() }} ::
<table class="table table-hover">
<thead>
<tr>
<th class="span3">Asset Type</th>
<th class="span3"><span class="line"></span>Asset Tag</th>
<th class="span3"><span class="line"></span>Name</th>
<th class="span3"><span class="line"></span>Actions</th>
<th class="col-md-3">Asset Type</th>
<th class="col-md-3"><span class="line"></span>Asset Tag</th>
<th class="col-md-3"><span class="line"></span>Name</th>
<th class="col-md-3"><span class="line"></span>Actions</th>
</tr>
</thead>
<tbody>
@@ -52,17 +67,17 @@ View User {{ $user->fullName() }} ::
Software
@endif
</td>
<td><a href="{{ route('view/asset', $asset->id) }}">{{ $asset->asset_tag }}</a></td>
<td><a href="{{ route('view/asset', $asset->id) }}">{{ $asset->name }}</a></td>
<td><a href="{{ route('view/hardware', $asset->id) }}">{{ $asset->asset_tag }}</a></td>
<td><a href="{{ route('view/hardware', $asset->id) }}">{{ $asset->name }}</a></td>
<td> <a href="{{ route('checkin/asset', $asset->id) }}" class="btn-flat info">Checkin</a></td>
<td> <a href="{{ route('checkin/hardware', $asset->id) }}" class="btn-flat info">Checkin</a></td>
</tr>
@endforeach
</tbody>
</table>
@else
<div class="col-md-6">
<div class="col-md-12">
<div class="alert alert-warning alert-block">
<i class="icon-warning-sign"></i>
@lang('admin/users/table.noresults')
@@ -77,10 +92,10 @@ View User {{ $user->fullName() }} ::
<table class="table table-hover">
<thead>
<tr>
<th class="span3">Asset Type</th>
<th class="span3">Serial</th>
<th class="span3"><span class="line"></span>Name</th>
<th class="span3"><span class="line"></span>Actions</th>
<th class="col-md-3">Asset Type</th>
<th class="col-md-3">Serial</th>
<th class="col-md-3"><span class="line"></span>Name</th>
<th class="col-md-3"><span class="line"></span>Actions</th>
</tr>
</thead>
<tbody>
@@ -95,15 +110,15 @@ View User {{ $user->fullName() }} ::
</td>
<td><a href="{{ route('view/license', $license->id) }}">{{ $license->serial }}</a></td>
<td><a href="{{ route('view/license', $license->id) }}">{{ $license->name }}</a></td>
<td> <a href="{{ route('checkin/license', $license->id) }}" class="btn-flat info">Checkin</a></td>
<td> <a href="{{ route('checkin/license', $license->pivot->id) }}" class="btn-flat info">Checkin</a>
</td>
</tr>
@endforeach
</tbody>
</table>
@else
<div class="col-md-6">
<div class="col-md-12">
<div class="alert alert-warning alert-block">
<i class="icon-warning-sign"></i>
@lang('admin/users/table.noresults')
@@ -120,10 +135,10 @@ View User {{ $user->fullName() }} ::
<table class="table table-hover">
<thead>
<tr>
<th class="span3">Date</th>
<th class="span3"><span class="line"></span>Action</th>
<th class="span3"><span class="line"></span>Asset</th>
<th class="span3"><span class="line"></span>By</th>
<th class="col-md-3">Date</th>
<th class="col-md-3"><span class="line"></span>Action</th>
<th class="col-md-3"><span class="line"></span>Asset</th>
<th class="col-md-3"><span class="line"></span>By</th>
</tr>
</thead>
<tbody>
@@ -133,7 +148,7 @@ View User {{ $user->fullName() }} ::
<td>{{ $log->action_type }}</td>
<td>
@if ((isset($log->assetlog->name)) && ($log->assetlog->deleted_at==''))
<a href="{{ route('view/asset', $log->asset_id) }}">{{ $log->assetlog->name }}</a>
<a href="{{ route('view/hardware', $log->asset_id) }}">{{ $log->assetlog->name }}</a>
@elseif ((isset($log->assetlog->name)) && ($log->assetlog->deleted_at!=''))
<del>{{ $log->assetlog->name }}</del> (deleted)
@else
@@ -147,7 +162,8 @@ View User {{ $user->fullName() }} ::
</table>
@else
<div class="col-md-6">
<div class="col-md-12">
<div class="alert alert-warning alert-block">
<i class="icon-warning-sign"></i>
@lang('admin/users/table.noresults')
@@ -159,17 +175,19 @@ View User {{ $user->fullName() }} ::
</div>
<!-- side address column -->
<div class="span3 address pull-right">
<div class="col-md-3 address pull-right">
<h6>Contact {{ $user->first_name }}</h6>
@if (isset($user->location_id))
@if ($user->location_id)
<iframe width="300" height="133" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="https://maps.google.com/maps?&amp;q={{ $user->userloc->address }},{{ $user->userloc->city }},{{ $user->userloc->state }},{{ $user->userloc->country }}&amp;output=embed"></iframe>
@endif
<ul>
<li>{{ $user->userloc->address }} {{ $user->userloc->address2 }}</li>
<li>{{ $user->userloc->city }}, {{ $user->userloc->state }} {{ $user->userloc->zip }}<br /><br /></li>
@if ($user->location_id)
<li>{{ $user->userloc->address }} {{ $user->userloc->address2 }}</li>
<li>{{ $user->userloc->city }}, {{ $user->userloc->state }} {{ $user->userloc->zip }}<br /><br /></li>
@endif
@if ($user->phone)
<li><i class="icon-phone"></i>{{ $user->phone }}</li>
@endif

View File

@@ -7,10 +7,15 @@ Change your Email
{{-- Account page content --}}
@section('account-content')
<div class="page-header">
<h4>Change your Email</h4>
<div class="row header">
<div class="col-md-12">
<h3>Change Your Email</h3>
</div>
</div>
<div class="row form-wrapper">
<form method="post" action="" class="form-horizontal" autocomplete="off">
<!-- CSRF Token -->
<input type="hidden" name="_token" value="{{ csrf_token() }}" />
@@ -19,36 +24,36 @@ Change your Email
<input type="hidden" name="formType" value="change-email" />
<!-- New Email -->
<div class="control-group{{ $errors->first('email', ' error') }}">
<label class="control-label" for="email">New Email</label>
<div class="controls">
<input type="text" name="email" id="email" value="" />
{{ $errors->first('email', '<span class="help-block">:message</span>') }}
<div class="form-group {{ $errors->has('email') ? ' has-error' : '' }}">
<label for="email" class="col-md-2 control-label">New Email</label>
<div class="col-md-5">
<input class="form-control" type="email" name="email" id="email" value="{{ Input::old('email', $user->email) }}" />
{{ $errors->first('email', '<span class="alert-msg"><i class="icon-remove-sign"></i> :message</span>') }}
</div>
</div>
<!-- Confirm New Email -->
<div class="control-group{{ $errors->first('email_confirm', ' error') }}">
<label class="control-label" for="email_confirm">Confirm New Email</label>
<div class="controls">
<input type="text" name="email_confirm" id="email_confirm" value="" />
{{ $errors->first('email_confirm', '<span class="help-block">:message</span>') }}
<div class="form-group {{ $errors->has('email_confirm') ? ' has-error' : '' }}">
<label for="email_confirm" class="col-md-2 control-label">New Email</label>
<div class="col-md-5">
<input class="form-control" type="email" name="email_confirm" id="email_confirm" />
{{ $errors->first('email_confirm', '<span class="alert-msg"><i class="icon-remove-sign"></i> :message</span>') }}
</div>
</div>
<!-- Current Password -->
<div class="control-group{{ $errors->first('current_password', ' error') }}">
<label class="control-label" for="current_password">Current Password</label>
<div class="controls">
<input type="password" name="current_password" id="current_password" value="" />
{{ $errors->first('current_password', '<span class="help-block">:message</span>') }}
<div class="form-group {{ $errors->has('current_password') ? ' has-error' : '' }}">
<label for="current_password" class="col-md-2 control-label">Current Password</label>
<div class="col-md-5">
<input class="form-control" type="password" name="current_password" id="current_password" />
{{ $errors->first('current_password', '<span class="alert-msg"><i class="icon-remove-sign"></i> :message</span>') }}
</div>
</div>
<hr>
<!-- Form actions -->
<div class="control-group">
<div class="form-group">
<div class="controls">
<button type="submit" class="btn">Update Email</button>

View File

@@ -7,45 +7,48 @@ Change your Password
{{-- Account page content --}}
@section('account-content')
<div class="page-header">
<h4>Change your Password</h4>
<div class="row header">
<div class="col-md-12">
<h3>Change Your Password</h3>
</div>
</div>
<div class="row form-wrapper">
<form method="post" action="" class="form-horizontal" autocomplete="off">
<!-- CSRF Token -->
<input type="hidden" name="_token" value="{{ csrf_token() }}" />
<!-- Old Password -->
<div class="control-group{{ $errors->first('old_password', ' error') }}">
<label class="control-label" for="old_password">Old Password</label>
<div class="controls">
<input type="password" name="old_password" id="old_password" value="" />
{{ $errors->first('old_password', '<span class="help-block">:message</span>') }}
<div class="form-group {{ $errors->has('old_password') ? ' has-error' : '' }}">
<label for="old_password" class="col-md-2 control-label">Old Password</label>
<div class="col-md-5">
<input class="form-control" type="text" name="old_password" id="old_password" />
{{ $errors->first('old_password', '<span class="alert-msg"><i class="icon-remove-sign"></i> :message</span>') }}
</div>
</div>
<!-- New Password -->
<div class="control-group{{ $errors->first('password', ' error') }}">
<label class="control-label" for="password">New Password</label>
<div class="controls">
<input type="password" name="password" id="password" value="" />
{{ $errors->first('password', '<span class="help-block">:message</span>') }}
<div class="form-group {{ $errors->has('password') ? ' has-error' : '' }}">
<label for="password" class="col-md-2 control-label">New Password</label>
<div class="col-md-5">
<input class="form-control" type="password" name="password" id="password" />
{{ $errors->first('password', '<span class="alert-msg"><i class="icon-remove-sign"></i> :message</span>') }}
</div>
</div>
<!-- Confirm New Password -->
<div class="control-group{{ $errors->first('password_confirm', ' error') }}">
<label class="control-label" for="password_confirm">Confirm New Password</label>
<div class="controls">
<input type="password" name="password_confirm" id="password_confirm" value="" />
{{ $errors->first('password_confirm', '<span class="help-block">:message</span>') }}
<div class="form-group {{ $errors->has('password_confirm') ? ' has-error' : '' }}">
<label for="password_confirm" class="col-md-2 control-label">New Password</label>
<div class="col-md-5">
<input class="form-control" type="password" name="password_confirm" id="password_confirm" />
{{ $errors->first('password_confirm', '<span class="alert-msg"><i class="icon-remove-sign"></i> :message</span>') }}
</div>
</div>
<hr>
<!-- Form actions -->
<div class="control-group">
<div class="form-group">
<div class="controls">
<button type="submit" class="btn">Update Password</button>
@@ -78,7 +81,7 @@ Change your Password
<input type="hidden" name="formType" value="change-email" />
<!-- Old Password -->
<div class="control-group{{ $errors->first('old_password', ' error') }}">
<div class="form-group{{ $errors->first('old_password', ' error') }}">
<label class="control-label" for="old_password">Old Password</label>
<div class="controls">
<input type="password" name="old_password" id="old_password" value="" />
@@ -87,31 +90,32 @@ Change your Password
</div>
<!-- New Email -->
<div class="control-group{{ $errors->first('email', ' error') }}">
<div class="form-group{{ $errors->first('email', ' error') }}">
<label class="control-label" for="email">New Email</label>
<div class="controls">
<input type="text" name="email" id="email" value="" />
<input type="email" name="email" id="email" value="" />
{{ $errors->first('email', '<span class="help-block">:message</span>') }}
</div>
</div>
<!-- Confirm New Email -->
<div class="control-group{{ $errors->first('email_confirm', ' error') }}">
<div class="form-group{{ $errors->first('email_confirm', ' error') }}">
<label class="control-label" for="email_confirm">Confirm New Email</label>
<div class="controls">
<input type="text" name="email_confirm" id="email_confirm" value="" />
<input type="email" name="email_confirm" id="email_confirm" value="" />
{{ $errors->first('email_confirm', '<span class="help-block">:message</span>') }}
</div>
</div>
<!-- Form actions -->
<div class="control-group">
<div class="controls">
<a class="btn" href="{{ route('home') }}">Cancel</a>
<button type="submit" class="btn btn-info">Update</button>
<!-- Form Actions -->
<div class="form-group">
<label class="col-md-2 control-label"></label>
<div class="col-md-7">
<a class="btn btn-link" href="{{ route('home') }}">@lang('general.cancel')</a>
<button type="submit" class="btn btn-success"><i class="icon-ok icon-white"></i> @lang('general.save')</button>
</div>
</div>
</form>
</div>
</div>

View File

@@ -7,71 +7,80 @@ Your Profile
{{-- Account page content --}}
@section('account-content')
<div class="page-header">
<h4>Update your Profile</h4>
<div class="row header">
<div class="col-md-12">
<h3>Update Profile</h3>
</div>
</div>
<form method="post" action="" class="form-vertical" autocomplete="off">
<div class="row form-wrapper">
<form method="post" class="form-horizontal" action="" class="form-vertical" autocomplete="off">
<!-- CSRF Token -->
<input type="hidden" name="_token" value="{{ csrf_token() }}" />
<!-- First Name -->
<div class="control-group{{ $errors->first('first_name', ' error') }}">
<label class="control-label" for="first_name">First Name</label>
<div class="controls">
<input class="span4" type="text" name="first_name" id="first_name" value="{{ Input::old('first_name', $user->first_name) }}" />
{{ $errors->first('first_name', '<span class="help-block">:message</span>') }}
<div class="form-group {{ $errors->has('first_name') ? ' has-error' : '' }}">
<label for="first_name" class="col-md-2 control-label">First Name</label>
<div class="col-md-5">
<input class="form-control" type="text" name="first_name" id="first_name" value="{{ Input::old('first_name', $user->first_name) }}" />
{{ $errors->first('first_name', '<span class="alert-msg"><i class="icon-remove-sign"></i> :message</span>') }}
</div>
</div>
<!-- Last Name -->
<div class="control-group{{ $errors->first('last_name', ' error') }}">
<label class="control-label" for="last_name">Last Name</label>
<div class="controls">
<input class="span4" type="text" name="last_name" id="last_name" value="{{ Input::old('last_name', $user->last_name) }}" />
{{ $errors->first('last_name', '<span class="help-block">:message</span>') }}
<div class="form-group {{ $errors->has('last_name') ? ' has-error' : '' }}">
<label for="last_name" class="col-md-2 control-label">Last Name</label>
<div class="col-md-5">
<input class="form-control" type="text" name="last_name" id="last_name" value="{{ Input::old('last_name', $user->last_name) }}" />
{{ $errors->first('last_name', '<span class="alert-msg"><i class="icon-remove-sign"></i> :message</span>') }}
</div>
</div>
<!-- Website URL -->
<div class="control-group{{ $errors->first('website', ' error') }}">
<label class="control-label" for="website">Website URL</label>
<div class="controls">
<input class="span4" type="text" name="website" id="website" value="{{ Input::old('website', $user->website) }}" />
{{ $errors->first('website', '<span class="help-block">:message</span>') }}
<div class="form-group {{ $errors->has('website') ? ' has-error' : '' }}">
<label for="website" class="col-md-2 control-label">Website</label>
<div class="col-md-5">
<input class="form-control" type="text" name="website" id="website" value="{{ Input::old('website', $user->website) }}" />
{{ $errors->first('website', '<span class="alert-msg"><i class="icon-remove-sign"></i> :message</span>') }}
</div>
</div>
<!-- Country -->
<div class="control-group{{ $errors->first('country', ' error') }}">
<label class="control-label" for="country">Country</label>
<div class="controls">
<input class="span4" type="text" name="country" id="country" value="{{ Input::old('country', $user->country) }}" />
{{ $errors->first('country', '<span class="help-block">:message</span>') }}
<!-- Location -->
<div class="form-group {{ $errors->has('phone') ? 'error' : '' }}">
<label class="col-md-2 control-label" for="location_id">Location</label>
<div class="col-md-5">
<div class="field-box">
{{ Form::select('location_id', $location_list , Input::old('location_id', $user->location_id), array('class'=>'select2', 'style'=>'width:300px')) }}
{{ $errors->first('location_id', '<span class="alert-msg"><i class="icon-remove-sign"></i> :message</span>') }}
</div>
</div>
</div>
</div>
<!-- Gravatar Email -->
<div class="control-group{{ $errors->first('gravatar', ' error') }}">
<label class="control-label" for="gravatar">Gravatar Email <small>(Private)</small></label>
<div class="controls">
<input class="span4" type="text" name="gravatar" id="gravatar" value="{{ Input::old('gravatar', $user->gravatar) }}" />
{{ $errors->first('gravatar', '<span class="help-block">:message</span>') }}
</div>
<p>
<img src="//secure.gravatar.com/avatar/{{ md5(strtolower(trim($user->gravatar))) }}" width="30" height="30" />
<a href="http://gravatar.com">Change your avatar at Gravatar.com</a>.
<div class="form-group {{ $errors->has('gravatar') ? ' has-error' : '' }}">
<label for="gravatar" class="col-md-2 control-label">Gravatar Email <small>(Private)</small></label>
<div class="col-md-5">
<input class="form-control" type="text" name="gravatar" id="gravatar" value="{{ Input::old('gravatar', $user->gravatar) }}" />
{{ $errors->first('gravatar', '<span class="alert-msg"><i class="icon-remove-sign"></i> :message</span>') }}
<p><img src="//secure.gravatar.com/avatar/{{ md5(strtolower(trim($user->gravatar))) }}" width="30" height="30" />
<a href="http://gravatar.com"><small>Change your avatar at Gravatar.com</small></a>.
</p>
</div>
<hr>
<!-- Form actions -->
<div class="control-group">
<div class="controls">
<button type="submit" class="btn">Update your Profile</button>
</div>
</div>
<!-- Form Actions -->
<div class="form-group">
<label class="col-md-2 control-label"></label>
<div class="col-md-7">
<a class="btn btn-link" href="{{ route('home') }}">@lang('general.cancel')</a>
<button type="submit" class="btn btn-success"><i class="icon-ok icon-white"></i> @lang('general.save')</button>
</div>
</div>
</form>
</div>
@stop

View File

@@ -16,7 +16,7 @@ Forgot Password ::
<input type="hidden" name="_token" value="{{ csrf_token() }}" />
<!-- New Password -->
<div class="control-group{{ $errors->first('password', ' error') }}">
<div class="form-group{{ $errors->first('password', ' error') }}">
<label class="control-label" for="password">New Password</label>
<div class="controls">
<input type="password" name="password" id="password" value="{{ Input::old('password') }}" />
@@ -25,7 +25,7 @@ Forgot Password ::
</div>
<!-- Password Confirm -->
<div class="control-group{{ $errors->first('password_confirm', ' error') }}">
<div class="form-group{{ $errors->first('password_confirm', ' error') }}">
<label class="control-label" for="password_confirm">Password Confirmation</label>
<div class="controls">
<input type="password" name="password_confirm" id="password_confirm" value="{{ Input::old('password_confirm') }}" />
@@ -34,7 +34,7 @@ Forgot Password ::
</div>
<!-- Form actions -->
<div class="control-group">
<div class="form-group">
<div class="controls">
<a class="btn" href="{{ route('home') }}">Cancel</a>

View File

@@ -16,16 +16,16 @@ Forgot Password ::
<input type="hidden" name="_token" value="{{ csrf_token() }}" />
<!-- Email -->
<div class="control-group{{ $errors->first('email', ' error') }}">
<div class="form-group{{ $errors->first('email', ' error') }}">
<label class="control-label" for="email">Email</label>
<div class="controls">
<input type="text" name="email" id="email" value="{{ Input::old('email') }}" />
<input type="email" name="email" id="email" value="{{ Input::old('email') }}" />
{{ $errors->first('email', '<span class="help-block">:message</span>') }}
</div>
</div>
<!-- Form actions -->
<div class="control-group">
<div class="form-group">
<div class="controls">
<a class="btn" href="{{ route('home') }}">Cancel</a>

View File

@@ -8,53 +8,63 @@ Account Sign in ::
{{-- Page content --}}
@section('content')
<div class="page-header">
<h3>Sign in into your account</h3>
<div class="row header">
<div class="col-md-12">
<h3>Sign in into your account</h3>
</div>
</div>
<div class="row">
<div class="row form-wrapper">
<form method="post" action="{{ route('signin') }}" class="form-horizontal">
<!-- CSRF Token -->
<input type="hidden" name="_token" value="{{ csrf_token() }}" />
<!-- Email -->
<div class="control-group{{ $errors->first('email', ' error') }}">
<label class="control-label" for="email">Email</label>
<div class="controls">
<input type="text" name="email" id="email" value="{{ Input::old('email') }}" />
{{ $errors->first('email', '<span class="help-block">:message</span>') }}
<div class="form-group">
<label class="col-md-6 control-label"></label>
<div class="col-md-5">
<br><a href="{{ route('forgot-password') }}" class="btn btn-link">I forgot my password</a>
</div>
</div>
<!-- Email -->
<div class="form-group{{ $errors->first('email', ' error') }}">
<label for="email" class="col-md-3 control-label">Email</label>
<div class="col-md-5">
<input class="form-control" type="email" name="email" id="email" value="{{ Input::old('email') }}" />
{{ $errors->first('email', '<span class="alert-msg"><i class="icon-remove-sign"></i> :message</span>') }}
</div>
</div>
</div>
<!-- Password -->
<div class="control-group{{ $errors->first('password', ' error') }}">
<label class="control-label" for="password">Password</label>
<div class="controls">
<input type="password" name="password" id="password" value="" />
{{ $errors->first('password', '<span class="help-block">:message</span>') }}
<!-- Password -->
<div class="form-group{{ $errors->first('password', ' error') }}">
<label for="password" class="col-md-3 control-label">Password</label>
<div class="col-md-5">
<input class="form-control" type="password" name="password" id="password" value="{{ Input::old('password') }}" />
{{ $errors->first('password', '<span class="alert-msg"><i class="icon-remove-sign"></i> :message</span>') }}
</div>
</div>
</div>
<!-- Remember me -->
<div class="control-group">
<div class="controls">
<label class="checkbox">
<input type="checkbox" name="remember-me" id="remember-me" value="1" /> Remember me
</label>
<div class="field-box">
<label class="col-md-3 control-label checkbox-inline"></label>
<input type="checkbox" name="remember-me" id="remember-me" value="1" /> Remember me
</label>
</div>
</div>
<hr>
<!-- Form actions -->
<div class="form-group">
<label class="col-md-6 control-label"></label>
<div class="col-md-5">
<a class="btn btn-link" href="{{ route('home') }}">Cancel</a>
<button type="submit" class="btn btn-success"><i class="icon-ok icon-white"></i> Sign in</button>
</div>
</div>
<!-- Form actions -->
<div class="control-group">
<div class="controls">
<a class="btn" href="{{ route('home') }}">Cancel</a>
<button type="submit" class="btn">Sign in</button>
<a href="{{ route('forgot-password') }}" class="btn btn-link">I forgot my password</a>
</div>
</div>
</form>
</div>
@stop

View File

@@ -17,7 +17,7 @@ Account Sign up ::
<input type="hidden" name="_token" value="{{ csrf_token() }}" />
<!-- First Name -->
<div class="control-group{{ $errors->first('first_name', ' error') }}">
<div class="form-group{{ $errors->first('first_name', ' error') }}">
<label class="control-label" for="first_name">First Name</label>
<div class="controls">
<input type="text" name="first_name" id="first_name" value="{{ Input::old('first_name') }}" />
@@ -26,7 +26,7 @@ Account Sign up ::
</div>
<!-- Last Name -->
<div class="control-group{{ $errors->first('last_name', ' error') }}">
<div class="form-group{{ $errors->first('last_name', ' error') }}">
<label class="control-label" for="last_name">Last Name</label>
<div class="controls">
<input type="text" name="last_name" id="last_name" value="{{ Input::old('last_name') }}" />
@@ -35,25 +35,25 @@ Account Sign up ::
</div>
<!-- Email -->
<div class="control-group{{ $errors->first('email', ' error') }}">
<div class="form-group{{ $errors->first('email', ' error') }}">
<label class="control-label" for="email">Email</label>
<div class="controls">
<input type="text" name="email" id="email" value="{{ Input::old('email') }}" />
<input type="email" name="email" id="email" value="{{ Input::old('email') }}" />
{{ $errors->first('email', '<span class="help-block">:message</span>') }}
</div>
</div>
<!-- Email Confirm -->
<div class="control-group{{ $errors->first('email_confirm', ' error') }}">
<div class="form-group{{ $errors->first('email_confirm', ' error') }}">
<label class="control-label" for="email_confirm">Confirm Email</label>
<div class="controls">
<input type="text" name="email_confirm" id="email_confirm" value="{{ Input::old('email_confirm') }}" />
<input type="email" name="email_confirm" id="email_confirm" value="{{ Input::old('email_confirm') }}" />
{{ $errors->first('email_confirm', '<span class="help-block">:message</span>') }}
</div>
</div>
<!-- Password -->
<div class="control-group{{ $errors->first('password', ' error') }}">
<div class="form-group{{ $errors->first('password', ' error') }}">
<label class="control-label" for="password">Password</label>
<div class="controls">
<input type="password" name="password" id="password" value="" />
@@ -62,7 +62,7 @@ Account Sign up ::
</div>
<!-- Password Confirm -->
<div class="control-group{{ $errors->first('password_confirm', ' error') }}">
<div class="form-group{{ $errors->first('password_confirm', ' error') }}">
<label class="control-label" for="password_confirm">Confirm Password</label>
<div class="controls">
<input type="password" name="password_confirm" id="password_confirm" value="" />
@@ -73,7 +73,7 @@ Account Sign up ::
<hr>
<!-- Form actions -->
<div class="control-group">
<div class="form-group">
<div class="controls">
<a class="btn" href="{{ route('home') }}">Cancel</a>

View File

@@ -3,15 +3,15 @@
{{-- Page content --}}
@section('content')
<div class="row">
<div class="span3">
<div class="col-md-3">
<ul class="nav nav-list">
<li class="nav-header">Main Menu</li>
<li{{ Request::is('account/profile') ? ' class="active"' : '' }}><a href="{{ URL::route('profile') }}">Profile</a></li>
<li{{ Request::is('account/change-password') ? ' class="active"' : '' }}><a href="{{ URL::route('change-password') }}">Change Password</a></li>
<li{{ Request::is('account/change-email') ? ' class="active"' : '' }}><a href="{{ URL::route('change-email') }}">Change Email</a></li>
</ul>
</div>
<div class="span9">
<div class="col-md-9">
@yield('account-content')
</div>
</div>

View File

@@ -1,6 +1,6 @@
@if ($errors->any())
<div class="col-md-6">
<div class="alert alert-error alert-block">
<div class="col-md-12">
<div class="alert alert-danger">
<button type="button" class="close" data-dismiss="alert">&times;</button>
<i class="icon-exclamation-sign"></i>
<strong>Error: </strong>
@@ -11,8 +11,8 @@
@endif
@if ($message = Session::get('success'))
<div class="col-md-6">
<div class="alert alert-success alert-block">
<div class="col-md-12">
<div class="alert alert-success">
<button type="button" class="close" data-dismiss="alert">&times;</button>
<i class="icon-ok"></i>
<strong>Success: </strong>
@@ -22,8 +22,8 @@
@endif
@if ($message = Session::get('error'))
<div class="col-md-6">
<div class="alert alert-error alert-block">
<div class="col-md-12">
<div class="alert alert alert-danger">
<button type="button" class="close" data-dismiss="alert">&times;</button>
<i class="icon-exclamation-sign"></i>
<strong>Error: </strong>
@@ -33,8 +33,8 @@
@endif
@if ($message = Session::get('warning'))
<div class="col-md-6">
<div class="alert alert-warning alert-block">
<div class="col-md-12">
<div class="alert alert-warning">
<button type="button" class="close" data-dismiss="alert">&times;</button>
<i class="icon-warning-sign"></i>
<strong>Warning: </strong>
@@ -44,8 +44,8 @@
@endif
@if ($message = Session::get('info'))
<div class="col-md-6">
<div class="alert alert-info alert-block">
<div class="col-md-12">
<div class="alert alert-info">
<button type="button" class="close" data-dismiss="alert">&times;</button>
<i class="icon-info-sign"></i>
<strong>Info: </strong>

View File

@@ -20,9 +20,6 @@
]
},
"scripts": {
"post-install-cmd": [
"php artisan optimize"
],
"pre-update-cmd": [
"php artisan clear-compiled"
],

View File

@@ -2,13 +2,17 @@
h1,h2,h3,h4,h5,h6{
font-weight: normal;
font-family: 'Open Sans', sans-serif;
}
/* COMPONENTS */
/* labels */
.label, .badge {font-weight: lighter;}
.label, .badge {
font-weight: lighter;
font-size: 90%;
}
.label-success, .badge-success {
background-color: rgb(129, 189, 130);
}
@@ -35,8 +39,8 @@ h1,h2,h3,h4,h5,h6{
.alert-info [class*=" icon-"] {
color: #4993c6;
}
.alert-error [class^="icon-"],
.alert-error [class*=" icon-"] {
.alert-danger [class^="icon-"],
.alert-danger [class*=" icon-"] {
color: #d5393e;
}
@@ -136,6 +140,7 @@ select{
input[type="file"] {
font-size: 12px;
line-height: 12px;
display: inline-block;
}
input[disabled], textarea[disabled], input[readonly], textarea[readonly] {
@@ -165,14 +170,13 @@ textarea::-webkit-input-placeholder {
/* PREPEND & APPEND INPUT */
.input-append input,
.input-prepend input,
.input-append .uneditable-input,
.input-prepend .uneditable-input {
.input-group input,
.input-group input,
.input-group .uneditable-input,
.input-group .uneditable-input {
border: 1px solid #d6e2eb;
}
.input-append .add-on,
.input-prepend .add-on {
.input-group .input-group-addon {
background-color: #f2f5f9;
border: 1px solid #d6e2eb;
padding: 4px 8px;
@@ -180,11 +184,9 @@ textarea::-webkit-input-placeholder {
}
/* NAVBAR */
.navbar-inverse {
min-height: 48px;
margin-bottom: 0px;
}
.navbar-inverse .navbar-inner {
border-radius: 0px;
border-bottom: 1px solid #191e23;
@@ -197,25 +199,33 @@ textarea::-webkit-input-placeholder {
background: linear-gradient(to bottom, #2c3742 0%,#28303a 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#2c3742', endColorstr='#28303a',GradientType=0 ); /* IE6-9 */
}
.navbar-inverse .btn-navbar {
/* navbar-nav*/
.navbar-inverse .navbar-nav {
padding-right: 20px;
}
/* menu toggler */
.navbar-inverse .navbar-toggle {
float: left;
margin-top: 10px;
margin-left: 15px;
}
.navbar-inverse .brand {
/* navbar brand*/
.navbar-inverse .navbar-brand {
color: #ffffff;
text-transform: uppercase;
font-weight: lighter;
padding: 12px 20px 12px;
padding: 11px 20px;
}
.navbar-inverse .brand strong {
.navbar-inverse .navbar-brand strong {
font-weight: normal;
}
/* navbar links */
.navbar-inverse .nav > li > a {
padding: 13px 15px 8px;
border-left: 1px solid #101417;
color: rgb(214, 214, 214);
outline: 0px;
height: 25px;
height: 46px;
transition: background .1s linear;
-moz-transition: background .1s linear; /* Firefox 4 */
-webkit-transition: background .1s linear; /* Safari and Chrome */
@@ -224,10 +234,21 @@ textarea::-webkit-input-placeholder {
.navbar-inverse .nav > li > a:hover {
background: rgba(25, 31, 36,0.6);
}
/* TODO: deprecated mobile-menu, ya no se usa, remover despues de migrar todos los htmls al nuevo diseno */
.navbar-inverse .mobile-menu .nav > li > a {
color: #fff;
border-left: 0px;
/* dropdown caret */
.dropdown .caret {
position: relative;
top: -1px;
}
/* dropdown active */
.dropdown.open > a,
.dropdown.open > a:hover,
.dropdown.open > a:focus {
border-color: #101417;
}
/* dropdown menu */
.dropdown-menu > li > a {
font-size: 13px;
outline: none;
}
.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus,
@@ -238,88 +259,28 @@ textarea::-webkit-input-placeholder {
/* PAGINATION */
.pagination {
margin: 8px 0;
}
.pagination ul > li:last-child > a,
.pagination ul > li:last-child > span,
.pagination ul > li:first-child > a,
.pagination ul > li:first-child > span{
font-size: 23px;
color: #bcc6d3;
padding: 1px 9px 3px 9px;
}
.pagination ul > li:last-child > a:hover,
.pagination ul > li:last-child > span:hover,
.pagination ul > li:first-child > a:hover,
.pagination ul > li:first-child > span:hover{
color: #4f4f4f;
}
.pagination ul > li > a, .pagination ul > li > span{
border-color: #d0dde9;
color: #4f4f4f;
.pagination > li > a, .pagination > li > span {
font-weight: 600;
padding: 2px 12px;
box-shadow: 0px 1px 0px 0px #efefef;
transition: background-color .1s linear;
-moz-transition: background-color .1s linear; /* Firefox 4 */
-webkit-transition: background-color .1s linear; /* Safari and Chrome */
-o-transition: background-color .1s linear; /* Opera */
}
.pagination ul > li > a.active{
color: #3b9ff3;
}
.pagination ul > li > a:hover,
.pagination ul > li > a:focus,
.pagination ul > .active > a,
.pagination ul > .active > span {
background-color: #f5f5f5;
}
/* pagination inverse */
.pagination.inverse ul > li:last-child > a,
.pagination.inverse ul > li:last-child > span,
.pagination.inverse ul > li:first-child > a,
.pagination.inverse ul > li:first-child > span{
font-size: 23px;
.pagination.inverse a,
.pagination.inverse span {
background-color: #333e4a;
color: #fff;
padding: 1px 9px 3px 9px;
}
.pagination.inverse ul > li:last-child > a:hover,
.pagination.inverse ul > li:last-child > span:hover,
.pagination.inverse ul > li:first-child > a:hover,
.pagination.inverse ul > li:first-child > span:hover{
color: #fff;
}
.pagination.inverse ul > li > a, .pagination.inverse ul > li > span{
border-top-color: #333e4a;
border-bottom-color: #333e4a;
border-right-color: #566676;
border-left: 0px;
color: rgb(241, 241, 241);
font-weight: 600;
padding: 2px 12px;
background: #333e4a;
transition: background-color .1s linear;
-moz-transition: background-color .1s linear; /* Firefox 4 */
-webkit-transition: background-color .1s linear; /* Safari and Chrome */
-o-transition: background-color .1s linear; /* Opera */
border-left-color: #566676;
}
.pagination.inverse a:hover,
.pagination.inverse span:hover {
background-color: #000;
}
.pagination.inverse ul > li > a.active{
.pagination.inverse > li.active > a {
color: #3b9ff3;
background-color: #212b36;
border-right-color: #212b36;
margin-left: -1px;
border-left-color: #212b36;
}
.pagination.inverse ul > li > a:hover,
.pagination.inverse ul > li > a:focus,
.pagination.inverse ul > .active > a,
.pagination.inverse ul > .active > span {
background-color: #212b36;
}
/* TABLES*/
@@ -339,16 +300,17 @@ textarea::-webkit-input-placeholder {
.table thead th{
font-weight: bold;
position: relative;
padding-bottom: 20px;
padding-top: 5px;
padding-bottom: 20px !important;
padding-top: 5px !important;
text-transform: uppercase;
font-size: 11px;
vertical-align: top;
vertical-align: top !important;
border-bottom: 0px !important;
}
.table td{
color: #526273;
border-top-color: #edf2f7;
vertical-align: middle;
border-top-color: #edf2f7 !important;
vertical-align: middle !important;
}
.table th.align-right,
.table td.align-right {
@@ -366,4 +328,17 @@ table th span.line{
height: 10px;
}
/* modals */
.modal-backdrop.in {
opacity: 0.5 !important;
}
/* override navbar toggle */
@media (max-width: 768px) {
.navbar-toggle {
display: block !important;
}
}

10592
public/assets/css/bootstrap/bootstrap.css vendored Normal file → Executable file

File diff suppressed because it is too large Load Diff

842
public/assets/css/bootstrap/bootstrap.min.css vendored Normal file → Executable file

File diff suppressed because one or more lines are too long

View File

@@ -12,7 +12,7 @@
position: absolute;
background: #fff;
text-align: left;
width: 260px;
width: 300px;
border: 1px solid #b2b4b6;
box-shadow: 0px 0px 7px -1px rgba(0, 0, 0, 0.35);
border-radius: 4px;
@@ -38,11 +38,13 @@
position: relative;
top: 5px;
margin-left: 10px;
width: 70%;
width: 75%;
display: inline-block;
}
.calendar-wrapper .popup input[type="submit"] {
float: right;
margin-right: 15px;
margin-top: 15px;
}
.calendar-wrapper .popup i.close-pop {
position: absolute;

View File

@@ -11,6 +11,7 @@
font-size: 12px;
}
.btn-group button.glow {
float: left;
font-size: 11px;
font-family: "Open sans", Helvetica, Arial;
color: #313d4c;
@@ -66,6 +67,7 @@
}
.btn-group > .btn.glow {
font-size: 12px;
float: left;
font-weight: 500;
padding: 6px 14px;
color: #313d4c;
@@ -85,15 +87,12 @@
.btn-group > .btn.glow.dropdown-toggle {
padding: 6px 9px;
}
.btn-group > .btn.glow .caret {
margin-top: 6px;
}
/* FLAT BUTTONS */
.btn-flat {
display: inline-block;
margin: 0;
line-height: 11px;
line-height: 15px;
vertical-align: middle;
font-size: 12px;
text-shadow: none;
@@ -359,7 +358,7 @@
.slider-button {
display: block;
width: 37px;
height: 21px;
height: 23px;
line-height: 23px;
background: #fff;
border: 1px solid #d0dde9;
@@ -410,7 +409,7 @@
font-size: 12px;
border: none;
padding: 1px 30px 0px 7px;
height: 25px;
height: 21px;
-webkit-appearance: none;
color: #737f8d;
text-shadow: 1px 1px 1px #fff;
@@ -420,7 +419,7 @@
/* jQuery UI Slider overrides */
.ui-slider {
border: 1px solid #cfdde8;
height: 4px;
height: 7px;
background: #edeeef;
box-shadow: inset 0px -3px 7px 0px #fff;
}

View File

@@ -48,7 +48,6 @@
}
.form-page .form-wrapper label.checkbox,
.form-page .form-wrapper label.radio {
padding-left: 0px;
font-weight: lighter;
}
.form-page .form-wrapper label.checkbox input[type="checkbox"],
@@ -69,6 +68,13 @@
.form-page .form-wrapper .column.pull-right .ui-select {
width: 250px;
}
.form-page .form-wrapper .column.pull-right .input-group {
margin-bottom: 10px;
width: 250px;
}
.form-page .form-wrapper .column.pull-right .input-datepicker {
width: 250px;
}
.form-page .form-wrapper .select2-container {
margin-left: 0px;
}

View File

@@ -109,15 +109,17 @@
position: relative;
top: 2px;
}
.form-wrapper input[type="text"] {
width: 400px;
}
.form-wrapper.payment-info label {
width: 150px;
}
.form-wrapper .alert-msg {
display: block;
margin-left: 120px;
position: relative;
top: -2px;
margin-bottom: -4px;
margin-top: 10px;
}
.form-wrapper .alert-msg i {
font-size: 14px;
@@ -167,4 +169,8 @@
.wizard-steps {
left: 0px;
}
.form-wrapper input[type="text"] {
width: 200px;
}
}

View File

@@ -1,9 +1,5 @@
.gallery {
/* gallery popup */
}
.gallery .gallery-wrapper {
text-align: center;
padding-left: 45px;
position: relative;
}
.gallery .img-container {
@@ -46,6 +42,9 @@
.gallery .img-container span.trash {
top: 48%;
}
.gallery .new-img {
display: inline-block;
}
.gallery .new-img img {
border: 2px dashed #dee3e8;
cursor: pointer;
@@ -55,117 +54,6 @@
opacity: 0.8;
border-color: #ccc;
}
.gallery .popup {
position: absolute;
background: #fff;
text-align: left;
width: 260px;
border: 1px solid #2b3b48;
box-shadow: 0px 0px 12px -1px rgba(0, 0, 0, 0.45);
border-radius: 4px;
padding: 14px 20px 14px 20px;
z-index: 5;
left: 240px;
top: 285px;
}
.gallery .popup h5 {
text-transform: uppercase;
font-weight: 600;
margin: 0 0 21px 0;
font-size: 14px;
color: #7e91aa;
}
.gallery .popup .thumb {
float: left;
}
.gallery .popup img {
cursor: pointer;
border: 2px solid #dff0fd;
border-radius: 3px;
}
.gallery .popup .title {
float: right;
width: 58%;
}
.gallery .popup .title input {
display: inline-block;
width: 90%;
margin: 7px 0 18px;
}
.gallery .popup .title .ui-select {
width: 96%;
}
.gallery .popup .title input:-moz-placeholder {
font-style: italic;
}
.gallery .popup .title input:-ms-input-placeholder {
font-style: italic;
}
.gallery .popup .title input::-webkit-input-placeholder {
font-style: italic;
}
.gallery .popup .description {
width: 100%;
margin-top: 22px;
display: inline-block;
}
.gallery .popup .description h6 {
margin: 0 0 5px 0;
color: #364453;
font-weight: 600;
font-size: 13px;
}
.gallery .popup .description textarea {
width: 95%;
margin-bottom: 13px;
height: 60px;
}
.gallery .popup .description input[type="submit"] {
float: right;
}
.gallery .popup i.close-pop {
position: absolute;
right: 11px;
cursor: pointer;
top: 12px;
opacity: 0.6;
transition: opacity .1s linear;
-moz-transition: opacity .1s linear;
-webkit-transition: opacity .1s linear;
-o-transition: opacity .1s linear;
}
.gallery .popup i.close-pop:hover {
opacity: 1;
}
.gallery .popup .pointer {
position: absolute;
top: 35%;
left: -22px;
}
.gallery .popup .pointer .arrow,
.gallery .popup .pointer .arrow_border {
border-color: transparent #fff transparent transparent;
border-width: 11px;
border-style: solid;
font-size: 0;
left: 50%;
line-height: 0;
margin: 0 auto;
position: absolute;
top: 0;
width: 0;
z-index: 1002;
left: 0;
margin-left: 45%;
}
.gallery .popup .pointer .arrow_border {
border-color: transparent #000 transparent transparent;
border-width: 11px;
margin-left: -1px;
border-style: solid;
z-index: 1001;
top: 0px;
}
/* gallery blank state */
.no-gallery {

View File

@@ -9,7 +9,7 @@
margin-top: 10px;
margin-bottom: 20px;
}
.show-grid [class*="span"] {
.show-grid [class*="col-"] {
background-color: #eee;
text-align: center;
-webkit-border-radius: 3px;
@@ -17,4 +17,5 @@
border-radius: 3px;
min-height: 40px;
line-height: 40px;
border: 1px solid rgba(86, 61, 124, 0.2);
}

View File

@@ -1,16 +1,15 @@
/* Main stats up of screen */
#main-stats {
margin-left: -20px;
margin-right: -20px;
background-color: #fdfdfd;
border-bottom: 1px solid #efeef3;
}
#main-stats .stats-row {
box-shadow: inset -1px 0px 5px 2px #f9f9f9;
margin: 0;
}
#main-stats .stat {
text-align: right;
padding: 30px 0px 35px 0px;
padding: 25px 0px 30px 0px;
border-right: 1px solid #e8e9ee;
position: relative;
box-shadow: 1px 0px 0px 0px white;
@@ -40,15 +39,6 @@
right: 50px;
}
#main-stats a:hover {
text-decoration: none;
}
#helpicon a:hover {
text-decoration: none;
}
.section {
border-top: 1px solid #edeff1;
margin-top: 100px;
@@ -58,7 +48,6 @@ text-decoration: none;
/* Stats chart */
#statsChart {
width: 97%;
height: 250px;
margin-top: 35px;
}
@@ -87,9 +76,6 @@ text-decoration: none;
margin-top: 10px;
margin-bottom: 50px;
}
#pad-wrapper .ui-elements .ui-sliders .ui-slider {
width: 95%;
}
#pad-wrapper .ui-elements .ui-sliders .ui-slider.slider-sample2, #pad-wrapper .ui-elements .ui-sliders .ui-slider.slider-sample3 {
margin-top: 20px;
}
@@ -213,10 +199,10 @@ text-decoration: none;
}
/* responsive */
@media (max-width: 767px) {
@media (max-width: 768px) {
#main-stats {
margin-left: 0px;
margin-right: 0px;
margin-left: -15px;
margin-right: -15px;
}
#pad-wrapper .ui-elements .knobs {
@@ -242,6 +228,9 @@ text-decoration: none;
#main-stats .stat .data {
padding-right: 17px;
}
#main-stats .stat .data .number {
font-size: 18px;
}
#pad-wrapper .knob-wrapper .info {
display: none;
@@ -250,6 +239,10 @@ text-decoration: none;
.pointer {
top: 5%;
}
.table-products .head {
margin-bottom: 20px;
}
}
@media (min-width: 980px) {
#pad-wrapper .ui-elements .knob-wrapper + .knob-wrapper {

View File

@@ -8,8 +8,9 @@ body {
/*-webkit-font-smoothing: antialiased;*/
}
div.popover-content {
font-size: 12px;
#main-stats a:hover {
text-decoration: none;
}
h1, h2, h3, h4, h5 {
@@ -22,10 +23,27 @@ h1 small, h2 small, h3 small, h4 small, h5 small {
font-style: italic;
}
body.menu {
overflow-x: hidden;
}
body.menu .content {
margin-left: 165px;
position: fixed;
width: 850px;
}
body.menu #sidebar-nav {
position: absolute;
left: 0;
/*height: 100%;*/
border-right: 0px;
box-shadow: none;
}
input.search {
background: url("../../img/lens.png") #fcfcfc no-repeat 95%;
box-shadow: none;
height: 19px;
height: 25px;
width: 220px;
font-size: 13px;
padding: 2px 6px;
border: 1px solid #d0dde9;
@@ -34,8 +52,12 @@ input.search {
top: 11px;
}
.alert-msg {
color: #b94a48;
}
.header {
margin-bottom: 60px;
margin-bottom: 30px;
/* border-bottom: 1px #e8e9ee solid; */
}
.header h1, .header h2, .header h3, .header h4, .header h5 {
float: left;
@@ -50,12 +72,14 @@ input.search {
/* navbar popup dialog */
}
.navbar-inverse input.search {
height: 27px;
width: 220px;
padding: 3px 6px;
background: url("../../img/lens.png") #0f1217 no-repeat 95%;
border: 1px solid #0f1217;
position: relative;
border-radius: 4px;
top: 9px;
padding: 3px 6px;
color: #000;
font-size: 13px;
margin-right: 40px;
@@ -65,6 +89,7 @@ input.search {
}
.navbar-inverse input.search:focus {
background-color: #fff;
border: 0;
}
.navbar-inverse .settings i {
color: #9ba3ad;
@@ -182,13 +207,13 @@ input.search {
margin-right: 1px;
}
.navbar-inverse .pop-dialog .messages {
width: 330px;
width: 325px;
margin: 10px -10px 0px -10px;
}
.navbar-inverse .pop-dialog .messages .item {
display: block;
padding: 10px 20px 15px 20px;
height: 54px;
height: 80px;
border-bottom: 1px solid #e7e8ea;
color: #363636;
text-decoration: none;
@@ -216,11 +241,10 @@ input.search {
}
.navbar-inverse .pop-dialog .messages .item .msg {
font-size: 11px;
color: #757677;
font-weight: 600;
color: #636363;
line-height: 13px;
position: relative;
top: -1px;
top: 2px;
}
.navbar-inverse .pop-dialog .messages .item .time {
position: absolute;
@@ -260,15 +284,14 @@ input.search {
}
#sidebar-nav #dashboard-menu > li > a {
display: block;
margin-right: -15px;
margin-left: -15px;
padding: 19px 14px 15px 14px;
margin-left: -15px;
margin-bottom: 5px;
border-bottom: 1px solid #dae1e8;
box-shadow: 0 2px 1px -1px #FFFFFF;
color: #6e829b;
outline: 0px;
width: 88%;
line-height: 21px;
}
#sidebar-nav #dashboard-menu > li {
position: relative;
@@ -391,11 +414,10 @@ input.search {
}
#pad-wrapper {
padding: 0px 25px;
margin-top: 55px;
padding: 0px 50px;
margin-top: 15px;
}
#pad-wrapper h4 {
margin: 0 0 0 20px;
color: #696d73;
font-style: italic;
}
@@ -413,6 +435,11 @@ input.search {
border-bottom: 1px solid #dae3e9;
box-shadow: -3px 3px 3px -2px #f1f1f3;
border-radius: 0px 0px 0px 5px;
-webkit-transition: margin-left .3s ease;
-moz-transition: margin-left .3s ease;
-o-transition: margin-left .3s ease;
-ms-transition: margin-left .3s ease;
transition: margin-left .3s ease;
/* starts skins changer */
/* end skin changer*/
}
@@ -428,7 +455,7 @@ input.search {
-o-transition: right .3s;
transition: right .3s;
position: fixed;
right: -85px;
right: -88px;
top: 135px;
font-size: 13px;
z-index: 9999;
@@ -478,7 +505,7 @@ input.search {
padding-right: 12px;
white-space: nowrap;
display: block;
width: 100px;
width: 115px;
position: relative;
top: 9px;
-webkit-transition: width .2s;
@@ -489,35 +516,9 @@ input.search {
}
/* responsive */
@media (max-width: 1020px) {
.content {
margin-left: 65px;
}
#dashboard-menu {
margin-left: 5px;
}
#dashboard-menu .pointer {
display: none;
}
#dashboard-menu li a span {
visibility: hidden;
}
}
@media (max-width: 600px) {
.content {
margin-left: 0em;
border-left-width: 0px;
}
}
@media (max-width: 822px) {
.navbar-inverse input.search {
display: none;
}
}
@media (max-width: 767px) {
@media (max-width: 768px) {
#pad-wrapper {
padding: 0px 10px;
padding: 0px 15px;
}
.content {
@@ -525,9 +526,8 @@ input.search {
margin: 0;
}
#main-stats .stat {
width: 50%;
float: left;
#dashboard-menu .pointer {
display: none;
}
#sidebar-nav {
@@ -539,25 +539,34 @@ input.search {
border-right: 1px solid #ccc;
width: 165px;
box-shadow: 1px 1px 4px 1px #e9e9e9;
-webkit-transition: left .25s ease;
-moz-transition: left .25s ease;
-o-transition: left .25s ease;
-ms-transition: left .25s ease;
transition: left .25s ease;
}
#sidebar-nav.display {
position: absolute;
left: 0;
height: 100%;
-webkit-transition: left .3s ease;
-moz-transition: left .3s ease;
-o-transition: left .3s ease;
-ms-transition: left .3s ease;
transition: left .3s ease;
}
#sidebar-nav #dashboard-menu {
margin-left: 10px;
}
#sidebar-nav #dashboard-menu li a span {
visibility: visible;
}
#sidebar-nav #dashboard-menu li:last-child a {
border-bottom: 0px;
box-shadow: none;
}
}
@media (max-width: 822px) {
.navbar-inverse input.search {
display: none;
}
}
@media (max-width: 767px) {
#main-stats .stat {
width: 50%;
float: left;
}
}

View File

@@ -26,14 +26,19 @@
.new-user .form-wrapper input[type="text"] {
margin: 0;
padding: 3px 6px;
width: 75%;
display: inline-block;
}
.new-user .form-wrapper .address-fields {
margin-left: 0px;
float: left;
width: 75%;
}
.new-user .form-wrapper .address-fields input[type="text"]:first-child {
width: 100%;
}
.new-user .form-wrapper input.small {
width: 30%;
width: 27%;
margin-top: 20px;
margin-right: 20px;
}
@@ -56,10 +61,11 @@
margin-top: 27px;
}
.new-user .textarea span.charactersleft {
display: block;
color: #9ba0a5;
display: inline-block;
text-align: left;
margin-left: 18%;
margin-left: 20%;
margin-top: 8px;
font-size: 13px;
font-style: italic;
}

View File

@@ -33,9 +33,6 @@
.settings-wrapper .personal-info form {
margin-left: 50px;
}
.settings-wrapper .personal-info .field-box {
margin-bottom: 20px;
}
.settings-wrapper .personal-info label {
display: inline-block;
float: left;
@@ -44,18 +41,20 @@
cursor: auto;
width: 20%;
margin-right: 10px;
text-align: left;
}
.settings-wrapper .personal-info .input[type="text"] {
font-weight: 600;
}
.settings-wrapper .personal-info .ui-select {
width: 50%;
width: 100%;
margin-bottom: 10px;
}
.settings-wrapper .personal-info .actions {
margin-bottom: 25px;
margin-left: 0;
margin-top: 30px;
width: 100%;
padding-right: 70px;
float: left;
text-align: right;
}
@@ -73,7 +72,7 @@
}
/* responsive */
@media (max-width: 767px) {
@media (max-width: 768px) {
.settings-wrapper #pad-wrapper {
padding: 0px 20px;
}
@@ -88,9 +87,6 @@
.settings-wrapper .personal-info h5.personal-title {
margin-left: 0;
}
.settings-wrapper .personal-info .field-box {
margin-left: 0;
}
.settings-wrapper .personal-info .ui-select {
width: 90%;
}
@@ -109,14 +105,19 @@
.settings-wrapper .personal-info .ui-select {
width: 77%;
}
.avatar-box {
text-align: center;
margin-bottom: 20px;
}
.settings-wrapper .personal-info {
border-left: 0px;
box-shadow: none;
}
}
@media (min-width: 768px) {
.settings-wrapper .personal-info .alert {
margin-left: 50px;
}
}
@media (min-width: 980px) {
.settings-wrapper .personal-info .ui-select {
width: 60%;
}
}

View File

@@ -11,6 +11,8 @@
.login-wrapper {
position: absolute;
top: 90px;
left: 0;
right: 0;
text-align: center;
}
.login-wrapper .logo {
@@ -88,6 +90,7 @@
float: left;
color: #4a576a;
font-size: 13px;
font-weight: 600;
}
.login-wrapper .box .login {
text-transform: uppercase;

View File

@@ -18,13 +18,15 @@ body {
background: #2c3742;
box-shadow: inset rgba(255, 255, 255, 0.3) 0 1px 0, inset rgba(0, 0, 0, 0.22) 0 -1px 0, rgba(0, 0, 0, 0.14) 0 1px 2px;
width: 100%;
height: 45px;
height: 75px;
text-align: center;
padding-top: 28px;
}
.login-wrapper {
position: absolute;
left: 0;
right: 0;
text-align: center;
}
.login-wrapper .logo {

View File

@@ -1,61 +0,0 @@
html {
background: transparent url(../../../img/bgs/back-orange.png) repeat-x 0 0;
min-height: 100%;
background-size: 100% 100%;
/*-webkit-background-size: cover;*/
}
body {
background: none;
}
.navbar-inverse .navbar-inner {
background: none;
border: 1px solid transparent;
box-shadow: none;
}
.navbar-inverse .notification-dropdown .count {
background: #fc827b;
}
/* sidebar */
#sidebar-nav.display {
background: transparent url(../../../img/bgs/back-orange.png) repeat-x 0 0;
background-size: 100% 100%;
box-shadow: none;
}
#dashboard-menu > li.active > a,
#dashboard-menu > li > a:hover {
color: #fff;
text-shadow: none;
}
#dashboard-menu > li > a {
color: #bebebe;
box-shadow: none;
border: 0px;
}
#dashboard-menu a i {
opacity: 0.6;
}
#dashboard-menu a i.icon-chevron-down {
color: #fff;
}
#dashboard-menu ul.submenu {
border-bottom: 0px;
box-shadow: 0 2px 1px -1px #4b6588;
}
#dashboard-menu ul.submenu a {
text-shadow: none;
color: lightgrey;
}
.content {
box-shadow: none;
}

View File

@@ -121,8 +121,12 @@
top: 26.8%;
}
}
@media (max-width: 767px) {
.table-wrapper .table .img {
@media (max-width: 768px) {
.table-wrapper {
padding: 0px 15px;
}
.table-wrapper .table .img,
.table-wrapper .table .avatar {
display: none;
}
.table-wrapper .table input[type="checkbox"] {

View File

@@ -54,6 +54,18 @@
#pad-wrapper .ctrls h4 {
margin: 20px 0px 20px 0px;
}
#pad-wrapper .ctrls .dropdown .dropdown-menu {
margin-right: 10px;
position: static;
display: block;
}
#pad-wrapper .ctrls .nav-tabs {
margin-bottom: 15px;
}
#pad-wrapper .ctrls .tab-content {
padding: 0px 10px;
margin-bottom: 20px;
}
#pad-wrapper .sliders .slider {
margin-bottom: 20px;
}

View File

@@ -1,7 +1,10 @@
.users-list .header h3 {
margin-top: 0px;
}
.users-list .header input.search {
padding: 5px 6px;
position: relative;
top: -1px;
top: 0px;
}
.users-list .header input.search:focus {
box-shadow: none;
@@ -13,6 +16,12 @@
.users-list .header .ui-dropdown {
margin-left: 20px;
}
.users-list .header .ui-dropdown input.form-control {
width: 60px;
display: inline-block;
height: 28px;
margin: 0px 8px;
}
.users-list .header a.btn-flat span {
font-size: 17px;
position: relative;
@@ -62,6 +71,9 @@
.users-list .table td {
font-size: 12px;
}
.users-list .table .avatar {
display: none;
}
.users-list h3 {
display: block;
float: none;

View File

@@ -3,7 +3,7 @@
margin-right: 25px;
border: 2px solid #e9ecee;
position: relative;
top: 20px;
top: 3px;
}
.user-profile .header .name {
font-weight: 600;
@@ -25,6 +25,7 @@
font-size: 14px;
}
.user-profile .profile .profile-box {
border-top: 1px solid #dde2e9;
padding-top: 23px;
width: 90%;
}
@@ -120,7 +121,7 @@
font-weight: normal;
}
}
@media (max-width: 767px) {
@media (max-width: 768px) {
.user-profile .profile .bio {
border-right: 0 none;
border-bottom: 1px solid #edeef1;

View File

@@ -8,12 +8,13 @@
*
*/
.datepicker {
padding: 4px;
padding: 8px 12px;
margin-top: 1px;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
direction: ltr;
font-size: 13px;
/*.dow {
border-top: 1px solid #ddd !important;
}*/

View File

@@ -1,33 +1,34 @@
/*!
* Font Awesome 3.1.0
* Font Awesome 3.2.1
* the iconic font designed for Bootstrap
* -------------------------------------------------------
* The full suite of pictographic icons, examples, and documentation
* can be found at: http://fontawesome.io
* ------------------------------------------------------------------------------
* The full suite of pictographic icons, examples, and documentation can be
* found at http://fontawesome.io. Stay up to date on Twitter at
* http://twitter.com/fontawesome.
*
* License
* -------------------------------------------------------
* - The Font Awesome font is licensed under the SIL Open Font License v1.1 -
* ------------------------------------------------------------------------------
* - The Font Awesome font is licensed under SIL OFL 1.1 -
* http://scripts.sil.org/OFL
* - Font Awesome CSS, LESS, and SASS files are licensed under the MIT License -
* - Font Awesome CSS, LESS, and SASS files are licensed under MIT License -
* http://opensource.org/licenses/mit-license.html
* - Font Awesome documentation licensed under CC BY 3.0 License -
* - Font Awesome documentation licensed under CC BY 3.0 -
* http://creativecommons.org/licenses/by/3.0/
* - Attribution is no longer required in Font Awesome 3.0, but much appreciated:
* "Font Awesome by Dave Gandy - http://fontawesome.io"
* Contact
* -------------------------------------------------------
*
* Author - Dave Gandy
* ------------------------------------------------------------------------------
* Email: dave@fontawesome.io
* Twitter: http://twitter.com/fortaweso_me
* Work: Lead Product Designer @ http://kyruus.com
* Twitter: http://twitter.com/davegandy
* Work: Lead Product Designer @ Kyruus - http://kyruus.com
*/
/* FONT PATH
* -------------------------- */
@font-face {
font-family: 'FontAwesome';
src: url('../../font/fontawesome-webfont.eot?v=3.1.0');
src: url('../../font/fontawesome-webfont.eot?#iefix&v=3.1.0') format('embedded-opentype'), url('../../font/fontawesome-webfont.woff?v=3.1.0') format('woff'), url('../../font/fontawesome-webfont.ttf?v=3.1.0') format('truetype'), url('../../font/fontawesome-webfont.svg#fontawesomeregular?v=3.1.0') format('svg');
src: url('../../font/fontawesome-webfont.eot?v=3.2.1');
src: url('../../font/fontawesome-webfont.eot?#iefix&v=3.2.1') format('embedded-opentype'), url('../../font/fontawesome-webfont.woff?v=3.2.1') format('woff'), url('../../font/fontawesome-webfont.ttf?v=3.2.1') format('truetype'), url('../../font/fontawesome-webfont.svg#fontawesomeregular?v=3.2.1') format('svg');
font-weight: normal;
font-style: normal;
}
@@ -55,31 +56,34 @@
}
/* makes sure icons active on rollover in links */
a [class^="icon-"],
a [class*=" icon-"],
a [class^="icon-"]:before,
a [class*=" icon-"]:before {
a [class*=" icon-"] {
display: inline;
}
/* increased font size for icon-large */
[class^="icon-"].icon-fixed-width,
[class*=" icon-"].icon-fixed-width {
display: inline-block;
width: 1.2857142857142858em;
text-align: center;
width: 1.1428571428571428em;
text-align: right;
padding-right: 0.2857142857142857em;
}
[class^="icon-"].icon-fixed-width.icon-large,
[class*=" icon-"].icon-fixed-width.icon-large {
width: 1.5714285714285714em;
width: 1.4285714285714286em;
}
ul.icons-ul {
list-style-type: none;
text-indent: -0.7142857142857143em;
.icons-ul {
margin-left: 2.142857142857143em;
list-style-type: none;
}
ul.icons-ul > li .icon-li {
width: 0.7142857142857143em;
display: inline-block;
.icons-ul > li {
position: relative;
}
.icons-ul .icon-li {
position: absolute;
left: -2.142857142857143em;
width: 2.142857142857143em;
text-align: center;
line-height: inherit;
}
[class^="icon-"].hide,
[class*=" icon-"].hide {
@@ -239,6 +243,11 @@ ul.icons-ul > li .icon-li {
.btn.btn-large [class*=" icon-"].pull-right.icon-2x {
margin-left: .2em;
}
/* Fixes alignment in nav lists */
.nav-list [class^="icon-"],
.nav-list [class*=" icon-"] {
line-height: inherit;
}
/* EXTRAS
* -------------------------- */
/* Stacked and layered icon */
@@ -273,6 +282,12 @@ ul.icons-ul > li .icon-li {
-webkit-animation: spin 2s infinite linear;
animation: spin 2s infinite linear;
}
/* Prevent stack and spinners from being taken inline when inside a link */
a .icon-stack,
a .icon-spin {
display: inline-block;
text-decoration: none;
}
@-moz-keyframes spin {
0% {
-moz-transform: rotate(0deg);
@@ -352,6 +367,14 @@ ul.icons-ul > li .icon-li {
-o-transform: scale(1, -1);
transform: scale(1, -1);
}
/* ensure rotation occurs inside anchor tags */
a .icon-rotate-90:before,
a .icon-rotate-180:before,
a .icon-rotate-270:before,
a .icon-flip-horizontal:before,
a .icon-flip-vertical:before {
display: inline-block;
}
/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
readers do not read off random characters that represent icons */
.icon-glass:before {
@@ -363,7 +386,7 @@ ul.icons-ul > li .icon-li {
.icon-search:before {
content: "\f002";
}
.icon-envelope:before {
.icon-envelope-alt:before {
content: "\f003";
}
.icon-heart:before {
@@ -402,12 +425,14 @@ ul.icons-ul > li .icon-li {
.icon-zoom-out:before {
content: "\f010";
}
.icon-power-off:before,
.icon-off:before {
content: "\f011";
}
.icon-signal:before {
content: "\f012";
}
.icon-gear:before,
.icon-cog:before {
content: "\f013";
}
@@ -417,7 +442,7 @@ ul.icons-ul > li .icon-li {
.icon-home:before {
content: "\f015";
}
.icon-file:before {
.icon-file-alt:before {
content: "\f016";
}
.icon-time:before {
@@ -441,11 +466,10 @@ ul.icons-ul > li .icon-li {
.icon-play-circle:before {
content: "\f01d";
}
.icon-repeat:before,
.icon-rotate-right:before {
.icon-rotate-right:before,
.icon-repeat:before {
content: "\f01e";
}
/* F020 doesn't work in Safari. all shifted one down */
.icon-refresh:before {
content: "\f021";
}
@@ -638,8 +662,8 @@ ul.icons-ul > li .icon-li {
.icon-arrow-down:before {
content: "\f063";
}
.icon-share-alt:before,
.icon-mail-forward:before {
.icon-mail-forward:before,
.icon-share-alt:before {
content: "\f064";
}
.icon-resize-full:before {
@@ -732,16 +756,17 @@ ul.icons-ul > li .icon-li {
.icon-key:before {
content: "\f084";
}
.icon-gears:before,
.icon-cogs:before {
content: "\f085";
}
.icon-comments:before {
content: "\f086";
}
.icon-thumbs-up:before {
.icon-thumbs-up-alt:before {
content: "\f087";
}
.icon-thumbs-down:before {
.icon-thumbs-down-alt:before {
content: "\f088";
}
.icon-star-half:before {
@@ -780,6 +805,7 @@ ul.icons-ul > li .icon-li {
.icon-phone:before {
content: "\f095";
}
.icon-unchecked:before,
.icon-check-empty:before {
content: "\f096";
}
@@ -879,6 +905,7 @@ ul.icons-ul > li .icon-li {
.icon-copy:before {
content: "\f0c5";
}
.icon-paperclip:before,
.icon-paper-clip:before {
content: "\f0c6";
}
@@ -951,14 +978,14 @@ ul.icons-ul > li .icon-li {
.icon-sort-up:before {
content: "\f0de";
}
.icon-envelope-alt:before {
.icon-envelope:before {
content: "\f0e0";
}
.icon-linkedin:before {
content: "\f0e1";
}
.icon-undo:before,
.icon-rotate-left:before {
.icon-rotate-left:before,
.icon-undo:before {
content: "\f0e2";
}
.icon-legal:before {
@@ -1015,7 +1042,7 @@ ul.icons-ul > li .icon-li {
.icon-food:before {
content: "\f0f5";
}
.icon-file-alt:before {
.icon-file-text-alt:before {
content: "\f0f6";
}
.icon-building:before {
@@ -1093,10 +1120,13 @@ ul.icons-ul > li .icon-li {
.icon-circle:before {
content: "\f111";
}
.icon-reply:before,
.icon-mail-reply:before {
.icon-mail-reply:before,
.icon-reply:before {
content: "\f112";
}
.icon-github-alt:before {
content: "\f113";
}
.icon-folder-close-alt:before {
content: "\f114";
}
@@ -1266,3 +1296,184 @@ ul.icons-ul > li .icon-li {
.icon-share-sign:before {
content: "\f14d";
}
.icon-compass:before {
content: "\f14e";
}
.icon-collapse:before {
content: "\f150";
}
.icon-collapse-top:before {
content: "\f151";
}
.icon-expand:before {
content: "\f152";
}
.icon-euro:before,
.icon-eur:before {
content: "\f153";
}
.icon-gbp:before {
content: "\f154";
}
.icon-dollar:before,
.icon-usd:before {
content: "\f155";
}
.icon-rupee:before,
.icon-inr:before {
content: "\f156";
}
.icon-yen:before,
.icon-jpy:before {
content: "\f157";
}
.icon-renminbi:before,
.icon-cny:before {
content: "\f158";
}
.icon-won:before,
.icon-krw:before {
content: "\f159";
}
.icon-bitcoin:before,
.icon-btc:before {
content: "\f15a";
}
.icon-file:before {
content: "\f15b";
}
.icon-file-text:before {
content: "\f15c";
}
.icon-sort-by-alphabet:before {
content: "\f15d";
}
.icon-sort-by-alphabet-alt:before {
content: "\f15e";
}
.icon-sort-by-attributes:before {
content: "\f160";
}
.icon-sort-by-attributes-alt:before {
content: "\f161";
}
.icon-sort-by-order:before {
content: "\f162";
}
.icon-sort-by-order-alt:before {
content: "\f163";
}
.icon-thumbs-up:before {
content: "\f164";
}
.icon-thumbs-down:before {
content: "\f165";
}
.icon-youtube-sign:before {
content: "\f166";
}
.icon-youtube:before {
content: "\f167";
}
.icon-xing:before {
content: "\f168";
}
.icon-xing-sign:before {
content: "\f169";
}
.icon-youtube-play:before {
content: "\f16a";
}
.icon-dropbox:before {
content: "\f16b";
}
.icon-stackexchange:before {
content: "\f16c";
}
.icon-instagram:before {
content: "\f16d";
}
.icon-flickr:before {
content: "\f16e";
}
.icon-adn:before {
content: "\f170";
}
.icon-bitbucket:before {
content: "\f171";
}
.icon-bitbucket-sign:before {
content: "\f172";
}
.icon-tumblr:before {
content: "\f173";
}
.icon-tumblr-sign:before {
content: "\f174";
}
.icon-long-arrow-down:before {
content: "\f175";
}
.icon-long-arrow-up:before {
content: "\f176";
}
.icon-long-arrow-left:before {
content: "\f177";
}
.icon-long-arrow-right:before {
content: "\f178";
}
.icon-apple:before {
content: "\f179";
}
.icon-windows:before {
content: "\f17a";
}
.icon-android:before {
content: "\f17b";
}
.icon-linux:before {
content: "\f17c";
}
.icon-dribbble:before {
content: "\f17d";
}
.icon-skype:before {
content: "\f17e";
}
.icon-foursquare:before {
content: "\f180";
}
.icon-trello:before {
content: "\f181";
}
.icon-female:before {
content: "\f182";
}
.icon-male:before {
content: "\f183";
}
.icon-gittip:before {
content: "\f184";
}
.icon-sun:before {
content: "\f185";
}
.icon-moon:before {
content: "\f186";
}
.icon-archive:before {
content: "\f187";
}
.icon-bug:before {
content: "\f188";
}
.icon-vk:before {
content: "\f189";
}
.icon-weibo:before {
content: "\f18a";
}
.icon-renren:before {
content: "\f18b";
}

Some files were not shown because too many files have changed in this diff Show More