-
-
Notifications
You must be signed in to change notification settings - Fork 3.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fixed: Blank select on custom reports causing empty exports #14110
Changes from 3 commits
aea9883
4d977dc
0c064a3
61cbdcb
4a18405
8cfef65
c22dd94
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -4,13 +4,12 @@ | |
{{ Form::label($fieldname, $translated_name, array('class' => 'col-md-3 control-label')) }} | ||
<div class="col-md-7{{ ((isset($required) && ($required =='true'))) ? ' required' : '' }}"> | ||
<select class="js-data-ajax" data-endpoint="locations" data-placeholder="{{ trans('general.select_location') }}" name="{{ $fieldname }}" style="width: 100%" id="{{ $fieldname }}_location_select" aria-label="{{ $fieldname }}" {!! ((isset($item)) && (Helper::checkIfRequired($item, $fieldname))) ? ' data-validation="required" required' : '' !!}{{ (isset($multiple) && ($multiple=='true')) ? " multiple='multiple'" : '' }}> | ||
@if ($location_id = old($fieldname, (isset($item)) ? $item->{$fieldname} : '')) | ||
<option value="{{ $location_id }}" selected="selected" role="option" aria-selected="true" role="option"> | ||
{{ (\App\Models\Location::find($location_id)) ? \App\Models\Location::find($location_id)->name : '' }} | ||
</option> | ||
@else | ||
<option value="" role="option">{{ trans('general.select_location') }}</option> | ||
@endif | ||
{{ ((isset($multiple)) && ($multiple=='true')) ? " multiple='multiple'" : '' }} | ||
@if($location_id = old($fieldname, (isset($item)) ? $item->{$fieldname} : '')) | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This (the other selects in this PR should be updated as well) |
||
<option value="{{ $location_id }}" selected="selected" role="option" aria-selected="true"> | ||
{{ (\App\Models\Location::find($location_id)) ? \App\Models\Location::find($location_id)->name : '' }} | ||
</option> | ||
@endisset | ||
</select> | ||
</div> | ||
|
||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -5,14 +5,12 @@ | |
|
||
<div class="col-md-7{{ ((isset($required)) && ($required=='true')) ? ' required' : '' }}"> | ||
<select class="js-data-ajax" data-endpoint="statuslabels" data-placeholder="{{ trans('general.select_statuslabel') }}" name="{{ $fieldname }}" style="width: 100%" id="status_select_id" aria-label="{{ $fieldname }}" {!! ((isset($item)) && (Helper::checkIfRequired($item, $fieldname))) ? ' data-validation="required" required' : '' !!}{{ (isset($multiple) && ($multiple=='true')) ? " multiple='multiple'" : '' }}> | ||
@if ($status_id = old($fieldname, (isset($item)) ? $item->{$fieldname} : '')) | ||
<option value="{{ $status_id }}" selected="selected" role="option" aria-selected="true" role="option"> | ||
{{ (\App\Models\Statuslabel::find($status_id)) ? \App\Models\Statuslabel::find($status_id)->name : '' }} | ||
</option> | ||
@else | ||
<option value="" role="option">{{ trans('general.select_status') }}</option> | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. IIRC, we have that here because in some places these fields are required and in some they are not, and the dropdowns don't provide a "Select blah" option automatically. This would need to be tested across other things that use these dropdown partials. |
||
@endif | ||
|
||
{{ ((isset($multiple)) && ($multiple=='true')) ? " multiple='multiple'" : '' }} | ||
@if($status_id = old($fieldname, (isset($item)) ? $item->{$fieldname} : '')) | ||
<option value="{{ $status_id }}" selected="selected" role="option" aria-selected="true"> | ||
{{ (\App\Models\Statuslabel::find($status_id)) ? \App\Models\Statuslabel::find($status_id)->name : '' }} | ||
</option> | ||
@endisset | ||
</select> | ||
</div> | ||
|
||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -5,7 +5,7 @@ | |
<div class="col-md-6{{ ((isset($required)) && ($required=='true')) ? ' required' : '' }}"> | ||
<select class="js-data-ajax" data-endpoint="users" data-placeholder="{{ trans('general.select_user') }}" name="{{ $fieldname }}" style="width: 100%" id="assigned_user_select" aria-label="{{ $fieldname }}"> | ||
@if ($user_id = old($fieldname, (isset($item)) ? $item->{$fieldname} : '')) | ||
<option value="{{ $user_id }}" selected="selected" role="option" aria-selected="true" role="option"> | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Good catch on the duplicate code! |
||
<option value="{{ $user_id }}" selected="selected" role="option" aria-selected="true"> | ||
{{ (\App\Models\User::find($user_id)) ? \App\Models\User::find($user_id)->present()->fullName : '' }} | ||
</option> | ||
@else | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not sure what this check does?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So, what we want to do is check that there is a multiple value set, so ignore anything that does NOT ever deal with multiple values. and then also that that value is true.
The original way I wrote it (the in red bits) was how I figured out how to get rid of the bug. It took some trial and error and that's how I came up with the fix, tho it was a bit dupilcative with how it was written.
Addmittedly I am still a bit new with ternary syntax, so I might have oopsed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That line ends up writing
multiple=multiple
onto the page without any effect:Did you mean to make that an
@isset
blade directive to match the one added below on line 12?