Esempio n. 1
0
def group(request, group_id=-1):
	
	group = None
	action = "Create"
	if group_id:
		try:
			group = Group.objects.get(id=group_id)
			if group.owner != request.user:
				raise ObjectDoesNotExist
			action = "Edit"
		except ObjectDoesNotExist:
			pass
	if not group:
		group = Group(owner=request.user)
	
	if request.method == "POST":
		form = forms.GroupForm(data=request.POST, instance=group)
		if form.is_valid():
			group = form.save(commit=False)
			is_new = False
			if not group.code: # this is a new group
				is_new = True
				invite_code = generate_code(3)
				code_obj = InvitationCode()
				code_obj.code = invite_code
				code_obj.email = request.user.email
				code_obj.save()
				group.code = code_obj
			group.save()
			if request.user not in group.members.all():
				group.members.add(request.user)
				group.save()
			if is_new:
				return HttpResponseRedirect(reverse('invite-friends', args=(group.id,)))
			else:
				return HttpResponseRedirect(reverse(actions))
	else:
		form = forms.GroupForm(label_suffix="", instance=group)
	return render(request, 'create.html', {'form': form, 'action':action})