aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorHolger Weiss <holger@zedat.fu-berlin.de>2016-06-22 22:36:27 +0200
committerHolger Weiss <holger@zedat.fu-berlin.de>2016-06-22 22:36:27 +0200
commit065f5272e640ea646d8d56343e3acae757773f00 (patch)
tree5d6f2f869437aaa030a56f0c6ea1e181a0a9e87e /src
parentAdd some tests for {shaper,access}_rules_validator (diff)
mod_blocking_sql: Handle default list corner case
Handle the situation where a list of the name "Blocked contacts" was created by an XEP-0016 client, but no default list exists.
Diffstat (limited to 'src')
-rw-r--r--src/mod_blocking_sql.erl7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/mod_blocking_sql.erl b/src/mod_blocking_sql.erl
index fb8380e2c..bffe5bd25 100644
--- a/src/mod_blocking_sql.erl
+++ b/src/mod_blocking_sql.erl
@@ -25,7 +25,12 @@ process_blocklist_block(LUser, LServer, Filter) ->
Default = case mod_privacy_sql:sql_get_default_privacy_list_t(LUser) of
{selected, []} ->
Name = <<"Blocked contacts">>,
- mod_privacy_sql:sql_add_privacy_list(LUser, Name),
+ case mod_privacy_sql:sql_get_privacy_list_id_t(LUser, Name) of
+ {selected, []} ->
+ mod_privacy_sql:sql_add_privacy_list(LUser, Name);
+ {selected, [{_ID}]} ->
+ ok
+ end,
mod_privacy_sql:sql_set_default_privacy_list(LUser, Name),
Name;
{selected, [{Name}]} -> Name