1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-07-12 06:29:23 +00:00
seahub/contacts/views.py

123 lines
5.0 KiB
Python
Raw Normal View History

2012-05-04 08:30:07 +00:00
# encoding: utf-8
2012-02-11 03:12:54 +00:00
from django.http import HttpResponseRedirect
2012-05-04 08:30:07 +00:00
from django.shortcuts import render_to_response, Http404
2012-02-11 03:12:54 +00:00
from django.core.urlresolvers import reverse
from django.template import RequestContext
from django.contrib.auth.decorators import login_required
from django.core.exceptions import ObjectDoesNotExist
2012-05-04 08:30:07 +00:00
from django.forms.models import modelformset_factory
2012-02-11 03:12:54 +00:00
from models import Contact
2012-05-04 08:30:07 +00:00
from models import AddContactForm
from seaserv import ccnet_rpc
2012-02-11 03:12:54 +00:00
@login_required
def contact_list(request):
2012-05-04 08:30:07 +00:00
contacts = Contact.objects.filter(user_email=request.user.username)
2012-02-11 03:12:54 +00:00
return render_to_response('contacts/contact_list.html', {
'contacts': contacts,
}, context_instance=RequestContext(request))
@login_required
def contact_add(request):
error_msg = None
if request.method == 'POST':
form = AddContactForm(request.POST)
if form.is_valid():
2012-05-04 08:30:07 +00:00
contact_email = form.cleaned_data['contact_email']
contact_name = form.cleaned_data['contact_name']
note = form.cleaned_data['note']
emailuser = ccnet_rpc.get_emailuser(contact_email)
if not emailuser:
error_msg = u"用户不存在"
2012-06-12 02:13:14 +00:00
elif contact_email == request.user.username:
2012-05-04 08:30:07 +00:00
error_msg = u"不能添加自己为联系人"
elif Contact.objects.filter(user_email=request.user.username,
2012-06-20 11:39:21 +00:00
contact_email=contact_email).count() > 0:
2012-05-04 08:30:07 +00:00
error_msg = u"联系人列表中已有该用户"
2012-06-20 11:39:21 +00:00
elif request.user.org and \
not ccnet_rpc.org_user_exists(request.user.org.org_id,
contact_email):
error_msg = u"当前企业不存在该用户"
2012-05-04 08:30:07 +00:00
else:
2012-02-11 03:12:54 +00:00
contact = Contact()
2012-05-04 08:30:07 +00:00
contact.user_email = request.user.username
contact.contact_email = contact_email
contact.contact_name = contact_name
contact.note = note
2012-02-11 03:12:54 +00:00
contact.save()
return HttpResponseRedirect(reverse("contact_list"))
else:
2012-05-04 08:30:07 +00:00
form = AddContactForm({'user_email':request.user.username})
2012-02-11 03:12:54 +00:00
return render_to_response('contacts/contact_add.html', {
'form': form,
2012-05-04 08:30:07 +00:00
'error_msg':error_msg,
'user_email': request.user.username,
2012-02-11 03:12:54 +00:00
}, context_instance=RequestContext(request))
2012-05-04 08:30:07 +00:00
@login_required
def contact_edit(request):
error_msg = None
contact_id = None
old_contact_email = None
if request.method == 'POST':
form = AddContactForm(request.POST)
if form.is_valid():
contact_id = request.POST.get('contact_id')
old_contact_email = request.POST.get('old_contact_email')
contact_email = form.cleaned_data['contact_email']
contact_name = form.cleaned_data['contact_name']
note = form.cleaned_data['note']
emailuser = ccnet_rpc.get_emailuser(contact_email)
if not emailuser:
error_msg = u"用户不存在"
2012-06-20 11:39:21 +00:00
elif contact_email == request.user.username:
2012-05-04 08:30:07 +00:00
error_msg = u"不能添加自己为联系人"
2012-06-20 11:39:21 +00:00
elif old_contact_email != contact_email and \
2012-05-04 08:30:07 +00:00
Contact.objects.filter(user_email=request.user.username,
contact_email=contact_email).count() > 0:
error_msg = u"联系人列表中已有该用户"
else:
contact = Contact(id=contact_id)
contact.user_email = request.user.username
contact.contact_email = contact_email
contact.contact_name = contact_name
contact.note = note
contact.save()
return HttpResponseRedirect(reverse("contact_list"))
else:
contact_email = request.GET.get('email')
c = Contact.objects.filter(user_email=request.user.username,
contact_email=contact_email)
if not c:
error_msg = u'用户不存在'
form = AddContactForm({'contact_email': contact_email})
else:
init_data = {'user_email':request.user.username,
'contact_email':contact_email,
'contact_name':c.get().contact_name,
'note':c.get().note}
contact_id = c.get().id
old_contact_email = c.get().contact_email
form = AddContactForm(init_data)
2012-02-11 03:12:54 +00:00
2012-05-04 08:30:07 +00:00
return render_to_response('contacts/contact_edit.html', {
'form': form,
'error_msg': error_msg,
'contact_id': contact_id,
'old_contact_email': old_contact_email,
}, context_instance=RequestContext(request))
2012-02-11 03:12:54 +00:00
@login_required
def contact_delete(request):
2012-05-04 08:30:07 +00:00
user_email = request.user.username
contact_email = request.GET.get('email')
Contact.objects.filter(user_email=user_email, contact_email=contact_email).delete()
return HttpResponseRedirect(reverse("contact_list"))