diff --git a/app/controllers/admin/CustomFieldsController.php b/app/controllers/admin/CustomFieldsController.php index 1ea0801553..d952006353 100644 --- a/app/controllers/admin/CustomFieldsController.php +++ b/app/controllers/admin/CustomFieldsController.php @@ -53,8 +53,19 @@ class CustomFieldsController extends \BaseController { public function associate($id) { - print "ID is: $id"; + //print "ID is: $id"; $set=CustomFieldset::find($id); + //print_r($set->fields()); + foreach($set->fields AS $field) { + //print_r($field); + //print "Field ID of this particular field is:".$field->id.", and we are checking for: ".Input::get('field_id'); + if($field->id == Input::get('field_id')) { + //print "I want to redirect back in failure"; + //exit(-2); + return Redirect::route("admin.custom_fields.show",[$id])->withInput()->withErrors(['field_id' => "Field already added"]); + } + } + exit(-1); $results=$set->fields()->attach(Input::get('field_id'),["required" => (Input::get('required') == "on"),"order" => Input::get('order')]); //return "I assoced it. Results: $results"; return Redirect::route("admin.custom_fields.show",[$id]); //redirect(["asdf" => "alskdjf"]); @@ -101,13 +112,21 @@ class CustomFieldsController extends \BaseController { //print_r($parameters); // + $custom_fields_list=["" => "Add New Field to Fieldset"] + CustomField::lists("name","id"); + // print_r($custom_fields_list); $maxid=0; foreach($cfset->fields AS $field) { + // print "Looking for: ".$field->id; if($field->pivot->order > $maxid) { $maxid=$field->pivot->order; } + if(isset($custom_fields_list[$field->id])) { + // print "Found ".$field->id.", so removing it.
"; + unset($custom_fields_list[$field->id]); + } } - return View::make("backend.custom_fields.show")->with("custom_fieldset",$cfset)->with("maxid",$maxid+1); + + return View::make("backend.custom_fields.show")->with("custom_fieldset",$cfset)->with("maxid",$maxid+1)->with("custom_fields_list",$custom_fields_list); } diff --git a/app/views/backend/custom_fields/show.blade.php b/app/views/backend/custom_fields/show.blade.php index 6a92f53b03..04a992f27d 100644 --- a/app/views/backend/custom_fields/show.blade.php +++ b/app/views/backend/custom_fields/show.blade.php @@ -11,6 +11,7 @@ {{ Form::open(['route' => ["admin.custom_fields.associate",$custom_fieldset->id]]) }} {{ Form::checkbox("required","on") }}Required? {{ Form::text("order",$maxid)}} -{{ Form::select("field_id",["" => "Add New Field to Fieldset"] + CustomField::lists("name","id"),"",["onchange" => "document.forms[0].submit()"]) }} +{{ Form::select("field_id",$custom_fields_list,"",["onchange" => "document.forms[0].submit()"]) }} +first('field_id'); ?>
{{link_to_route("admin.custom_fields.index","Back to Custom Fieldset List")}} @stop