def edit_profile(request): """ Show and edit user profile. """ username = request.user.username form_class = DetailedProfileForm if request.method == 'POST': form = form_class(request.POST) if form.is_valid(): form.save(username=username) messages.success(request, _(u'Successfully edited profile.')) # refresh nickname cache refresh_cache(request.user.username) return HttpResponseRedirect(reverse('edit_profile')) else: messages.error(request, _(u'Failed to edit profile')) else: profile = Profile.objects.get_profile_by_user(username) d_profile = DetailedProfile.objects.get_detailed_profile_by_user( username) init_dict = {} if profile: init_dict['nickname'] = profile.nickname init_dict['intro'] = profile.intro if d_profile: init_dict['department'] = d_profile.department init_dict['telephone'] = d_profile.telephone form = form_class(init_dict) # common logic try: server_crypto = UserOptions.objects.is_server_crypto(username) except CryptoOptionNotSetError: # Assume server_crypto is ``False`` if this option is not set. server_crypto = False sub_lib_enabled = UserOptions.objects.is_sub_lib_enabled(username) default_repo_id = UserOptions.objects.get_default_repo(username) if default_repo_id: default_repo = seafile_api.get_repo(default_repo_id) else: default_repo = None owned_repos = get_owned_repo_list(request) return render_to_response('profile/set_profile.html', { 'form': form, 'server_crypto': server_crypto, "sub_lib_enabled": sub_lib_enabled, 'force_server_crypto': settings.FORCE_SERVER_CRYPTO, 'default_repo': default_repo, 'owned_repos': owned_repos, 'is_pro': is_pro_version(), 'is_ldap_user': is_ldap_user(request.user), }, context_instance=RequestContext(request))
def edit_profile(request): """ Show and edit user profile. """ username = request.user.username if request.method == 'POST': form = ProfileForm(request.POST) if form.is_valid(): nickname = form.cleaned_data['nickname'] intro = form.cleaned_data['intro'] try: profile = Profile.objects.get(user=request.user.username) except Profile.DoesNotExist: profile = Profile() profile.user = username profile.nickname = nickname profile.intro = intro profile.save() messages.success(request, _(u'Successfully edited profile.')) # refresh nickname cache refresh_cache(request.user.username) return HttpResponseRedirect(reverse('edit_profile')) else: messages.error(request, _(u'Failed to edit profile')) else: try: profile = Profile.objects.get(user=request.user.username) form = ProfileForm({ 'nickname': profile.nickname, 'intro': profile.intro, }) except Profile.DoesNotExist: form = ProfileForm() # common logic try: server_crypto = UserOptions.objects.is_server_crypto(username) except CryptoOptionNotSetError: # Assume server_crypto is ``False`` if this option is not set. server_crypto = False sub_lib_enabled = UserOptions.objects.is_sub_lib_enabled(username) return render_to_response('profile/set_profile.html', { 'form': form, 'server_crypto': server_crypto, "sub_lib_enabled": sub_lib_enabled, }, context_instance=RequestContext(request))
def edit_profile(request): """ Show and edit user profile. """ username = request.user.username if request.method == 'POST': form = ProfileForm(request.POST) if form.is_valid(): nickname = form.cleaned_data['nickname'] intro = form.cleaned_data['intro'] try: profile = Profile.objects.get(user=request.user.username) except Profile.DoesNotExist: profile = Profile() profile.user = username profile.nickname = nickname profile.intro = intro profile.save() messages.success(request, _(u'Successfully edited profile.')) # refresh nickname cache refresh_cache(request.user.username) return HttpResponseRedirect(reverse('edit_profile')) else: messages.error(request, _(u'Failed to edit profile')) else: try: profile = Profile.objects.get(user=request.user.username) form = ProfileForm({ 'nickname': profile.nickname, 'intro': profile.intro, }) except Profile.DoesNotExist: form = ProfileForm() # common logic try: server_crypto = UserOptions.objects.is_server_crypto(username) except CryptoOptionNotSetError: # Assume server_crypto is ``False`` if this option is not set. server_crypto = False return render_to_response('profile/set_profile.html', { 'form': form, 'server_crypto': server_crypto, }, context_instance=RequestContext(request))
def edit_profile(request): """ Show and edit user profile. """ if request.method == 'POST': form = ProfileForm(request.POST) if form.is_valid(): nickname = form.cleaned_data['nickname'] intro = form.cleaned_data['intro'] try: profile = Profile.objects.get(user=request.user.username) except Profile.DoesNotExist: profile = Profile() profile.user = request.user.username profile.nickname = nickname profile.intro = intro profile.save() messages.success(request, _(u'Successfully edited profile.')) # refresh nickname cache refresh_cache(request.user.username) return HttpResponseRedirect(reverse('edit_profile')) else: messages.error(request, _(u'Failed to edit profile')) else: try: profile = Profile.objects.get(user=request.user.username) form = ProfileForm({ 'nickname': profile.nickname, 'intro': profile.intro, }) except Profile.DoesNotExist: form = ProfileForm() return render_to_response('profile/set_profile.html', { 'form': form, }, context_instance=RequestContext(request))
def edit_profile(request): """ Show and edit user profile. """ username = request.user.username if request.method == 'POST': form = ProfileForm(request.POST) if form.is_valid(): nickname = form.cleaned_data['nickname'] intro = form.cleaned_data['intro'] try: profile = Profile.objects.get(user=request.user.username) except Profile.DoesNotExist: profile = Profile() profile.user = username profile.nickname = nickname profile.intro = intro profile.save() messages.success(request, _(u'Successfully edited profile.')) # refresh nickname cache refresh_cache(request.user.username) return HttpResponseRedirect(reverse('edit_profile')) else: messages.error(request, _(u'Failed to edit profile')) else: try: profile = Profile.objects.get(user=request.user.username) form = ProfileForm({ 'nickname': profile.nickname, 'intro': profile.intro, }) except Profile.DoesNotExist: form = ProfileForm() # common logic try: server_crypto = UserOptions.objects.is_server_crypto(username) except CryptoOptionNotSetError: # Assume server_crypto is ``False`` if this option is not set. server_crypto = False sub_lib_enabled = UserOptions.objects.is_sub_lib_enabled(username) default_repo_id = UserOptions.objects.get_default_repo(username) if default_repo_id: default_repo = seafile_api.get_repo(default_repo_id) else: default_repo = None owned_repos = seafile_api.get_owned_repo_list(username) return render_to_response('profile/set_profile.html', { 'form': form, 'server_crypto': server_crypto, "sub_lib_enabled": sub_lib_enabled, 'force_server_crypto': settings.FORCE_SERVER_CRYPTO, 'default_repo': default_repo, 'owned_repos': owned_repos, }, context_instance=RequestContext(request))