1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-06-28 16:08:25 +00:00
seahub/profile/views.py

96 lines
3.3 KiB
Python
Raw Normal View History

from django.http import HttpResponse, HttpResponseRedirect
from django.shortcuts import render_to_response, get_object_or_404
from django.template.loader import get_template
from django.template import Context, RequestContext
from django.contrib.auth.decorators import login_required
from django.core.urlresolvers import reverse
import datetime
from forms import SetUserProfileForm
from models import UserCcnetConf
from seaserv import ccnet_rpc, translate_time_usec, get_binding_userids
@login_required
def show_profile(request):
userid_list = get_binding_userids(request.user.username)
2012-03-14 13:13:02 +00:00
2012-04-05 14:07:32 +00:00
profile_dict = {}
for user_id in userid_list:
try:
profile_timestamp = ccnet_rpc.get_user_profile_timestamp(user_id)
profile_timestamp = translate_time_usec(profile_timestamp)
except:
profile_timestamp = None
profile_dict[user_id] = profile_timestamp
2012-03-14 13:13:02 +00:00
return render_to_response('profile/profile.html', {
'userid_list': userid_list,
2012-04-05 14:07:32 +00:00
'profile_dict': profile_dict,
},
context_instance=RequestContext(request))
2011-10-18 07:41:48 +00:00
@login_required
def get_ccnet_profile(request):
try:
ccnet_conf = UserCcnetConf.objects.get(user=request.user)
return HttpResponse(ccnet_conf.ccnet_profile)
except UserCcnetConf.DoesNotExist:
return HttpResponse("")
@login_required
def set_ccnet_profile(request):
ccnet_id = request.user.user_id
2011-10-18 07:41:48 +00:00
if request.method == 'POST':
ccnet_profile = request.POST.get('ccnet_profile', None)
try:
ccnet_conf = UserCcnetConf.objects.get(ccnet_user_id=ccnet_id)
ccnet_conf.ccnet_profile = ccnet_profile
ccnet_conf.save()
except UserCcnetConf.DoesNotExist:
ccnet_conf = UserCcnetConf(user=request.user,
ccnet_user_id=ccnet_id,
ccnet_profile=ccnet_profile)
ccnet_conf.save()
return HttpResponse("ok")
else:
try:
ccnet_conf = UserCcnetConf.objects.get(ccnet_user_id=ccnet_id)
ccnet_profile = ccnet_conf.ccnet_profile
except UserCcnetConf.DoesNotExist:
ccnet_profile = ""
2011-10-18 07:41:48 +00:00
return render_to_response('profile/set_ccnet_conf.html',
{ 'ccnet_profile': ccnet_profile },
context_instance=RequestContext(request))
2012-03-14 13:13:02 +00:00
@login_required
def download_profile(request):
user_id = request.GET.get('user_id', None)
err_msg = ''
try:
profile = ccnet_rpc.get_user_profile(user_id)
except Exception as e:
err_msg = str(e)
profile = None
if profile:
response = HttpResponse(profile, content_type='application/txt')
response['Content-Disposition'] = 'attachment; filename=ccnet.profile'
return response
else:
return HttpResponse("Error: " + err_msg)
@login_required
def list_userids(request):
userid_list = get_binding_userids(request.user.username)
return render_to_response('profile/user_ids.html',
{'userid_list': userid_list},
context_instance=RequestContext(request))