2011-04-30 05:18:32 +00:00
|
|
|
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 UserProfile
|
2011-05-08 07:19:58 +00:00
|
|
|
from seaserv import ccnet_rpc
|
2011-04-30 05:18:32 +00:00
|
|
|
|
|
|
|
@login_required
|
|
|
|
def show_profile(request):
|
|
|
|
groups = []
|
2011-05-08 07:19:58 +00:00
|
|
|
try:
|
|
|
|
profile = request.user.get_profile()
|
|
|
|
except UserProfile.DoesNotExist:
|
|
|
|
profile = UserProfile(user=request.user)
|
|
|
|
profile.save()
|
2011-04-30 05:18:32 +00:00
|
|
|
return render_to_response('profile/profile.html',
|
2011-05-08 07:19:58 +00:00
|
|
|
{ 'groups': groups,
|
|
|
|
'profile': profile, },
|
2011-04-30 05:18:32 +00:00
|
|
|
context_instance=RequestContext(request))
|
|
|
|
|
|
|
|
|
|
|
|
@login_required
|
|
|
|
def set_profile(request):
|
2011-05-08 07:19:58 +00:00
|
|
|
error_msg = None
|
|
|
|
origin_id = None
|
2011-04-30 05:18:32 +00:00
|
|
|
if request.method == 'POST':
|
2011-05-08 07:19:58 +00:00
|
|
|
ccnet_user_id = request.POST.get('ccnet_user_id', None)
|
|
|
|
origin_id = ccnet_user_id
|
|
|
|
if not ccnet_user_id:
|
|
|
|
error_msg = "You must specify ccnet user id"
|
|
|
|
elif len(ccnet_user_id) != 40:
|
|
|
|
error_msg = "Ccnet User ID must be of length 40"
|
|
|
|
else:
|
2011-04-30 05:18:32 +00:00
|
|
|
try:
|
|
|
|
profile = request.user.get_profile()
|
|
|
|
except UserProfile.DoesNotExist:
|
|
|
|
profile = UserProfile(user=request.user)
|
2011-05-08 07:19:58 +00:00
|
|
|
profile.save()
|
|
|
|
try:
|
|
|
|
ccnet_rpc.add_client(ccnet_user_id)
|
|
|
|
except:
|
|
|
|
error_msg = "Ccnet Deamon is not available, try again later"
|
|
|
|
else:
|
|
|
|
profile.ccnet_user_id = ccnet_user_id
|
|
|
|
profile.save()
|
|
|
|
return HttpResponseRedirect(reverse(show_profile))
|
2011-04-30 05:18:32 +00:00
|
|
|
else:
|
|
|
|
try:
|
|
|
|
profile = request.user.get_profile()
|
|
|
|
except UserProfile.DoesNotExist:
|
|
|
|
profile = UserProfile(user=request.user)
|
2011-05-08 07:19:58 +00:00
|
|
|
profile.save()
|
|
|
|
origin_id = profile.ccnet_user_id
|
2011-04-30 05:18:32 +00:00
|
|
|
|
|
|
|
return render_to_response('profile/set_profile.html',
|
2011-05-08 07:19:58 +00:00
|
|
|
{ 'error_msg': error_msg,
|
|
|
|
'origin_id': origin_id },
|
2011-04-30 05:18:32 +00:00
|
|
|
context_instance=RequestContext(request))
|