Fixed votersCount.

This commit is contained in:
default 2023-08-08 13:56:12 +02:00
parent 4318e8f9e7
commit 65df883b3f

View file

@ -1257,7 +1257,6 @@ int update_question(snac *user, const char *id)
xs *msg = NULL; xs *msg = NULL;
xs *rcnt = xs_dict_new(); xs *rcnt = xs_dict_new();
xs *z = xs_number_new(0); xs *z = xs_number_new(0);
xs *rcpts = xs_list_new();
xs *lopts = xs_list_new(); xs *lopts = xs_list_new();
xs_list *opts; xs_list *opts;
xs_list *p; xs_list *p;
@ -1286,6 +1285,9 @@ int update_question(snac *user, const char *id)
} }
} }
xs_set s;
xs_set_init(&s);
/* iterate now the children (the votes) */ /* iterate now the children (the votes) */
xs *chld = object_children(id); xs *chld = object_children(id);
p = chld; p = chld;
@ -1307,11 +1309,13 @@ int update_question(snac *user, const char *id)
xs *ucnt = xs_number_new(xs_number_get(cnt) + 1); xs *ucnt = xs_number_new(xs_number_get(cnt) + 1);
rcnt = xs_dict_set(rcnt, name, ucnt); rcnt = xs_dict_set(rcnt, name, ucnt);
rcpts = xs_list_append(rcpts, atto); xs_set_add(&s, atto);
} }
} }
} }
xs *rcpts = xs_set_result(&s);
/* create a new list of options with their new counts */ /* create a new list of options with their new counts */
xs *nopts = xs_list_new(); xs *nopts = xs_list_new();
p = lopts; p = lopts;
@ -1354,6 +1358,7 @@ int update_question(snac *user, const char *id)
/* update the count of voters */ /* update the count of voters */
xs *vcnt = xs_number_new(xs_list_len(rcpts)); xs *vcnt = xs_number_new(xs_list_len(rcpts));
msg = xs_dict_set(msg, "votersCount", vcnt); msg = xs_dict_set(msg, "votersCount", vcnt);
msg = xs_dict_set(msg, "cc", rcpts);
/* store */ /* store */
object_add_ow(id, msg); object_add_ow(id, msg);