diff --git a/users/templates/contractor_office.html b/users/templates/contractor_office.html index 8ccc6c4..d6111e4 100644 --- a/users/templates/contractor_office.html +++ b/users/templates/contractor_office.html @@ -346,7 +346,6 @@ {% if contractor.has_team %} var $contractorSelect = $('.-contractor-select').first() var $addTeamMemberModal = $('#addTeamMemberModal') -{# var addTeamMemberUrl = '/users/add-team-member/%id%/'#} var contractorExcludeIds = JSON.parse({{ team_invitation_exclude_contractor_ids|json }}) initContractorSelect($contractorSelect, contractorExcludeIds) @@ -354,17 +353,26 @@ $addTeamMemberModal.find('.-action-button').first().on('click', function($evt) { $addTeamMemberModal.modal('hide') - socketMain.add_message({ - format_type: 'add_message_contact', - - data: { - sender_id: '{{ contractor.pk }}', - recipent_id: String($contractorSelect.select2('val')), - chat_message: 'Приглашаю в группу http://{{ request.get_host }}{% url 'users:team-profile' pk=contractor.team.pk %}', - }, - }) + var contractor2Id = $contractorSelect.select2('val') + var createTeamInvitationUrl = format('/users/create-team-invitation/%s/', contractor2Id) - $.jGrowl('Приглашение успешно отправлено') + $.post(createTeamInvitationUrl).then(function(res) { + if (res.status === 'success') { + socketMain.add_message({ + format_type: 'add_message_contact', + + data: { + sender_id: '{{ contractor.pk }}', + recipent_id: String(contractor2Id), + chat_message: 'Приглашаю в группу http://{{ request.get_host }}{% url 'users:accept-team-invitation' owner_id=contractor.pk %}', + }, + }) + + $.jGrowl('Приглашение успешно отправлено') + } else { + $.jGrowl('Произошла ошибка при отправке приглашения') + } + }) }) {% endif %} }()) diff --git a/users/templates/contractor_profile.html b/users/templates/contractor_profile.html index 1832dc0..587fa5e 100644 --- a/users/templates/contractor_profile.html +++ b/users/templates/contractor_profile.html @@ -725,6 +725,7 @@ $inviteBtn.fadeOut() } else { $.jGrowl('Произошла ошибка при отправке приглашения') + $inviteBtn.fadeOut() } }) }) diff --git a/users/views.py b/users/views.py index 3c82904..7087560 100644 --- a/users/views.py +++ b/users/views.py @@ -820,9 +820,11 @@ class AcceptTeamInvitation(NoCsrfMixin, ContractorRequiredMixin, View): if team_invitation and team: team.contractors.add(contractor2) team_invitation.delete() - return JsonResponse({'status': 'success'}) + + messages.info(request, 'Вы успешно вступили в группу') + return redirect('users:team-profile', pk=team.pk) else: - return JsonResponse({'status': 'error'}) + raise Http404 # import code; code.interact(local=dict(globals(), **locals()))