Add userfield-type "picture"

This commit is contained in:
fipwmaqzufheoxq92ebc 2020-08-31 12:18:36 +02:00
parent fab8344da7
commit 576541782e
5 changed files with 23 additions and 2 deletions

View File

@ -44,3 +44,6 @@ msgstr ""
msgid "file"
msgstr ""
msgid "image"
msgstr ""

View File

@ -49,7 +49,6 @@ Grocy.Components.UserfieldsForm.Save = function(success, error)
},
function (xhr)
{
Grocy.FrontendHelpers.EndUiBusy("equipment-form");
Grocy.FrontendHelpers.ShowGenericError('Error while saving, probably this item already exists', xhr.response)
}
);
@ -121,6 +120,8 @@ Grocy.Components.UserfieldsForm.Load = function()
file_info.find('a.userfield-current-file')
.attr('href', U('/files/userfiles/' + value))
.text(file_name);
file_info.find('img.userfield-current-file')
.attr('src', U('/files/userfiles/' + value + '?force_serve_as=picture'))
file_info.find('button.userfield-file-delete').click(
function () {
file_info.addClass('d-none');

View File

@ -15,8 +15,9 @@ class UserfieldsService extends BaseService
const USERFIELD_TYPE_PRESET_CHECKLIST = 'preset-checklist';
const USERFIELD_TYPE_LINK = 'link';
const USERFIELD_TYPE_FILE = 'file';
const USERFIELD_TYPE_IMAGE = 'image';
public function __construct()
public function __construct()
{
parent::__construct();
}

View File

@ -14,6 +14,11 @@
<a href="{{ $userfieldObject->value }}" target="_blank">{{ $userfieldObject->value }}</a>
@elseif($userfield->type == \Grocy\Services\UserfieldsService::USERFIELD_TYPE_FILE)
<a href="{{ $U('/files/userfiles/'. $userfieldObject->value) }}" target="_blank">{{ base64_decode(explode('_', $userfieldObject->value)[1]) }}</a>
@elseif($userfield->type == \Grocy\Services\UserfieldsService::USERFIELD_TYPE_IMAGE)
<a href="{{ $U('/files/userfiles/'. $userfieldObject->value . '?force_serve_as=picture') }}">
<img src="{{ $U('/files/userfiles/'. $userfieldObject->value . '?force_serve_as=picture&best_fit_width=32&best_fit_height=32') }}"
class="lazy" title="{{ base64_decode(explode('_', $userfieldObject->value)[1]) }}" alt="{{ base64_decode(explode('_', $userfieldObject->value)[1]) }}">
</a>
@else
{{ $userfieldObject->value }}
@endif

View File

@ -109,6 +109,17 @@
</button>
</div>
</div>
@elseif($userfield->type == \Grocy\Services\UserfieldsService::USERFIELD_TYPE_IMAGE)
<div class="form-group">
<label for="{{ $userfield->name }}">{{ $userfield->caption }}</label>
<input type="file" class="form-control userfield-input" data-userfield-name="{{ $userfield->name }}">
<div class="d-none userfield-file">
<img src="" alt="{{ $userfield->name }}" class="userfield-current-file" data-uf-name="{{ $userfield->name }}"/>
<button type="button" class="userfield-current-file btn btn-danger userfield-file-delete" data-uf-name="{{ $userfield->name }}">
<i class="fas fa-trash"></i>
</button>
</div>
</div>
@endif
@endforeach