public function add($model, $service, $request, $params)
 {
     if (isset($request->req['rm_form_id'])) {
         $fields_data = $service->get_all_form_fields($request->req['rm_form_id']);
     } else {
         die(RM_UI_Strings::get('MSG_NO_FORM_SELECTED'));
     }
     if ($this->mv_handler->validateForm("add-field")) {
         $model->set($request->req);
         if (isset($request->req['field_id'])) {
             $service->update($model, $service, $request, $params);
         } else {
             $service->add($model, $service, $request, $params);
         }
         RM_Utilities::redirect(admin_url('/admin.php?page=' . $params['xml_loader']->request_tree->success . '&rm_form_id=' . $request->req["rm_form_id"]));
         //$this->view->render();
     } else {
         // Edit for request
         if (isset($request->req['rm_field_id'])) {
             $model->load_from_db($request->req['rm_field_id']);
         }
         $data = new stdClass();
         $data->model = $model;
         $data->selected_field = isset($request->req['rm_field_type']) ? $request->req['rm_field_type'] : null;
         $data->form_id = $request->req['rm_form_id'];
         $data->paypal_fields = RM_Utilities::get_paypal_field_types($service);
         $view = $this->mv_handler->setView("field_add");
         $view->render($data);
     }
 }
 public function add($model, $service, $request, $params)
 {
     if (isset($request->req['rm_form_id'])) {
         $fields_data = $service->get_all_form_fields($request->req['rm_form_id']);
     } else {
         die(RM_UI_Strings::get('MSG_NO_FORM_SELECTED'));
     }
     if (isset($request->req['rm_form_page_no'])) {
         $form_page_no = $request->req['rm_form_page_no'];
     } else {
         $form_page_no = 1;
     }
     if ($this->mv_handler->validateForm("add-field")) {
         $request->req['page_no'] = $form_page_no;
         $new_field_order = intval($service->get_fields_highest_order($request->req['rm_form_id'], $form_page_no)) + 1;
         $request->req['field_order'] = $new_field_order;
         //Setup icon props
         $f_icon = new stdClass();
         $f_icon->codepoint = $request->req['input_selected_icon_codepoint'];
         $f_icon->fg_color = $request->req['icon_fg_color'];
         $f_icon->bg_color = $request->req['icon_bg_color'];
         $f_icon->shape = $request->req['icon_shape'];
         $request->req['icon'] = $f_icon;
         /////////////////////
         $model->set($request->req);
         if (isset($request->req['field_id'])) {
             $service->update($model, $service, $request, $params);
         } else {
             $service->add($model, $service, $request, $params);
         }
         RM_Utilities::redirect(admin_url('/admin.php?page=' . $params['xml_loader']->request_tree->success . '&rm_form_id=' . $request->req["rm_form_id"] . '&rm_form_page_no=' . $form_page_no));
         //$this->view->render();
     } else {
         // Edit for request
         if (isset($request->req['rm_field_id'])) {
             $model->load_from_db($request->req['rm_field_id']);
         }
         $data = new stdClass();
         $data->model = $model;
         $data->selected_field = isset($request->req['rm_field_type']) ? $request->req['rm_field_type'] : null;
         $data->form_id = $request->req['rm_form_id'];
         $data->paypal_fields = RM_Utilities::get_paypal_field_types($service);
         $view = $this->mv_handler->setView("field_add");
         $view->render($data);
     }
 }