diff --git a/README.md b/README.md
index 816be216..468cac11 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,6 @@
+# Forked from dwijitsolutions/laraadmin
+I will keep updating this fork with bug fixes, and keep submitting PR's to the main repo, or until I'm granted maintainer privilages to the main repo.
+
';
$required_ast = "";
-
+
if(!isset($params['class'])) {
$params['class'] = $class;
}
@@ -91,16 +91,16 @@ public static function input($module, $field_name, $default_val = null, $require
}
$out .= '
';
}
-
+
if($required && !isset($params['required'])) {
$params['required'] = $required;
$required_ast = "*";
}
-
+
switch($field_type->name) {
case 'Address':
$out .= '
' . $label . $required_ast . ' : ';
-
+
if($default_val == null) {
$default_val = $defaultvalue;
}
@@ -108,7 +108,7 @@ public static function input($module, $field_name, $default_val = null, $require
if(isset($row) && isset($row->$field_name)) {
$default_val = $row->$field_name;
}
-
+
$params['cols'] = 30;
$params['rows'] = 3;
$out .= Form::textarea($field_name, $default_val, $params);
@@ -116,11 +116,11 @@ public static function input($module, $field_name, $default_val = null, $require
case 'Checkbox':
$out .= '
' . $label . $required_ast . ' : ';
$out .= '
';
-
+
// ############### Remaining
unset($params['placeholder']);
unset($params['data-rule-maxlength']);
-
+
if($default_val == null) {
$default_val = $defaultvalue;
}
@@ -128,13 +128,13 @@ public static function input($module, $field_name, $default_val = null, $require
if(isset($row) && isset($row->$field_name)) {
$default_val = $row->$field_name;
}
-
+
$out .= Form::checkbox($field_name, $field_name, $default_val, $params);
$out .= '
';
break;
case 'Currency':
$out .= '
' . $label . $required_ast . ' : ';
-
+
if($default_val == null) {
$default_val = $defaultvalue;
}
@@ -142,7 +142,7 @@ public static function input($module, $field_name, $default_val = null, $require
if(isset($row) && isset($row->$field_name)) {
$default_val = $row->$field_name;
}
-
+
if($params['data-rule-maxlength'] != "" && $params['data-rule-maxlength'] != 0) {
$params['max'] = $params['data-rule-maxlength'];
}
@@ -152,14 +152,14 @@ public static function input($module, $field_name, $default_val = null, $require
unset($params['data-rule-minlength']);
unset($params['data-rule-maxlength']);
-
+
$params['data-rule-currency'] = "true";
$params['min'] = "0";
$out .= Form::number($field_name, $default_val, $params);
break;
case 'Date':
$out .= '
' . $label . $required_ast . ' : ';
-
+
if($default_val == null) {
$default_val = $defaultvalue;
}
@@ -175,10 +175,10 @@ public static function input($module, $field_name, $default_val = null, $require
} else if($default_val != "") {
$dval = date("d/m/Y", strtotime($default_val));
}
-
+
unset($params['data-rule-maxlength']);
// $params['data-rule-date'] = "true";
-
+
$out .= "
";
$out .= Form::text($field_name, $dval, $params);
$out .= " Null ?
";
@@ -186,16 +186,16 @@ public static function input($module, $field_name, $default_val = null, $require
break;
case 'Datetime':
$out .= '
' . $label . $required_ast . ' : ';
-
+
if($default_val == null) {
$default_val = $defaultvalue;
}
-
+
// Override the edit value
if(isset($row) && isset($row->$field_name)) {
$default_val = $row->$field_name;
}
-
+
$is_null = "";
if($default_val == "NULL") {
$is_null = " checked";
@@ -203,7 +203,7 @@ public static function input($module, $field_name, $default_val = null, $require
} else if($default_val == null) {
$default_val = $defaultvalue;
}
-
+
// ############### Remaining
$dval = $default_val;
if($default_val == "now()") {
@@ -217,7 +217,7 @@ public static function input($module, $field_name, $default_val = null, $require
break;
case 'Decimal':
$out .= '
' . $label . $required_ast . ' : ';
-
+
if($default_val == null) {
$default_val = $defaultvalue;
}
@@ -225,7 +225,7 @@ public static function input($module, $field_name, $default_val = null, $require
if(isset($row) && isset($row->$field_name)) {
$default_val = $row->$field_name;
}
-
+
if($params['data-rule-maxlength'] != "" && $params['data-rule-maxlength'] != 0) {
$params['max'] = $params['data-rule-maxlength'];
}
@@ -246,7 +246,7 @@ public static function input($module, $field_name, $default_val = null, $require
$params['data-placeholder'] = $params['placeholder'];
unset($params['placeholder']);
$params['rel'] = "select2";
-
+
//echo $defaultvalue;
if($default_val == null) {
$default_val = $defaultvalue;
@@ -258,28 +258,29 @@ public static function input($module, $field_name, $default_val = null, $require
// When Adding Record if we dont have default value let's not show NULL By Default
$default_val = "0";
}
-
+
// Bug here - NULL value Item still shows Not null in Form
if($default_val == NULL) {
$params['disabled'] = "";
}
-
+
$popup_vals_str = $popup_vals;
if($popup_vals != "") {
$popup_vals = LAFormMaker::process_values($popup_vals);
} else {
$popup_vals = array();
}
-
+
if(!$required) {
- array_unshift($popup_vals, "None");
+ // preserve numeric keys (ids) for non required fields
+ $popup_vals = ['0' => 'None'] + $popup_vals;
}
$out .= Form::select($field_name, $popup_vals, $default_val, $params);
-
+
break;
case 'Email':
$out .= '
' . $label . $required_ast . ' : ';
-
+
if($default_val == null) {
$default_val = $defaultvalue;
}
@@ -287,13 +288,13 @@ public static function input($module, $field_name, $default_val = null, $require
if(isset($row) && isset($row->$field_name)) {
$default_val = $row->$field_name;
}
-
+
$params['data-rule-email'] = "true";
$out .= Form::email($field_name, $default_val, $params);
break;
case 'File':
$out .= '
' . $label . $required_ast . ' : ';
-
+
if($default_val == null) {
$default_val = $defaultvalue;
}
@@ -305,7 +306,7 @@ public static function input($module, $field_name, $default_val = null, $require
$default_val = 0;
}
$out .= Form::hidden($field_name, $default_val, $params);
-
+
if($default_val != 0) {
$upload = \App\Models\Upload::find($default_val);
}
@@ -317,10 +318,10 @@ public static function input($module, $field_name, $default_val = null, $require
";
}
break;
-
+
case 'Files':
$out .= '
' . $label . $required_ast . ' : ';
-
+
if($default_val == null) {
$default_val = $defaultvalue;
}
@@ -331,9 +332,9 @@ public static function input($module, $field_name, $default_val = null, $require
if(is_array($default_val)) {
$default_val = json_encode($default_val);
}
-
+
$default_val_arr = json_decode($default_val);
-
+
if(is_array($default_val_arr) && count($default_val_arr) > 0) {
$uploadIds = array();
$uploadImages = "";
@@ -350,7 +351,7 @@ public static function input($module, $field_name, $default_val = null, $require
$uploadImages .= "
" . $fileImage . " ";
}
}
-
+
$out .= Form::hidden($field_name, json_encode($uploadIds), $params);
if(count($uploadIds) > 0) {
$out .= "
" . $uploadImages . "
";
@@ -361,10 +362,10 @@ public static function input($module, $field_name, $default_val = null, $require
}
$out .= "
Upload ";
break;
-
+
case 'Float':
$out .= '
' . $label . $required_ast . ' : ';
-
+
if($default_val == null) {
$default_val = $defaultvalue;
}
@@ -372,7 +373,7 @@ public static function input($module, $field_name, $default_val = null, $require
if(isset($row) && isset($row->$field_name)) {
$default_val = $row->$field_name;
}
-
+
if($params['data-rule-maxlength'] != "" && $params['data-rule-maxlength'] != 0) {
$params['max'] = $params['data-rule-maxlength'];
}
@@ -387,7 +388,7 @@ public static function input($module, $field_name, $default_val = null, $require
break;
case 'HTML':
$out .= '
' . $label . $required_ast . ' : ';
-
+
if($default_val == null) {
$default_val = $defaultvalue;
}
@@ -400,7 +401,7 @@ public static function input($module, $field_name, $default_val = null, $require
break;
case 'Image':
$out .= '
' . $label . $required_ast . ' : ';
-
+
if($default_val == null) {
$default_val = $defaultvalue;
}
@@ -412,7 +413,7 @@ public static function input($module, $field_name, $default_val = null, $require
$default_val = 0;
}
$out .= Form::hidden($field_name, $default_val, $params);
-
+
if($default_val != 0) {
$upload = \App\Models\Upload::find($default_val);
}
@@ -423,11 +424,11 @@ public static function input($module, $field_name, $default_val = null, $require
$out .= "
Upload
";
}
-
+
break;
case 'Integer':
$out .= '
' . $label . $required_ast . ' : ';
-
+
if($params['data-rule-maxlength'] != "" && $params['data-rule-maxlength'] != 0) {
$params['max'] = $params['data-rule-maxlength'];
}
@@ -437,7 +438,7 @@ public static function input($module, $field_name, $default_val = null, $require
unset($params['data-rule-minlength']);
unset($params['data-rule-maxlength']);
-
+
if($default_val == null) {
$default_val = $defaultvalue;
}
@@ -450,7 +451,7 @@ public static function input($module, $field_name, $default_val = null, $require
break;
case 'Mobile':
$out .= '
' . $label . $required_ast . ' : ';
-
+
if($default_val == null) {
$default_val = $defaultvalue;
}
@@ -458,12 +459,12 @@ public static function input($module, $field_name, $default_val = null, $require
if(isset($row) && isset($row->$field_name)) {
$default_val = $row->$field_name;
}
-
+
$out .= Form::text($field_name, $default_val, $params);
break;
case 'Multiselect':
$out .= '
' . $label . $required_ast . ' : ';
-
+
unset($params['data-rule-maxlength']);
$params['data-placeholder'] = "Select multiple " . str_plural($label);
unset($params['placeholder']);
@@ -480,7 +481,7 @@ public static function input($module, $field_name, $default_val = null, $require
if(isset($row) && isset($row->$field_name)) {
$default_val = json_decode($row->$field_name);
}
-
+
if($popup_vals != "") {
$popup_vals = LAFormMaker::process_values($popup_vals);
} else {
@@ -490,7 +491,7 @@ public static function input($module, $field_name, $default_val = null, $require
break;
case 'Name':
$out .= '
' . $label . $required_ast . ' : ';
-
+
if($default_val == null) {
$default_val = $defaultvalue;
}
@@ -498,21 +499,21 @@ public static function input($module, $field_name, $default_val = null, $require
if(isset($row) && isset($row->$field_name)) {
$default_val = $row->$field_name;
}
-
+
$out .= Form::text($field_name, $default_val, $params);
break;
case 'Password':
$out .= '
' . $label . $required_ast . ' : ';
-
+
$out .= Form::password($field_name, $params);
break;
case 'Radio':
$out .= '
' . $label . $required_ast . ' : ';
-
+
// ############### Remaining
unset($params['placeholder']);
unset($params['data-rule-maxlength']);
-
+
if($default_val == null) {
$default_val = $defaultvalue;
}
@@ -520,7 +521,7 @@ public static function input($module, $field_name, $default_val = null, $require
if(isset($row) && isset($row->$field_name)) {
$default_val = $row->$field_name;
}
-
+
if(starts_with($popup_vals, "@")) {
$popup_vals = LAFormMaker::process_values($popup_vals);
$out .= '
';
@@ -552,7 +553,7 @@ public static function input($module, $field_name, $default_val = null, $require
}
case 'String':
$out .= '
' . $label . $required_ast . ' : ';
-
+
if($default_val == null) {
$default_val = $defaultvalue;
}
@@ -564,7 +565,7 @@ public static function input($module, $field_name, $default_val = null, $require
break;
case 'Taginput':
$out .= '
' . $label . $required_ast . ' : ';
-
+
if(isset($params['data-rule-maxlength'])) {
$params['maximumSelectionLength'] = $params['data-rule-maxlength'];
unset($params['data-rule-maxlength']);
@@ -573,12 +574,12 @@ public static function input($module, $field_name, $default_val = null, $require
$params['rel'] = "taginput";
$params['data-placeholder'] = "Add multiple " . str_plural($label);
unset($params['placeholder']);
-
+
// Override the edit value
if(isset($row) && isset($row->$field_name)) {
$default_val = json_decode($row->$field_name);
}
-
+
if($default_val == null) {
$defaultvalue2 = json_decode($defaultvalue);
if(is_array($defaultvalue2)) {
@@ -598,10 +599,10 @@ public static function input($module, $field_name, $default_val = null, $require
break;
case 'Textarea':
$out .= '
' . $label . $required_ast . ' : ';
-
+
$params['cols'] = 30;
$params['rows'] = 3;
-
+
if($default_val == null) {
$default_val = $defaultvalue;
}
@@ -609,12 +610,12 @@ public static function input($module, $field_name, $default_val = null, $require
if(isset($row) && isset($row->$field_name)) {
$default_val = $row->$field_name;
}
-
+
$out .= Form::textarea($field_name, $default_val, $params);
break;
case 'TextField':
$out .= '
' . $label . $required_ast . ' : ';
-
+
if($default_val == null) {
$default_val = $defaultvalue;
}
@@ -622,12 +623,12 @@ public static function input($module, $field_name, $default_val = null, $require
if(isset($row) && isset($row->$field_name)) {
$default_val = $row->$field_name;
}
-
+
$out .= Form::text($field_name, $default_val, $params);
break;
case 'URL':
$out .= '
' . $label . $required_ast . ' : ';
-
+
if($default_val == null) {
$default_val = $defaultvalue;
}
@@ -635,7 +636,7 @@ public static function input($module, $field_name, $default_val = null, $require
if(isset($row) && isset($row->$field_name)) {
$default_val = $row->$field_name;
}
-
+
$params['data-rule-url'] = "true";
$out .= Form::text($field_name, $default_val, $params);
break;
@@ -646,7 +647,7 @@ public static function input($module, $field_name, $default_val = null, $require
return "";
}
}
-
+
/**
* Processes the populated values for Multiselect / Taginput / Dropdown
* get data from module / table whichever is found if starts with '@'
@@ -657,11 +658,11 @@ public static function process_values($json)
$out = array();
// Check if populated values are from Module or Database Table
if(is_string($json) && starts_with($json, "@")) {
-
+
// Get Module / Table Name
$json = str_ireplace("@", "", $json);
$table_name = strtolower(str_plural($json));
-
+
// Search Module
$module = Module::getByTable($table_name);
if(isset($module->id)) {
@@ -729,7 +730,7 @@ public static function process_values($json)
}
return $out;
}
-
+
/**
* Display field is CRUDs View show.blade.php with Label
*
@@ -744,22 +745,22 @@ public static function display($module, $field_name, $class = 'form-control')
{
// Check Field View Access
if(Module::hasFieldAccess($module->id, $module->fields[$field_name]['id'], $access_type = "view")) {
-
+
$fieldObj = $module->fields[$field_name];
$label = $module->fields[$field_name]['label'];
$field_type = $module->fields[$field_name]['field_type'];
$field_type = ModuleFieldTypes::find($field_type);
-
+
$row = null;
if(isset($module->row)) {
$row = $module->row;
}
-
+
$out = '
';
return $out;
@@ -957,7 +958,7 @@ public static function display($module, $field_name, $class = 'form-control')
return "";
}
}
-
+
/**
* Print complete add/edit form for Module
*
@@ -979,7 +980,7 @@ public static function form($module, $fields = [])
}
return $out;
}
-
+
/**
* Check Whether User has Module Access
* Work like @if blade directive of Laravel
@@ -994,7 +995,7 @@ public static function la_access($module_id, $access_type = "view", $user_id = 0
// Check Module access by hasAccess method
return Module::hasAccess($module_id, $access_type, $user_id);
}
-
+
/**
* Check Whether User has Module Field Access
*
@@ -1011,4 +1012,4 @@ public static function la_field_access($module_id, $field_id, $access_type = "vi
// Check Module Field access by hasFieldAccess method
return Module::hasFieldAccess($module_id, $field_id, $access_type, $user_id);
}
-}
\ No newline at end of file
+}
diff --git a/src/routes.php b/src/routes.php
index 551f9f20..f7e914e3 100644
--- a/src/routes.php
+++ b/src/routes.php
@@ -12,9 +12,9 @@
Route::group([
'namespace' => 'Dwij\Laraadmin\Controllers',
'as' => $as,
- 'middleware' => ['web', 'auth', 'permission:ADMIN_PANEL', 'role:SUPER_ADMIN']
+ 'middleware' => ['web', 'auth', 'permission:ADMIN_PANEL']
], function () {
-
+
/* ================== Modules ================== */
Route::resource(config('laraadmin.adminRoute') . '/modules', 'ModuleController');
Route::resource(config('laraadmin.adminRoute') . '/module_fields', 'FieldController');
@@ -30,7 +30,7 @@
Route::post(config('laraadmin.adminRoute') . '/get_module_files/{module_id}', 'ModuleController@get_module_files');
Route::post(config('laraadmin.adminRoute') . '/module_update', 'ModuleController@update');
Route::post(config('laraadmin.adminRoute') . '/module_field_listing_show', 'FieldController@module_field_listing_show_ajax');
-
+
/* ================== Code Editor ================== */
Route::get(config('laraadmin.adminRoute') . '/lacodeeditor', function () {
if(file_exists(resource_path("views/la/editor/index.blade.php"))) {
@@ -40,14 +40,14 @@
return View('la.editor.install');
}
});
-
+
/* ================== Menu Editor ================== */
Route::resource(config('laraadmin.adminRoute') . '/la_menus', 'MenuController');
Route::post(config('laraadmin.adminRoute') . '/la_menus/update_hierarchy', 'MenuController@update_hierarchy');
-
+
/* ================== Configuration ================== */
Route::resource(config('laraadmin.adminRoute') . '/la_configs', '\App\Http\Controllers\LA\LAConfigController');
-
+
Route::group([
'middleware' => 'role'
], function () {