Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions app/Plugins/User/Databases/DatabasesPlugin.php
Original file line number Diff line number Diff line change
Expand Up @@ -1118,8 +1118,9 @@ public function detail($request, $page_id, $frame_id, $id, $mode = null)
*/
public function input($request, $page_id, $frame_id, $id = null, $errors = null)
{
// セッション初期化などのLaravel 処理。
// $request->flash();
// セッション初期化(戻る時に入力値を保持するため)
// 確認画面からの「前へ」ではアップロードファイルは含まれないため、flash可能。
$request->flash();

// Databases、Frame データ
$database = $this->getDatabases($frame_id);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ function submit_databases_temporary() {

<form action="" name="databases_store{{$frame_id}}" method="POST">
{{ csrf_field() }}
<input type="hidden" name="frame_id" value="{{$frame_id}}">
@foreach($databases_columns as $database_column)

{{-- 入力しないカラム型は表示しない --}}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -90,10 +90,10 @@
<div class="form-group row">
<label class="col-sm-3 control-label">カテゴリ</label>
<div class="col-sm-9">
<select class="form-control" name="categories_id" class="form-control @if ($errors && $errors->has('category')) border-danger @endif">
<select name="categories_id" class="form-control @if ($errors && $errors->has('categories_id')) border-danger @endif">
<option value=""></option>
@foreach($databases_categories as $category)
<option value="{{$category->id}}" @if(old('category', $inputs->categories_id)==$category->id) selected="selected" @endif>{{$category->category}}</option>
<option value="{{$category->id}}" @if(old('categories_id', $inputs->categories_id)==$category->id) selected="selected" @endif>{{$category->category}}</option>
@endforeach
</select>
@include('plugins.common.errors_inline', ['name' => 'categories_id'])
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,47 +13,22 @@
if (!empty($value_obj)) {
$value = $value_obj->value;
}

// 現在の選択値の決定(リクエスト優先 → old → 既存値分解)
$selected_values = [];
if (isset($request->databases_columns_value) &&
array_key_exists($database_obj->id, $request->databases_columns_value)) {
$selected_values = (array)$request->databases_columns_value[$database_obj->id];
} elseif (!is_null(old('databases_columns_value.' . $database_obj->id))) {
$selected_values = (array)old('databases_columns_value.' . $database_obj->id);
} elseif (!empty($value)) {
// 既存値は '|' 区切り
$selected_values = array_filter($value === '' ? [] : explode('|', $value), function($v){ return $v !== ''; });
}
@endphp
<div class="container-fluid row @if ($errors && $errors->has("databases_columns_value.$database_obj->id")) border border-danger @endif">
@foreach($databases_columns_id_select[$database_obj->id] as $select)

@php
// チェック用変数
$column_checkbox_checked = "";

// old でチェックされていたもの
if (!empty(old('databases_columns_value.'.$database_obj->id))) {
foreach(old('databases_columns_value.'.$database_obj->id) as $old_value) {
if ( $old_value == $select['value'] ) {
$column_checkbox_checked = " checked";
}
}
}

// 画面が戻ってきたもの
if (isset($request->databases_columns_value) &&
array_key_exists($database_obj->id, $request->databases_columns_value)) {

foreach($request->databases_columns_value[$database_obj->id] as $request_value) {
if ( $request_value == $select['value'] ) {
$column_checkbox_checked = " checked";
}
}
}

// 変更時のデータベースの値から
if (!empty($value)) {
// 入力されたデータの中に選択肢が含まれているか否か
// 選択肢にカンマが含まれている可能性を考慮
if(strpos($value,$select['value']) !== false){
$column_checkbox_checked = " checked";
}
}
@endphp

<div class="custom-control custom-checkbox custom-control-inline">
<input name="databases_columns_value[{{$database_obj->id}}][]" value="{{$select['value']}}" type="{{$database_obj->column_type}}" class="custom-control-input" id="databases_columns_value[{{$database_obj->id}}]_{{$loop->iteration}}"{{$column_checkbox_checked}}>
<input name="databases_columns_value[{{$database_obj->id}}][]" value="{{$select['value']}}" type="{{$database_obj->column_type}}" class="custom-control-input" id="databases_columns_value[{{$database_obj->id}}]_{{$loop->iteration}}" @if(in_array($select['value'], $selected_values, true)) checked @endif>
<label class="custom-control-label" for="databases_columns_value[{{$database_obj->id}}]_{{$loop->iteration}}"> {{$select['value']}}</label>
</div>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,22 +12,23 @@
if (!empty($value_obj)) {
$value = $value_obj->value;
}
// 現在値の決定(リクエスト優先 → old → 既存値)
$current = null;
if (isset($request->databases_columns_value) &&
array_key_exists($database_obj->id, $request->databases_columns_value)) {
$current = $request->databases_columns_value[$database_obj->id];
} elseif (!is_null(old('databases_columns_value.' . $database_obj->id))) {
$current = old('databases_columns_value.' . $database_obj->id);
} else {
$current = $value;
}
@endphp
@if (array_key_exists($database_obj->id, $databases_columns_id_select))
<div class="container-fluid row @if ($errors && $errors->has("databases_columns_value.$database_obj->id")) border border-danger @endif">
@foreach($databases_columns_id_select[$database_obj->id] as $select)

<div class="custom-control custom-radio custom-control-inline">
@if (old('databases_columns_value.'.$database_obj->id) == $select['value'] ||
$select['value'] == $value ||
(isset($request->databases_columns_value) &&
array_key_exists($database_obj->id, $request->databases_columns_value) &&
$request->databases_columns_value[$database_obj->id] == $select['value'])
)
<input type="radio" id="databases_columns_value[{{$database_obj->id}}]_{{$loop->iteration}}" name="databases_columns_value[{{$database_obj->id}}]" value="{{$select['value']}}" class="custom-control-input" checked>
@else
<input type="radio" id="databases_columns_value[{{$database_obj->id}}]_{{$loop->iteration}}" name="databases_columns_value[{{$database_obj->id}}]" value="{{$select['value']}}" class="custom-control-input">
@endif
<input type="radio" id="databases_columns_value[{{$database_obj->id}}]_{{$loop->iteration}}" name="databases_columns_value[{{$database_obj->id}}]" value="{{$select['value']}}" class="custom-control-input" @if($current === $select['value']) checked @endif>
<label class="custom-control-label" for="databases_columns_value[{{$database_obj->id}}]_{{$loop->iteration}}">{{$select['value']}}</label>
</div>
@endforeach
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,22 +12,23 @@
if (!empty($value_obj)) {
$value = $value_obj->value;
}
// 現在値の決定(リクエスト優先 → old → 既存値)
$current = null;
if (isset($request->databases_columns_value) &&
array_key_exists($database_obj->id, $request->databases_columns_value)) {
$current = $request->databases_columns_value[$database_obj->id];
} elseif (!is_null(old('databases_columns_value.' . $database_obj->id))) {
$current = old('databases_columns_value.' . $database_obj->id);
} else {
$current = $value;
}
@endphp
@if (array_key_exists($database_obj->id, $databases_columns_id_select))
<select id="databases_columns_value[{{$database_obj->id}}]_{{$loop->iteration}}" name="databases_columns_value[{{$database_obj->id}}]" class="custom-select @if ($errors && $errors->has("databases_columns_value.$database_obj->id")) border-danger @endif">
<option value=""></option>
@foreach($databases_columns_id_select[$database_obj->id] as $select)

@if (old('databases_columns_value.'.$database_obj->id) == $select['value'] ||
$select['value'] == $value ||
(isset($request->databases_columns_value) &&
array_key_exists($database_obj->id, $request->databases_columns_value) &&
$request->databases_columns_value[$database_obj->id] == $select['value'])
)
<option value="{{$select['value']}}" selected>{{$select['value']}}</option>
@else
<option value="{{$select['value']}}">{{$select['value']}}</option>
@endif
<option value="{{$select['value']}}" @if($current === $select['value']) selected @endif>{{$select['value']}}</option>
@endforeach
</select>
@include('plugins.common.errors_inline', ['name' => "databases_columns_value.$database_obj->id"])
Expand Down