def view_profile(request): user = get_object_or_404(Dojo_User, pk=request.user.id) try: user_contact = UserContactInfo.objects.get(user=user) except UserContactInfo.DoesNotExist: user_contact = None form = DojoUserForm(instance=user) if user_contact is None: contact_form = UserContactInfoForm() else: contact_form = UserContactInfoForm(instance=user_contact) if request.method == 'POST': form = DojoUserForm(request.POST, instance=user) contact_form = UserContactInfoForm(request.POST, instance=user_contact) if form.is_valid() and contact_form.is_valid(): form.save() contact = contact_form.save(commit=False) contact.user = user contact.save() messages.add_message(request, messages.SUCCESS, 'Profile updated successfully.', extra_tags='alert-success') add_breadcrumb(title="User Profile - " + user.get_full_name(), top_level=True, request=request) return render(request, 'dojo/profile.html', { 'name': 'Engineer Profile', 'metric': False, 'user': user, 'form': form, 'contact_form': contact_form})
def view_profile(request): user = get_object_or_404(Dojo_User, pk=request.user.id) user_contact = user.usercontactinfo if hasattr(user, 'usercontactinfo') else None form = DojoUserForm(instance=user) if user_contact is None: contact_form = UserContactInfoForm() else: contact_form = UserContactInfoForm(instance=user_contact) if request.method == 'POST': form = DojoUserForm(request.POST, instance=user) contact_form = UserContactInfoForm(request.POST, instance=user_contact) if form.is_valid() and contact_form.is_valid(): form.save() contact = contact_form.save(commit=False) contact.user = user contact.save() messages.add_message(request, messages.SUCCESS, 'Profile updated successfully.', extra_tags='alert-success') add_breadcrumb(title="User Profile - " + user.get_full_name(), top_level=True, request=request) return render( request, 'dojo/profile.html', { 'name': 'Engineer Profile', 'metric': False, 'user': user, 'form': form, 'contact_form': contact_form })
def view_profile(request): user = get_object_or_404(Dojo_User, pk=request.user.id) form = DojoUserForm(instance=user) group_members = get_authorized_group_members_for_user(user) user_contact = user.usercontactinfo if hasattr(user, 'usercontactinfo') else None if user_contact is None: contact_form = UserContactInfoForm() else: contact_form = UserContactInfoForm(instance=user_contact) global_role = user.global_role if hasattr(user, 'global_role') else None if global_role is None: previous_global_role = None global_role_form = GlobalRoleForm() else: previous_global_role = global_role.role global_role_form = GlobalRoleForm(instance=global_role) if request.method == 'POST': form = DojoUserForm(request.POST, instance=user) contact_form = UserContactInfoForm(request.POST, instance=user_contact) global_role_form = GlobalRoleForm(request.POST, instance=global_role) if form.is_valid() and contact_form.is_valid( ) and global_role_form.is_valid(): form.save() contact = contact_form.save(commit=False) contact.user = user contact.save() request_user = get_current_user() global_role = global_role_form.save(commit=False) if global_role.role != previous_global_role and not request_user.is_superuser: global_role.role = previous_global_role messages.add_message( request, messages.WARNING, 'Only superusers are allowed to change their global role.', extra_tags='alert-warning') global_role.user = user global_role.save() messages.add_message(request, messages.SUCCESS, 'Profile updated successfully.', extra_tags='alert-success') add_breadcrumb(title="User Profile - " + user.get_full_name(), top_level=True, request=request) return render( request, 'dojo/profile.html', { 'name': 'Engineer Profile', 'metric': False, 'user': user, 'form': form, 'contact_form': contact_form, 'global_role_form': global_role_form, 'group_members': group_members })
def view_profile(request): user = get_object_or_404(Dojo_User, pk=request.user.id) form = DojoUserForm(instance=user) if request.method == 'POST': form = DojoUserForm(request.POST, instance=user) if form.is_valid(): form.save() messages.add_message(request, messages.SUCCESS, 'Profile updated successfully.', extra_tags='alert-success') add_breadcrumb(title="Engineer Profile - " + user.get_full_name(), top_level=True, request=request) return render(request, 'dojo/profile.html', { 'name': 'Engineer Profile', 'metric': False, 'user': user, 'form': form})