public function edit($model, RM_User_Services $service, $request, $params)
 {
     if (isset($request->req['user_id'])) {
         if ($this->mv_handler->validateForm("rm_edit_user")) {
             if (isset($request->req['user_password']) && isset($request->req['user_password_conf'])) {
                 if ($request->req['user_password'] && $request->req['user_password_conf'] && $request->req['user_id']) {
                     $service->reset_user_password($request->req['user_password'], $request->req['user_password_conf'], $request->req['user_id']);
                 }
                 $service->set_user_role($request->req['user_id'], $request->req['user_role']);
             } else {
                 die(RM_UI_Strings::get('MSG_USER_PASS_NOT_SET'));
             }
             $this->view($model, $service, $request, $params);
         } else {
             if (!isset($request->req['rm_submitted'])) {
                 $this->mv_handler->clearFormErrors("rm_edit_user");
             }
             $view_data = new stdClass();
             $view_data->user = $service->get_user_by('id', $request->req['user_id']);
             $view_data->roles = RM_Utilities::user_role_dropdown(false);
             $view = $this->mv_handler->setView('user_edit');
             $view->render($view_data);
         }
     }
 }