| OLD | NEW |
| 1 define discourse::admin( | 1 define discourse::admin( |
| 2 $email = $title, | 2 $email = $title, |
| 3 $ensure = 'present' | 3 $ensure = 'present' |
| 4 ) { | 4 ) { |
| 5 # Attempt some escaping | 5 # Attempt some escaping |
| 6 $escaped_email = regsubst($email, '[\'\\]', '\\\1', 'G') | 6 $escaped_email = regsubst($email, '[\'\\]', '\\\1', 'G') |
| 7 | 7 |
| 8 case $ensure { | 8 case $ensure { |
| 9 default: { | 9 default: { |
| 10 err("unknown ensure value ${ensure}") | 10 err("unknown ensure value ${ensure}") |
| 11 } | 11 } |
| 12 present: { | 12 present: { |
| 13 # Only confirmed accounts should be made admins | 13 # Only confirmed accounts should be made admins |
| 14 postgresql_psql {"UPDATE users SET admin = true WHERE email = '$escaped_em
ail' AND EXISTS (SELECT * FROM email_tokens WHERE email_tokens.user_id = users.i
d AND email_tokens.email = users.email AND email_tokens.confirmed)": | 14 postgresql_psql {"UPDATE users SET admin = true WHERE email = '$escaped_em
ail' AND EXISTS (SELECT * FROM email_tokens WHERE email_tokens.user_id = users.i
d AND email_tokens.email = users.email AND email_tokens.confirmed)": |
| 15 db => 'discourse', | 15 db => 'discourse', |
| 16 psql_user => 'discourse', | 16 psql_user => 'discourse' |
| 17 unless => 'SELECT false' | |
| 18 } | 17 } |
| 19 } | 18 } |
| 20 absent: { | 19 absent: { |
| 21 postgresql_psql {"UPDATE users SET admin = false WHERE email = '$escaped_e
mail'": | 20 postgresql_psql {"UPDATE users SET admin = false WHERE email = '$escaped_e
mail'": |
| 22 db => 'discourse', | 21 db => 'discourse', |
| 23 psql_user => 'discourse', | 22 psql_user => 'discourse' |
| 24 unless => 'SELECT false' | |
| 25 } | 23 } |
| 26 } | 24 } |
| 27 } | 25 } |
| 28 } | 26 } |
| OLD | NEW |