Skip to content

Commit 4a9fdbf

Browse files
committed
File upload field bugfix on edit page. Before this patch file was always required when editing CRUD.
1 parent f1d8d18 commit 4a9fdbf

File tree

3 files changed

+34
-16
lines changed

3 files changed

+34
-16
lines changed

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
"email": "[email protected]"
1212
}
1313
],
14-
"version": "0.4.5",
14+
"version": "0.4.6",
1515
"require": {
1616
"illuminate/html": "5.0.*@dev",
1717
"intervention/image": "^2.3",

src/Builders/RequestBuilder.php

Lines changed: 32 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -116,20 +116,38 @@ private function buildRules($type)
116116
break;
117117
}
118118
} elseif ($field->type == 'file' || $field->type == 'photo') {
119-
switch ($field->validation) {
120-
case 'required':
121-
$rules .= "'$field->title' => 'max:$field->size|$field->validation', \r\n ";
122-
break;
123-
case 'required|unique':
124-
$camelName = Str::camel($this->name);
125-
// Insert table names
126-
$tableName = strtolower($camelName);
127-
$rules .= "'$field->title' => 'max:$field->size|$field->validation:$tableName,$field->title,'." . '$this->' . $this->request . ", \r\n ";
128-
break;
129-
default:
130-
// We got a file field which has a bit different validation
131-
$rules .= "'$field->title' => 'max:$field->size', \r\n ";
132-
break;
119+
if ($type == 0) {
120+
switch ($field->validation) {
121+
case 'required':
122+
$rules .= "'$field->title' => 'max:$field->size|$field->validation', \r\n ";
123+
break;
124+
case 'required|unique':
125+
$camelName = Str::camel($this->name);
126+
// Insert table names
127+
$tableName = strtolower($camelName);
128+
$rules .= "'$field->title' => 'max:$field->size|$field->validation:$tableName,$field->title,'." . '$this->' . $this->request . ", \r\n ";
129+
break;
130+
default:
131+
// We got a file field which has a bit different validation
132+
$rules .= "'$field->title' => 'max:$field->size', \r\n ";
133+
break;
134+
}
135+
} else {
136+
switch ($field->validation) {
137+
case 'required':
138+
$rules .= "'$field->title' => 'max:$field->size', \r\n ";
139+
break;
140+
case 'required|unique':
141+
$camelName = Str::camel($this->name);
142+
// Insert table names
143+
$tableName = strtolower($camelName);
144+
$rules .= "'$field->title' => 'max:$field->size|$field->validation:$tableName,$field->title,'." . '$this->' . $this->request . ", \r\n ";
145+
break;
146+
default:
147+
// We got a file field which has a bit different validation
148+
$rules .= "'$field->title' => 'max:$field->size', \r\n ";
149+
break;
150+
}
133151
}
134152

135153
} elseif ($field->type == 'money') {

src/Builders/ViewsBuilder.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@ private function buildEditForm()
173173
foreach ($this->fields as $field) {
174174
$title = $field->label;
175175
$label = $field->title;
176-
if (in_array($field->validation, $this->starred) && $field->type != 'password') {
176+
if (in_array($field->validation, $this->starred) && $field->type != 'password' && $field->type != 'file' && $field->type != 'photo') {
177177
$title .= '*';
178178
}
179179
if ($field->type == 'relationship') {

0 commit comments

Comments
 (0)