예제 #1
0
파일: note.py 프로젝트: DataSciCode/servo
def save(request, kind='note', note_id='new'):
    # note is being saved
    data = request.POST.copy()

    data['created_by'] = request.user.id
    data['sender'] = request.user.email

    # editing an instance
    if 'id' in data:
        note = Note.objects.get(pk=data.get('id'))
        form = NoteForm(data, instance=note)
    else:
        form = NoteForm(data)
    
    if not form.is_valid():
        print form.errors
        return render(request, 'notes/form.html', {'form': form})

    try:
        note = form.save()
    except Exception, e:
        messages.add_message(request, messages.ERROR, e)
        return render(request, 'notes/form.html', {'form': form})
예제 #2
0
파일: note.py 프로젝트: DataSciCode/servo
def edit(request, note_id='new', kind='note', order_id=None, parent=None,
    recipient=''):
    
    if request.method == 'POST':
        return save(request, kind, note_id)
        
    note = Note(order_id=order_id, kind=kind, recipient=recipient)

    if order_id:
        order = Order.objects.get(pk=order_id)
        if order.user is not request.user:
            recipient = order.user

    form = NoteForm(instance=note)

    if note_id != 'new':
        note = Note.objects.get(pk=note_id)
        form = NoteForm(instance=note)

    if parent:
        parent = Note.objects.get(pk=parent)
        note.parent = parent
        note.order_id = parent.order_id
        form = NoteForm(initial={
            'order_id': parent.order_id,
            'parent': parent.id,
            'kind': parent.kind,
            'should_report': parent.should_report
        })

        if parent.sent_at:
            form.initial['recipient'] = parent.sender
    
    templates = Template.objects.all()

    return render(request, 'notes/form.html', {'note': note,
        'templates': templates, 'form': form})
예제 #3
0
def notes(request, pk, note_id=None):
    from servo.forms.note import NoteForm
    customer = get_object_or_404(Customer, pk=pk)
    form = NoteForm(initial={'recipient': customer.name})

    return render(request, "notes/form.html", {'form': form})