diff --git a/Cargo.lock b/Cargo.lock index 201536158fbb54a8660aef9000a1cacd314bc5c8..b6702471066fae296a42dc41381f50f194b4a1bd 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1064,7 +1064,7 @@ checksum = "79c56d6a0b07f9e19282511c83fc5b086364cbae4ba8c7d5f190c3d9b0425a48" [[package]] name = "medal" -version = "1.5.1" +version = "1.5.3" dependencies = [ "bcrypt", "csv", diff --git a/Cargo.toml b/Cargo.toml index c15e1b476af4eb75b243ea11dc1ff7eb43f2722e..52e9ecfe63b730cf231ff765bb55ffaf5bbd606f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,5 +1,5 @@ [package] -version = "1.5.1" +version = "1.5.3" name = "medal" authors = ["Robert Czechowski ", "Daniel BrĂ¼ning "] diff --git a/src/core.rs b/src/core.rs index 71478992af298ff29c677327dda9c6ce5e3a57b1..5edebaa25d6c94497448ece4b6952e34214cbd66 100644 --- a/src/core.rs +++ b/src/core.rs @@ -1391,8 +1391,7 @@ pub fn admin_show_participation(conn: &T, user_id: i32, cont fill_user_data(&user, &mut data); data.insert("userid".to_string(), to_json(&user.id)); - let participation = - conn.get_participation(user.id, contest_id).ok_or(MedalError::AccessDenied)?; + let participation = conn.get_participation(user.id, contest_id).ok_or(MedalError::AccessDenied)?; data.insert("start_date".to_string(), to_json(&self::time::strftime("%FT%T%z", &self::time::at(participation.start)).unwrap())); diff --git a/src/db_conn.base.rs b/src/db_conn.base.rs index dd10a36bfca649cdfa1d49b4a9fd43e1f3202964..fc2011a6c390f37af3c5d1f9da3ace4cd0ee860d 100644 --- a/src/db_conn.base.rs +++ b/src/db_conn.base.rs @@ -421,6 +421,10 @@ impl MedalConnection for Connection { //TODO: use session fn login_with_code(&self, _session: Option<&str>, logincode: &str) -> Result { + if logincode == "" { + return Err(()); + } + let query = "SELECT id FROM session WHERE logincode = $1"; @@ -506,6 +510,10 @@ impl MedalConnection for Connection { //TODO: use session fn create_user_with_groupcode(&self, _session: Option<&str>, groupcode: &str) -> Result { + if groupcode == "" { + return Err(()); + } + let query = "SELECT id FROM usergroup WHERE groupcode = $1"; @@ -947,7 +955,8 @@ impl MedalConnection for Connection { row.get::<_, Option>(16), row.get::<_, Option>(17)), row.get::<_, Option>(18), - row.get::<_, Option>(19), + row.get::<_, Option>(19) + .map(|ts| self::time::strftime("%FT%T%z", &self::time::at(ts)).unwrap()), points)) .unwrap(); }) @@ -1111,8 +1120,8 @@ impl MedalConnection for Connection { WHERE session = $1 AND contest = $2"; self.query_map_one(query, &[&session_id, &contest_id], |row| Participation { contest: contest_id, - user: session_id, - start: row.get(0) }) + user: session_id, + start: row.get(0) }) .ok()? } diff --git a/src/db_conn_postgres.rs b/src/db_conn_postgres.rs index 6293c1cb6e1fcef5eac1f4d700625f2ce4097184..e8cb4945118f05ed69b335bc98f566fb703e5165 100644 --- a/src/db_conn_postgres.rs +++ b/src/db_conn_postgres.rs @@ -533,6 +533,10 @@ impl MedalConnection for Connection { //TODO: use session fn login_with_code(&self, _session: Option<&str>, logincode: &str) -> Result { + if logincode == "" { + return Err(()); + } + let query = "SELECT id FROM session WHERE logincode = $1"; @@ -618,6 +622,10 @@ impl MedalConnection for Connection { //TODO: use session fn create_user_with_groupcode(&self, _session: Option<&str>, groupcode: &str) -> Result { + if groupcode == "" { + return Err(()); + } + let query = "SELECT id FROM usergroup WHERE groupcode = $1"; @@ -1059,7 +1067,8 @@ impl MedalConnection for Connection { row.get::<_, Option>(16), row.get::<_, Option>(17)), row.get::<_, Option>(18), - row.get::<_, Option>(19), + row.get::<_, Option>(19) + .map(|ts| self::time::strftime("%FT%T%z", &self::time::at(ts)).unwrap()), points)) .unwrap(); }) @@ -1223,8 +1232,8 @@ impl MedalConnection for Connection { WHERE session = $1 AND contest = $2"; self.query_map_one(query, &[&session_id, &contest_id], |row| Participation { contest: contest_id, - user: session_id, - start: row.get(0) }) + user: session_id, + start: row.get(0) }) .ok()? } diff --git a/src/db_conn_sqlite_new.rs b/src/db_conn_sqlite_new.rs index cdb6291b60b669acedfe92df5d891eb1284bd7d7..4cc28f7390754b2b7109ced5b692f888052bc4ff 100644 --- a/src/db_conn_sqlite_new.rs +++ b/src/db_conn_sqlite_new.rs @@ -533,6 +533,10 @@ impl MedalConnection for Connection { //TODO: use session fn login_with_code(&self, _session: Option<&str>, logincode: &str) -> Result { + if logincode == "" { + return Err(()); + } + let query = "SELECT id FROM session WHERE logincode = ?1"; @@ -618,6 +622,10 @@ impl MedalConnection for Connection { //TODO: use session fn create_user_with_groupcode(&self, _session: Option<&str>, groupcode: &str) -> Result { + if groupcode == "" { + return Err(()); + } + let query = "SELECT id FROM usergroup WHERE groupcode = ?1"; @@ -1059,7 +1067,8 @@ impl MedalConnection for Connection { row.get::<_, Option>(16), row.get::<_, Option>(17)), row.get::<_, Option>(18), - row.get::<_, Option>(19), + row.get::<_, Option>(19) + .map(|ts| self::time::strftime("%FT%T%z", &self::time::at(ts)).unwrap()), points)) .unwrap(); }) @@ -1223,8 +1232,8 @@ impl MedalConnection for Connection { WHERE session = ?1 AND contest = ?2"; self.query_map_one(query, &[&session_id, &contest_id], |row| Participation { contest: contest_id, - user: session_id, - start: row.get(0) }) + user: session_id, + start: row.get(0) }) .ok()? }