예제 #1
0
 def __init__(self, *args, **kwargs):
     current_room = kwargs.pop('current_room', None)
     super(MemberInfoForm, self).__init__(*args, **kwargs)
     self.fields['room'].choices = free_rooms_choices(current=current_room)
     if current_room:
         self.fields['room'].initial = current_room
     return
예제 #2
0
def add(request, room=None):
    add_form = MemberInfoForm(request.POST or None)
    add_form.fields['room'].choices = free_rooms_choices()
    
    if room:
        try:
            room = Room.objects.get(Q(name=room)&Q(member=None))
            add_form.fields['room'].initial = room
            messages.info(request, u"La chambre {} a été présélectionnée".format(room))
        except Room.DoesNotExist:
            pass
    
    if request.method == 'POST':
        if add_form.is_valid():
            member = add_form.save(commit=False)
            member.save()
            return redirect("ogre_member_show", uuid=member.uuid)
    
    return render(request, "ogre/member/add.html", {
        'form': add_form,
    })