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"))
|