diff --git a/app/commands/SendExpirationAlerts.php b/app/commands/SendExpirationAlerts.php
new file mode 100644
index 0000000000..9dac3df72f
--- /dev/null
+++ b/app/commands/SendExpirationAlerts.php
@@ -0,0 +1,78 @@
+
'.$asset->name.' | '.$asset->asset_tag.' | '.$asset->warrantee_expires().' | ';
+ }
+
+ if ((Setting::getSettings()->alert_email!='') && (Setting::getSettings()->alerts_enabled==1)){
+
+ if (count($expiring_assets) > 0) {
+
+ Mail::send('emails.expiring-report', $data, function ($m) {
+ $m->to(Setting::getSettings()->alert_email, Setting::getSettings()->site_name);
+ $m->subject('Expiring Assets Report');
+ });
+
+ }
+
+ } else {
+
+ if (Setting::getSettings()->alert_email=='') {
+ echo "Could not send email. No alert email configured in settings. \n";
+ } elseif (Setting::getSettings()->alerts_enabled!=1) {
+ echo "Alerts are disabled in the settings. No mail will be sent. \n";
+ }
+
+ }
+
+
+
+
+ }
+
+
+
+
+
+}
diff --git a/app/controllers/admin/SettingsController.php b/app/controllers/admin/SettingsController.php
index 567c0215e6..4498f9f428 100755
--- a/app/controllers/admin/SettingsController.php
+++ b/app/controllers/admin/SettingsController.php
@@ -65,9 +65,10 @@ class SettingsController extends AdminController
// Declare the rules for the form validation
$rules = array(
"site_name" => 'required|min:3',
- "per_page" => 'required|min:1|numeric',
+ "per_page" => 'required|min:1|numeric',
"qr_text" => 'min:1|max:31',
"logo" => 'mimes:jpeg,bmp,png,gif',
+ "alert_email" => 'email',
);
// Create a new validator instance from our validation rules
@@ -106,6 +107,8 @@ class SettingsController extends AdminController
$setting->qr_text = e(Input::get('qr_text'));
$setting->auto_increment_prefix = e(Input::get('auto_increment_prefix'));
$setting->auto_increment_assets = e(Input::get('auto_increment_assets', '0'));
+ $setting->alert_email = e(Input::get('alert_email'));
+ $setting->alerts_enabled = e(Input::get('alerts_enabled', '0'));
$setting->header_color = e(Input::get('header_color'));
diff --git a/app/controllers/admin/UsersController.php b/app/controllers/admin/UsersController.php
index c54506e589..b59e878259 100755
--- a/app/controllers/admin/UsersController.php
+++ b/app/controllers/admin/UsersController.php
@@ -672,13 +672,9 @@ class UsersController extends AdminController
} else {
$activated = '0';
}
-
-
- if (Input::get('generate_password')==1) {
- $pass = substr(str_shuffle("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"), 0, 10);
- } else {
- $pass = '';
- }
+
+ $pass = substr(str_shuffle("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"), 0, 10);
+
try {
diff --git a/app/database/migrations/2015_02_24_072043_add_alerts_to_settings.php b/app/database/migrations/2015_02_24_072043_add_alerts_to_settings.php
new file mode 100644
index 0000000000..8a208457ea
--- /dev/null
+++ b/app/database/migrations/2015_02_24_072043_add_alerts_to_settings.php
@@ -0,0 +1,36 @@
+string('alert_email')->nullable()->default(NULL);
+ $table->boolean('alerts_enabled')->default(1);
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ //
+ Schema::table('settings', function ($table) {
+ $table->dropColumn('alert_email');
+ $table->dropColumn('alerts_enabled');
+ });
+ }
+
+}
diff --git a/app/lang/en/admin/settings/general.php b/app/lang/en/admin/settings/general.php
index e42112afb0..35c1b85a76 100755
--- a/app/lang/en/admin/settings/general.php
+++ b/app/lang/en/admin/settings/general.php
@@ -1,6 +1,8 @@
'Send alerts to',
+ 'alerts_enabled' => 'Alerts enabled',
'auto_increment_assets' => 'Generate auto-incrementing asset IDs',
'auto_increment_prefix' => 'Prefix (optional)',
'auti_incrementing_help' => 'Enable auto-incrementing asset IDs first to set this',
diff --git a/app/models/Asset.php b/app/models/Asset.php
index deae2f262f..c644714f3b 100755
--- a/app/models/Asset.php
+++ b/app/models/Asset.php
@@ -130,6 +130,18 @@ class Asset extends Depreciable
public function model()
{
return $this->belongsTo('Model','model_id');
+ }
+
+ public static function getExpiringWarrantee() {
+
+ return Asset::where('archived','=','0')
+ ->whereNotNUll('warranty_months')
+ ->whereNotNUll('purchase_date')
+ ->whereRaw(DB::raw('DATE_ADD(`purchase_date`,INTERVAL `warranty_months` MONTH) <= DATE(NOW() + INTERVAL 1 MONTH) AND DATE_ADD(`purchase_date`,INTERVAL `warranty_months` MONTH) > NOW()'))
+ ->orderBy('purchase_date', 'ASC')
+ ->get();
+
+
}
/**
diff --git a/app/start/artisan.php b/app/start/artisan.php
index b03a23f974..8398267f53 100755
--- a/app/start/artisan.php
+++ b/app/start/artisan.php
@@ -12,3 +12,4 @@
*/
Artisan::add(new AppCommand);
+Artisan::add(new SendExpirationAlerts);
diff --git a/app/views/backend/settings/edit.blade.php b/app/views/backend/settings/edit.blade.php
index 496b9f6904..dd28fd93d8 100755
--- a/app/views/backend/settings/edit.blade.php
+++ b/app/views/backend/settings/edit.blade.php
@@ -57,14 +57,14 @@ padding: 0px 20px;
{{ Form::text('site_name', Input::old('site_name', $setting->site_name), array('class' => 'form-control')) }}
- {{ $errors->first('site_name', ':message') }}
+ {{ $errors->first('site_name', ':message') }}
+
+
+
+
{{ Form::text('per_page', Input::old('per_page', $setting->per_page), array('class' => 'form-control', 'style'=>'width: 100px;')) }}
- {{ $errors->first('per_page', ':message') }}
+ {{ $errors->first('per_page', ':message') }}
@@ -139,7 +157,7 @@ padding: 0px 20px;
@if ($setting->auto_increment_assets == 1)
{{ Form::text('auto_increment_prefix', Input::old('auto_increment_prefix', $setting->auto_increment_prefix), array('class' => 'form-control', 'style'=>'width: 100px;')) }}
- {{ $errors->first('auto_increment_prefix', '
:message') }}
+ {{ $errors->first('auto_increment_prefix', '
:message') }}
@else
{{ Form::text('auto_increment_prefix', Input::old('auto_increment_prefix', $setting->auto_increment_prefix), array('class' => 'form-control', 'disabled'=>'disabled', 'style'=>'width: 100px;')) }}
@endif
@@ -176,7 +194,7 @@ padding: 0px 20px;
@if ($setting->qr_code == 1)
{{ Form::text('qr_text', Input::old('qr_text', $setting->qr_text), array('class' => 'form-control')) }}
- {{ $errors->first('qr_text', '
:message') }}
+ {{ $errors->first('qr_text', '
:message') }}
@else
{{ Form::text('qr_text', Input::old('qr_text', $setting->qr_text), array('class' => 'form-control', 'disabled'=>'disabled')) }}
diff --git a/app/views/backend/settings/index.blade.php b/app/views/backend/settings/index.blade.php
index 21bd164f2b..78ea076b00 100755
--- a/app/views/backend/settings/index.blade.php
+++ b/app/views/backend/settings/index.blade.php
@@ -30,11 +30,30 @@
@lang('admin/settings/general.site_name') |
{{{ $setting->site_name }}} |
+
+ | @lang('admin/settings/general.alert_email') |
+
+ @if ($setting->alert_email)
+ {{{ $setting->alert_email }}} |
+ @else
+ -- |
+ @endif
+
+
+ | @lang('admin/settings/general.alerts_enabled') |
+
+ @if ($setting->alerts_enabled == 1)
+ @lang('general.yes') |
+ @else
+ @lang('general.no') |
+ @endif
+
+
| @lang('admin/settings/general.header_color') |
@if ($setting->header_color)
- {{ $setting->header_color }} |
+ {{{ $setting->header_color }}} |
@else
default |
@endif
diff --git a/app/views/backend/users/import.blade.php b/app/views/backend/users/import.blade.php
index f6955c99af..af1bd6014f 100644
--- a/app/views/backend/users/import.blade.php
+++ b/app/views/backend/users/import.blade.php
@@ -67,16 +67,6 @@ Create a User ::
-
-
-
-