示例#1
0
def address_create_edit(request, id=None):
    """Create and edit new address book entries
    """
    initial_entry = None
    initial_data = {}
    editing = False
    next_url = request.GET.get('next',None)
    try:
        contact = Contact.objects.from_request(request, create=False)
    except Contact.DoesNotExist:
        contact = None
    if id:
        initial_entry = get_object_or_404(AddressBook, pk=id)
        # Make sure we only edit entries associated with this contact
        if initial_entry.contact <> contact:
            return http.HttpResponseRedirect(urlresolvers.reverse('satchmo_account_info'))
        initial_data = model_to_dict(initial_entry, fields=[], exclude=['contact'])
        # This is a bit of a hack because we normally use jquery to populate the addressee
        initial_data['addressee_name'] = initial_data["addressee"]
    if request.method == 'POST':
        form = AddressBookForm(request.POST)
        if form.is_valid():
            form.save(contact, address_entry=initial_entry)
            messages.success(request, _('Succcessfully saved addressbook changes.'))
            if next_url:
                return http.HttpResponseRedirect(next_url)
            else:
                return http.HttpResponseRedirect(urlresolvers.reverse('satchmo_account_info'))
    else:
        form = AddressBookForm(initial=initial_data)
    if initial_entry:
        editing = True
    context = RequestContext(request, {'form':form, 'editing':editing, 'entry':initial_entry, 'next':next_url})    
    return render_to_response('contact/address_form.html',context_instance=context)
示例#2
0
文件: views.py 项目: 34/T
def add_addressbook(request):
    init_data = {}
    
    contact = request.user.contact_set.all()[0]
    init_data['contact'] = contact.id
    shop = Config.objects.get_current()
    
    if request.method == "POST":
        new_data = request.POST.copy()
        form = AddressBookForm(data=new_data, shop=shop, contact=contact, initial=init_data)
        
        if form.is_valid():
            addressbook = form.save()
            log.debug('-1- addressbook save success.')
        log.debug(form.errors)
    redirect_to = urlresolvers.reverse('satchmo_checkout-step1')    
    return http.HttpResponseRedirect(redirect_to)
示例#3
0
def address_create_edit(request, id=None):
    """Create and edit new address book entries
    """
    initial_entry = None
    initial_data = {}
    editing = False
    next_url = request.GET.get('next',None)
    try:
        contact = Contact.objects.from_request(request, create=False)
    except Contact.DoesNotExist:
        contact = None
    if id:
        initial_entry = get_object_or_404(AddressBook, pk=id)
        # Make sure we only edit entries associated with this contact
        if initial_entry.contact <> contact:
            return http.HttpResponseRedirect(urlresolvers.reverse('satchmo_account_info'))
        initial_data = model_to_dict(initial_entry, fields=[], exclude=['contact'])
        # This is a bit of a hack because we normally use jquery to populate the addressee
        initial_data['addressee_name'] = initial_data["addressee"]
    if request.method == 'POST':
        form = AddressBookForm(request.POST)
        if form.is_valid():
            form.save(contact, address_entry=initial_entry)
            messages.success(request, _('Succcessfully saved addressbook changes.'))
            if next_url:
                return http.HttpResponseRedirect(next_url)
            else:
                return http.HttpResponseRedirect(urlresolvers.reverse('satchmo_account_info'))
    else:
        form = AddressBookForm(initial=initial_data)
    if initial_entry:
        editing = True
    context = RequestContext(request, {'form':form, 'editing':editing, 'entry':initial_entry, 'next':next_url})    
    return render_to_response('contact/address_form.html',context_instance=context)