diff --git a/app/Http/Controllers/ManufacturersController.php b/app/Http/Controllers/ManufacturersController.php
index 1f7d2f2c07..e849d70a14 100755
--- a/app/Http/Controllers/ManufacturersController.php
+++ b/app/Http/Controllers/ManufacturersController.php
@@ -123,7 +123,7 @@ class ManufacturersController extends Controller
return redirect()->route('manufacturers.index')->with('error', trans('admin/manufacturers/message.does_not_exist'));
}
- // Save the data
+ // Save the data
$manufacturer->name = $request->input('name');
$manufacturer->url = $request->input('url');
$manufacturer->support_url = $request->input('support_url');
diff --git a/app/Models/Manufacturer.php b/app/Models/Manufacturer.php
index 5f01c3c273..099a978778 100755
--- a/app/Models/Manufacturer.php
+++ b/app/Models/Manufacturer.php
@@ -23,8 +23,8 @@ class Manufacturer extends SnipeModel
protected $rules = [
'name' => 'required|min:2|max:255|unique:manufacturers,name,NULL,id,deleted_at,NULL',
'url' => 'url|nullable',
- 'support_url' => 'url|nullable',
'support_email' => 'email|nullable',
+ 'support_url' => 'starts_with:http://,https://,afp://,facetime://,file://,irc://','nullable',
];
protected $hidden = ['user_id'];
diff --git a/app/Presenters/AssetPresenter.php b/app/Presenters/AssetPresenter.php
index 4be0f56010..06364fe31a 100644
--- a/app/Presenters/AssetPresenter.php
+++ b/app/Presenters/AssetPresenter.php
@@ -534,6 +534,20 @@ class AssetPresenter extends Presenter
return false;
}
+ /**
+ * Used to take user created warranty URL and dynamically fill in the needed values per asset
+ * @return string
+ */
+ public function supportUrl()
+ {
+ $tempurl = $this->model->model->manufacturer->support_url;
+
+ $tempurl = (str_replace('{LOCALE}',\App\Models\Setting::getSettings()->locale,$tempurl));
+ $tempurl = (str_replace('{SERIAL}',$this->model->serial,$tempurl));
+
+ return $tempurl;
+ }
+
/**
* Url to view this item.
* @return string
diff --git a/resources/lang/en/admin/manufacturers/message.php b/resources/lang/en/admin/manufacturers/message.php
index 21a4bc5aaf..d6656683ae 100644
--- a/resources/lang/en/admin/manufacturers/message.php
+++ b/resources/lang/en/admin/manufacturers/message.php
@@ -2,6 +2,7 @@
return array(
+ 'support_url_help' => 'Use {LOCALE}
and {SERIAL}
in your URL as variables to have those values auto-populate when viewing assets.',
'does_not_exist' => 'Manufacturer does not exist.',
'assoc_users' => 'This manufacturer is currently associated with at least one model and cannot be deleted. Please update your models to no longer reference this manufacturer and try again. ',
diff --git a/resources/views/hardware/view.blade.php b/resources/views/hardware/view.blade.php
index ccd3f86536..1cea928469 100755
--- a/resources/views/hardware/view.blade.php
+++ b/resources/views/hardware/view.blade.php
@@ -596,19 +596,9 @@
{{ trans('admin/hardware/form.months') }}
@if ($asset->serial && $asset->model->manufacturer)
- @if ((strtolower($asset->model->manufacturer->name) == "apple") || (str_starts_with(str_replace(' ','',strtolower($asset->model->manufacturer->name)),"appleinc")))
-
- {{ trans('hardware/general.mfg_warranty_lookup') }}
+
+ {{ trans('hardware/general.mfg_warranty_lookup') }}
- @elseif ((strtolower($asset->model->manufacturer->name) == "dell") || (str_starts_with(str_replace(' ','',strtolower($asset->model->manufacturer->name)),"dellinc")))
-
- {{ trans('hardware/general.mfg_warranty_lookup') }}
-
- @elseif ((strtolower($asset->model->manufacturer->name) == "lenovo") || (str_starts_with(str_replace(' ','',strtolower($asset->model->manufacturer->name)),"lenovoinc")))
-
- {{ trans('hardware/general.mfg_warranty_lookup') }}
-
- @endif
@endif
diff --git a/resources/views/manufacturers/edit.blade.php b/resources/views/manufacturers/edit.blade.php
index fbbb812ba6..c533718b85 100755
--- a/resources/views/manufacturers/edit.blade.php
+++ b/resources/views/manufacturers/edit.blade.php
@@ -26,6 +26,7 @@
{!! trans('admin/manufacturers/message.support_url_help') !!}
{!! $errors->first('support_url', ' ') !!}