Browse Source

Merge ba6176d36d into a2ad1dc7c3

pull/6262/merge
Timshel 3 weeks ago
committed by GitHub
parent
commit
1b97e0ff9b
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 25
      src/db/models/user.rs
  2. 4
      src/static/scripts/admin_users.js

25
src/db/models/user.rs

@ -283,24 +283,17 @@ impl User {
self.updated_at = Utc::now().naive_utc();
db_run! {conn:
sqlite, mysql {
match diesel::replace_into(users::table)
.values(UserDb::to_db(self))
mysql {
let value = UserDb::to_db(self);
diesel::insert_into(users::table)
.values(&value)
.on_conflict(diesel::dsl::DuplicatedKeys)
.do_update()
.set(&value)
.execute(conn)
{
Ok(_) => Ok(()),
// Record already exists and causes a Foreign Key Violation because replace_into() wants to delete the record first.
Err(diesel::result::Error::DatabaseError(diesel::result::DatabaseErrorKind::ForeignKeyViolation, _)) => {
diesel::update(users::table)
.filter(users::uuid.eq(&self.uuid))
.set(UserDb::to_db(self))
.execute(conn)
.map_res("Error saving user")
}
Err(e) => Err(e.into()),
}.map_res("Error saving user")
.map_res("Error saving user")
}
postgresql {
postgresql, sqlite {
let value = UserDb::to_db(self);
diesel::insert_into(users::table) // Insert or update
.values(&value)

4
src/static/scripts/admin_users.js

@ -33,11 +33,11 @@ function deleteSSOUser(event) {
alert("Required parameters not found!");
return false;
}
const input_email = prompt(`To delete user "${email}", please type the email below`);
const input_email = prompt(`To delete user "${email}" SSO association, please type the email below`);
if (input_email != null) {
if (input_email == email) {
_delete(`${BASE_URL}/admin/users/${id}/sso`,
"User SSO Associtation deleted correctly",
"User SSO association deleted correctly",
"Error deleting user SSO association"
);
} else {

Loading…
Cancel
Save