Esempio n. 1
0
def order(request, ju_id):
    try:
        current_ju = Ju.objects.get(id=ju_id)
    except:
        if request.user.is_authenticated:
            current_ju = request.user.active_ju()
        else:
            current_ju = Ju.active_ju()
        return render_home_page(request, current_ju)

    if request.user.is_authenticated:
        # 通过new_order可以把owner的代理人改成自己,当然可以用来取消别人对自己的代理。
        if request.method == 'POST':
            form_list = ListForm(depart_name=request.user.depart_name,
                                 data=request.POST)
            if form_list.is_valid():
                owner = form_list.cleaned_data['owner'] or request.user
                list_ = List.objects.filter(ju=current_ju, owner=owner).first()
                if list_:
                    if list_.agent != request.user:
                        list_.agent = request.user
                        list_.save()
                    return view_order(request, list_.id)
            return new_order(request, current_ju.id)
        list_ = List.objects.filter(ju=current_ju, owner=request.user).first()
        if not list_:
            list_ = List.objects.filter(ju=current_ju,
                                        agent=request.user).first()
        if list_:
            return view_order(request, list_.id)
    return new_order(request, current_ju.id)
Esempio n. 2
0
 def post(self, request, *args, **kwargs):
     form = ListForm(request.POST)
     if form.is_valid():
         form.instance.user = request.user
         return self.form_valid(form)
     else:
         return self.form_invalid(form)
Esempio n. 3
0
def edit_list_name(request, list_id):
    fancylist = get_object_or_404(FancyList, pk = list_id)
    if request.method == 'POST':
        form = ListForm(request.POST, instance = fancylist)
        if form.is_valid():
            form.save()
            return HttpResponseRedirect(reverse('lists:edit_list', args = (list_id,)))
    else:
        form = ListForm(instance = fancylist)
    return render(request, 'lists/editname.html', {'edit_list_id': fancylist.id, 'form': form})
Esempio n. 4
0
def new_list(request):
    if request.method == 'POST':
        form = ListForm(request.POST)
        if form.is_valid():
            cd = form.cleaned_data
            fancylist = FancyList.objects.create_list(cd['name'], request.user)
            return HttpResponseRedirect(reverse('lists:edit_list', args = (fancylist.id,)))
    else:
        form = ListForm()
    return render(request, 'lists/new.html', {'form': form})
Esempio n. 5
0
def duplicate_list(request, list_id):
    fancylist = get_object_or_404(FancyList, pk = list_id)
    if request.method == 'POST':
        form = ListForm(request.POST)
        if form.is_valid():
            cd = form.cleaned_data
            fancylist_new = FancyList.objects.duplicate_list(cd['name'], fancylist)
            return HttpResponseRedirect(reverse('lists:edit_list', args = (fancylist_new.id,)))
    else:
        form = ListForm()
    return render(request, 'lists/new.html', {'form': form})    
Esempio n. 6
0
def home(request):
    form = ListForm()
    if request.method == "POST":
        form = ListForm(request.POST)
        if form.is_valid():
            tform = Lists()
            tform.title = form.cleaned_data['title']
            tform.save()
        else:
            form = ListForm()

    return render(request, 'lists.html', {
        'PageTitle': "CeDoTasks - Lists",
        'list': Lists.objects.all,
        'form': form
    })
Esempio n. 7
0
def add_list(request):
	list_form = ListForm(request.POST or None)
	access_form = ListAccessForm(request.POST or None)
	if list_form.is_valid() and access_form.is_valid():
		""" Create the list and grant the user edit access """
		li = list_form.save()
		access = access_form.save(commit = False)
		access.translations_list = li
		access.learner = request.user
		access.access = ListAccess.EDIT
		access.save()
		return redirect(li.get_absolute_url())
	return render(request, 'edit_list.html', {
		'list_form': list_form,
		'access_form': access_form,
		'add': True,
	})
