diff --git a/osinaweb/db.sqlite3 b/osinaweb/db.sqlite3 index 5c4f6036..3fb06776 100644 Binary files a/osinaweb/db.sqlite3 and b/osinaweb/db.sqlite3 differ diff --git a/osinaweb/osinacore/add/views.py b/osinaweb/osinacore/add/views.py index ec961b5e..f6f0f102 100644 --- a/osinaweb/osinacore/add/views.py +++ b/osinaweb/osinacore/add/views.py @@ -909,6 +909,7 @@ def add_addressbook(request): country_id = request.POST.get('country') # Optional for now contact_types = request.POST.getlist('contact_type[]') contact_values = request.POST.getlist('contact_value[]') + selected_groups = request.POST.getlist('groups') # Create AddressBook instance address_book = AddressBook.objects.create( @@ -918,6 +919,9 @@ def add_addressbook(request): country_id=country_id if country_id else None, ) + if selected_groups: + address_book.group.set(selected_groups) + for type_, value in zip(contact_types, contact_values): if value: Contact.objects.create(type=type_, contact=value, addressbook=address_book) diff --git a/osinaweb/osinacore/edit/views.py b/osinaweb/osinacore/edit/views.py index 13af6839..51e0179b 100644 --- a/osinaweb/osinacore/edit/views.py +++ b/osinaweb/osinacore/edit/views.py @@ -667,6 +667,7 @@ def mark_point_completed_task_page(request, point_id, task_id): def edit_addressbook(request, addressbook_id): address = get_object_or_404(AddressBook, id=addressbook_id) countries = Country.objects.all() + groups = Group.objects.all() if request.method == 'POST': address.first_name = request.POST.get('first_name') @@ -674,6 +675,9 @@ def edit_addressbook(request, addressbook_id): address.last_name = request.POST.get('last_name') address.country_id = request.POST.get('country') address.save() + selected_groups = request.POST.getlist('groups') + selected_groups_ids = [int(gid) for gid in selected_groups if gid.isdigit()] + address.group.set(selected_groups_ids) # Delete old contacts address.contact_set.all().delete() @@ -690,5 +694,6 @@ def edit_addressbook(request, addressbook_id): return render(request, 'edit_templates/edit-addressbook.html', { "address": address, "countries": countries, + "groups": groups, }) diff --git a/osinaweb/osinacore/templates/add_templates/add-addressbook.html b/osinaweb/osinacore/templates/add_templates/add-addressbook.html index bffe8104..89834f08 100644 --- a/osinaweb/osinacore/templates/add_templates/add-addressbook.html +++ b/osinaweb/osinacore/templates/add_templates/add-addressbook.html @@ -36,6 +36,16 @@ {% endfor %} +
Hold down Ctrl (Windows) or Command (Mac) to select multiple groups.
+Country: {{ address.country.name }}
Groups:
+Contacts:
diff --git a/osinaweb/osinacore/templates/edit_templates/edit-addressbook.html b/osinaweb/osinacore/templates/edit_templates/edit-addressbook.html index 089c91f9..4490aaf4 100644 --- a/osinaweb/osinacore/templates/edit_templates/edit-addressbook.html +++ b/osinaweb/osinacore/templates/edit_templates/edit-addressbook.html @@ -43,7 +43,19 @@ {% endfor %}Hold down Ctrl (Windows) or Cmd (Mac) to select multiple groups.
+{{g.name}}
+ {% endfor %} +