Changeset 751fac6b567d675afee10e627efb5cf786ce5c83 for http/smanage.cc
- Timestamp:
- 08/24/10 21:31:46 (21 months ago)
- Children:
- 7eb42bed950e3f81ef9f0d39432e07c55f12cc22
- Parents:
- ec0da3f87768820f9ca9e8065c7998e9d825bd4c
- git-committer:
- Antti-Juhani Kaijanaho <antti-juhani@…> (08/24/10 21:31:46)
- Files:
-
- 1 modified
-
http/smanage.cc (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
http/smanage.cc
rd0c602a r751fac6 51 51 void reload_action(boost::shared_ptr<request>, 52 52 tlate::data_model::ptr, 53 std::multimap<std::string,std::string> &fb,54 53 std::string error_message = ""); 55 54 56 55 void post_action(boost::shared_ptr<request> req, 57 tlate::data_model::ptr, 58 std::multimap<std::string,std::string> &fb); 56 tlate::data_model::ptr); 59 57 }; 60 58 61 59 void smanage::reload_action(boost::shared_ptr<request> req, 62 60 tlate::data_model::ptr am, 63 std::multimap<std::string,std::string> &fb,64 61 std::string error_message) 65 62 { 66 typedef std::multimap<std::string,std::string>::const_iterator67 cit_type;68 std::pair<cit_type, cit_type> its;69 70 63 if (!error_message.empty()) 71 64 am->insert("error", html::quote(error_message, false)); 72 am->insert("diname", lookup(fb,"diname"));73 am->insert("diaddr", lookup(fb,"diaddr"));74 std::string deaddr = lookup(fb,"deaddr");65 am->insert("diname", req->get_form_field("diname")); 66 am->insert("diaddr", req->get_form_field("diaddr")); 67 std::string deaddr = req->get_form_field("deaddr"); 75 68 am->insert("deaddr", deaddr); 76 69 db::user::ptr u = req->get_session()->get_user(); … … 81 74 am->insert("verify"); 82 75 83 if (fb.find("allow_clear") != fb.end()) 84 am->insert("allow_clear", lookup(fb, "allow_clear")); 76 if (req->has_form_field("allow_clear")) 77 am->insert("allow_clear", 78 req->get_form_field("allow_clear")); 85 79 } 86 80 87 81 void smanage::post_action(boost::shared_ptr<request> req, 88 tlate::data_model::ptr am, 89 std::multimap<std::string,std::string> &fb) 82 tlate::data_model::ptr am) 90 83 { 91 84 std::string (*const pd)(std::string) = uri::percent_decode; … … 93 86 boost::shared_ptr<db::user> u = req->get_session()->get_user(); 94 87 95 u->set_display_name(pd( lookup(fb,"diname")));96 u->set_display_email(pd( lookup(fb,"diaddr")));97 if (u->set_delivery_email(pd( lookup(fb,"deaddr")))) {88 u->set_display_name(pd(req->get_form_field("diname"))); 89 u->set_display_email(pd(req->get_form_field("diaddr"))); 90 if (u->set_delivery_email(pd(req->get_form_field("deaddr")))) { 98 91 u->send_delivery_email_cookie 99 92 (cb, req->get_peer().to_string()); 100 93 } 101 94 u->set_allow_cleartext_password 102 ( fb.find("allow_clear") != fb.end());103 reload_action(req, am, fb,"Saved.");95 (req->has_form_field("allow_clear")); 96 reload_action(req, am, "Saved."); 104 97 } 105 98 … … 121 114 } 122 115 123 std::multimap<std::string,std::string> fb = 124 req->get_form_data(); 125 std::map<std::string,std::string>::const_iterator fbit_ch; 126 std::map<std::string,std::string>::const_iterator fbit_ve; 127 128 fbit_ch = fb.find("change_button"); 129 fbit_ve = fb.find("verify_button"); 130 if (fbit_ch != fb.end()) 116 if (req->has_form_field("change_button")) 131 117 { 132 118 if (req->get_method() == "POST") 133 post_action(req, am , fb);119 post_action(req, am); 134 120 else 135 reload_action(req, am , fb);121 reload_action(req, am); 136 122 137 123 } 138 else if ( fbit_ve != fb.end())124 else if (req->has_form_field("verify_button")) 139 125 { 140 126 boost::shared_ptr<db::user> u = … … 144 130 u->send_delivery_email_cookie 145 131 (cb, req->get_peer().to_string()); 146 reload_action(req, am, fb,132 reload_action(req, am, 147 133 "Verification email has been " 148 134 "sent to " + … … 150 136 } 151 137 else 152 reload_action(req, am , fb);138 reload_action(req, am); 153 139 } 154 140 else … … 166 152 if (u->allow_cleartext_password()) 167 153 am->insert("allow_clear", 168 lookup(fb,"allow_clear"));154 req->get_form_field("allow_clear")); 169 155 } 170 156