Esempio n. 8
0
def new_order(request, ju_id):
    try:
        current_ju = Ju.objects.get(id=ju_id)
    except:
        if request.user.is_authenticated:
            current_ju = request.user.active_ju()
        else:
            current_ju = Ju.active_ju()
        return render_home_page(request, current_ju)

    depart_name = None
    form = NewOrderForm()
    if not current_ju.can_order(request.user):
        form.fields['text'].widget.attrs['readonly'] = True

    if request.user.is_authenticated:
        depart_name = request.user.depart_name
        form_list = ListForm(depart_name=depart_name)
        # form_list.fields['owner'].initial = request.user
        if request.method == 'POST':
            form = NewOrderForm(data=request.POST)
            form_list = ListForm(depart_name=depart_name, data=request.POST)
            if form.is_valid() and form_list.is_valid():
                owner = form_list.cleaned_data['owner'] or request.user
                list_ = form.save(owner=owner,
                                  agent=request.user,
                                  ju=current_ju)
                if list_:
                    return redirect(list_)
        return render(request, 'new_order.html', {
            'form': form,
            'form_list': form_list,
            'current_ju': current_ju
        })

    email_input_form = EmailInputForm()
    if request.method == 'POST':
        form = NewOrderForm(data=request.POST)
        form.add_error('text', NEED_TO_LOGIN_ERROR)
    return render(
        request, 'new_order.html', {
            'form': form,
            'current_ju': current_ju,
            'email_input_form': email_input_form
        })
Esempio n. 9
0
def add(request):
    if request.method == 'POST':
        form = ListForm(request.POST)
            
        if form.is_valid():
            new_list = form.save(commit=False)
            new_list.user = request.user

            new_list.save()

            return redirect('/lists/%s' % new_list.id)
        else:
            print form.errors
    else:
        movies = Movie.objects.all()

        return render(request, 'lists_add.html', {
            'movies': movies
        })
Esempio n. 10
0
def new_list(request):
    status = 'Error'
    if request.method == 'POST':
        form = ListForm(data=request.POST)
        if form.is_valid():
            form.save()
            status = 'Guardado Con exito'
            return HttpResponseRedirect(request.META.get('HTTP_REFERER'))

    else:
        form = ListForm()
    return render(request, 'home.html', {"form": form, 'status': status})
Esempio n. 11
0
def create_list(request):
	if request.method == 'POST':
		form = ListForm(request.POST)
		if form.is_valid():
			form.save()
			messages.add_message(request, messages.INFO, 'Congrats!')
			return HttpResponseRedirect(reverse('list_index'))
	else:
		form = ListForm()
	return render_to_response(
		'create_list.html', {
			"form": form
		},
		context_instance=RequestContext(request)
	)
Esempio n. 12
0
def edit_list(request, translations_list, slug = None, next = None):
	list_form = ListForm(request.POST or None, instance = translations_list)
	try:
		access_instance = ListAccess.objects.get(translations_list = translations_list, learner = request.user)
	except ListAccess.DoesNotExist:
		return notification(request, 'No access for list "%s".' % translations_list)
	access_form = ListAccessForm(request.POST or None, instance = access_instance)
	if access_instance.editable:
		if list_form.is_valid() and access_form.is_valid():
			list_form.save()
			access_form.save()
			return redirect(request.POST['next'] or translations_list.get_absolute_url())
	else:
		if list_form.is_valid() and access_form.is_valid():
			access_form.save()
			return redirect(request.POST['next'] or translations_list.get_absolute_url())
	return render(request, 'edit_list.html', {
		'list_form': list_form,
		'access_form': access_form,
		'add': False,
		'list': translations_list,
		'access': access_instance,
		'next': next,
	})
Esempio n. 13
0
def home_page(request):
    lists = List.objects.all()
    form = ListForm()
    return render(request, 'home.html', {'lists': lists, 'form': form})