Commit 915ee753 authored by Daniel Brüning's avatar Daniel Brüning
Browse files

Messages when changing personal data or password are now shown on screen (again, bug fix)

parent e9cdc24b
Pipeline #81 passed with stage
in 2 minutes and 51 seconds
......@@ -507,7 +507,14 @@ pub fn show_profile<T: MedalConnection>(conn: &T, session_token: String, user_id
data.insert("csrftoken".to_string(), to_json(&session.csrf_token));
// data.insert("query_string".to_string(), to_json(&query_string.unwrap()));
if let Some(query) = query_string {
  • Hier (user_id = Some, also wenn man über einen Teilnahmecode teilnimmt) passiert jetzt das gleiche wie, bei user_id = None (also wenn man als einzelner Nutzer teilnimmt): Der query-string wird verarbeitet

Please register or sign in to reply
if query.starts_with("status=") {
let status: &str = &query[7..];
if ["NothingChanged", "DataChanged", "PasswordChanged", "PasswordMissmatch"].contains(&status) {
data.insert((status).to_string(), to_json(&true));
}
}
}
}
}
......
......@@ -507,22 +507,24 @@ fn profile_post(req: &mut Request) -> IronResult<Response> {
iexpect!(formdata.get("grade"))[0].parse::<u8>().unwrap_or(0))
};
//TODO: use profilechangeresult
let _profilechangeresult = with_conn![functions::edit_profile,
req,
session_token,
None,
csrf_token,
firstname,
lastname,
street,
zip,
city,
pwd,
pwd_repeat,
grade].aug(req)?;
Ok(Response::with((status::Found, Redirect(url_for!(req, "profile")))))
let profilechangeresult = with_conn![functions::edit_profile,
  • Da profilechangeresult jetzt verwendet wird, muss es nicht länger als _profilechangeresult bezeichnet werden. (Der Unterstrich sorgt nur dafür, dass der Compiler keine Warnung ausgibt, wenn eine Variable existiert, die nie verwendet wird).

Please register or sign in to reply
req,
session_token,
None,
csrf_token,
firstname,
lastname,
street,
zip,
city,
pwd,
pwd_repeat,
grade].aug(req)?;
Ok(Response::with((status::Found,
Redirect(iron::Url::parse(&format!("{}?status={:?}",
&url_for!(req, "profile"),
profilechangeresult)).unwrap()))))
  • Hier lag der eigentliche Grund, weshalb keine Benachrichtigungen mehr angezeigt wurden, wenn man seine Profildaten ändert:

    Es fehlte der Teil, in dem das profilechangeresult als query-string in die url eingebaut wird. Den Teil in den Klammern von Redirect() habe ich aus dem alten change_password-Branch aus der gleichen Stelle kopiert, wo das beschriebene Problem schon mal gelöst war, und angepasst.

Please register or sign in to reply
}
fn user(req: &mut Request) -> IronResult<Response> {
......@@ -554,22 +556,25 @@ fn user_post(req: &mut Request) -> IronResult<Response> {
iexpect!(formdata.get("grade"))[0].parse::<u8>().unwrap_or(0))
};
//TODO: use profilechangeresult
let _profilechangeresult = with_conn![functions::edit_profile,
req,
session_token,
Some(user_id),
csrf_token,
firstname,
lastname,
street,
zip,
city,
pwd,
pwd_repeat,
grade].aug(req)?;
Ok(Response::with((status::Found, Redirect(url_for!(req, "user", "userid" => format!("{}",user_id))))))
let profilechangeresult = with_conn![functions::edit_profile,
req,
session_token,
Some(user_id),
csrf_token,
firstname,
lastname,
street,
zip,
city,
pwd,
pwd_repeat,
grade].aug(req)?;
Ok(Response::with((status::Found,
Redirect(iron::Url::parse(&format!("{}?status={:?}",
&url_for!(req, "user", "userid" => format!("{}",user_id)),
profilechangeresult)).unwrap()))))
//old: Ok(Response::with((status::Found, Redirect(url_for!(req, "user", "userid" => format!("{}",user_id))))))
  • Hier hab ich genau das gleiche gemacht wie oben. Da ich diesen Fall aber nicht testen konnte (man kann sich ja zur Zeit noch nicht über einen Login-Code anmelden, oder?), habe ich die alte Zeile erst mal noch stehen gelassen und auskommentiert.

Please register or sign in to reply
}
#[derive(Deserialize, Debug)]
......
......@@ -66,22 +66,22 @@
</form>
<div style="color:green; font-weight:bold">
{{#if nothing_changed}}
{{#if NothingChanged}}
<p>Keine Änderungen.</p>
{{/if}}
{{#if data_changed}}
{{#if DataChanged}}
<p>Daten wurden erfolgreich geändert.</p>
{{/if}}
{{#if password_changed}}
{{#if PasswordChanged}}
<p>Passwort wurde erfolgreich geändert.</p>
{{/if}}
{{#if password_missmatch}}
{{#if PasswordMissmatch}}
  • Hier mussten die Schreibweisen angepasst werden auf die Art, wie Rust vorgibt, wie die Varianten eines Enums geschrieben werden sollen (UpperCamelCase).

    In functions.rs und überall sonst habe ich diese Änderung bereits durchgeführt, als ich die Warnungen entfernt habe.

    Edited by Daniel Brüning
Please register or sign in to reply
<p style="color:red;">Die eingegebenen Paswörter stimmen nicht überein. Passwort wurde nicht geändert.</p>
{{/if}}
<div>
</div>
<a href="/">Zur Startseite</a>
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment