Example #1
0
def generateOrders(request, id):
    from django.contrib.admin.views import main
    main.change_stage(request, 'frontend', 'invoice', id)
    inv = Invoice.objects.get(pk = id)
    if inv.exploded > 0:
	return HttpResponseRedirect('/frontend/order/') 
    
    inv.generateOrders()
   
    return HttpResponseRedirect('/frontend/order/')
def edit_session(request, object_id):
  session = get_object_or_404(Session, pk=object_id)
  if not session.owner:
    session.owner = request.user
    session.save()

  if request.POST:
    if not request.user.is_superuser:
      if request.user != session.owner:
        return HttpResponseRedirect('/admin/?next=%s' % request.path)

  ret = main.change_stage(request, "mturk", "session", object_id)

  session = get_object_or_404(Session, pk=object_id)

  if session.owner is None:
    session.owner = request.user
    session.save()
  return ret
Example #3
0
def edit_session(request, object_id):
    session = get_object_or_404(Session, pk=object_id)
    if not session.owner:
        session.owner = request.user
        session.save()

    if request.POST:
        if not request.user.is_superuser:
            if request.user != session.owner:
                return HttpResponseRedirect('/admin/?next=%s' % request.path)

    ret = main.change_stage(request, "mturk", "session", object_id)

    session = get_object_or_404(Session, pk=object_id)

    if session.owner is None:
        session.owner = request.user
        session.save()
    return ret
Example #4
0
def generateInvoicePDF(request, id):  
                                                                                  
    
    from django.contrib.admin.views import main
    main.change_stage(request, 'frontend', 'invoice', id)
        
    response = HttpResponse(mimetype='application/pdf')
    #response['Content-Disposition'] = 'attachment; filename=somefilename.pdf'
    

    invoice = Invoice.objects.get(pk = id)
    render = PdfResponse(response)
    render.paraLeft(u"""<para>Внимание!!! <i>Информация</i> о готовности заказа поступет после 9-00.
                                            <u>Телефон: 66-41-68, 66-45-53, 66-4-68 Ирина</u> </para>""")
    render.spacer()
    date = invoice.dateCreate.__str__();
    render.para(u"Расчет кровельных материалов", ParagraphStyle('description',
                                fontName='XArial',
                                fontSize=11,
                                alignment = 0,
                                leading=9.6)) 
    render.paraLeft(u"Счет №: %s от %s" % (invoice.id, date[0:10]))      
    render.paraLeft(u"Заказчик: %s" % invoice.client.orgName)
    render.paraLeft(u"Адрес: %s" % invoice.client.address1)
    render.paraLeft(u"Телефон: %s %s %s" % (invoice.client.phone1, invoice.client.phone2, invoice.client.fax) )    
  
    render.paraLeft("Привязанные заказы")
    for order in invoice.getOrders():
         render.paraLeft(u"#%s (%s)" % (order.id, order.workshop.name)) 
    render.spacer()
    data = [["#",
             "Наиминование",
             "Длина (м)",
             "Ширина (м)",
             "Цвет",
             "Пл. листа (кв. м)",
             "Кол-во (шт)", 
             "Общая пл. (кв. м)",
             "Цена за ед. (р)",
             "Цена листа",         
             "Всего (р)"]            
            ]
    i = 0;
    for item in invoice.invoiceitem_set.all():
     
        c = ''
        if item.width and item.height:
           c = item.width * item.height
        sum = item.quantity * item.price
        color = ""
        if item.color: 
            color = item.color.__unicode__()
	i = i + 1
	pName = Paragraph(item.__unicode__() ,
				ParagraphStyle('description',
				fontName='XArial',
				fontSize=7,
				alignment = 0,
				leading=9.6))
	pColor = Paragraph(color ,
				ParagraphStyle('description',
				fontName='XArial',
				fontSize=7,
				alignment = 0,
				leading=9.6))

        data.append([i,
                      pName,
                      item.height,
                      item.width,
                      pColor,
                      item.itemarea,
                      item.quantity,
                      item.totalarea,
                      item.price,
                      
                      item.areaprice,
                     
                      item.total])
         
    data.append(['','','','','','','','','','Итого:',"%d" % round(invoice.sum)])    
    
    t = Table(data, colWidths = [1*cm, 4*cm,2*cm,2*cm, 3*cm, 2.4*cm,2.4*cm,2.4*cm,2.4*cm,2.4*cm,2.4*cm,])
    t.bottomoup = 1
    table_style = TableStyle()
    table_style.add('FONTNAME', (0,0), (-1,-1), 'XArial')
    table_style.add('VALIGN', (0,0), (-1,-1), 'TOP')
    table_style.add('FONTSIZE', (0,0), (-1,-1), 7)
    table_style.add('GRID', (0,0), (-1,-2), 1, colors.gray)
    table_style.add('BACKGROUND', (0,0), (-1,0), colors.Color(0.9,0.9,0.9))
    table_style.add('BACKGROUND', (-1,-1), (-1,-1), colors.Color(0.9,0.9,0.9))
    t.setStyle(table_style)    
    render.add(t)
    render.spacer()
    render.paraLeft(u"С условием хранения и транспортировки ознакомлен ____________________(подпись закзачика)")
    render.spacer()
    render.paraLeft(u"Срок хранения заказа на складе три дня со дня изготовления. За каждый полседующий день взимается плата в размере 200 руб. в день")
    render.paraLeft(u"Срок хранения доборных элементов со дня изготовления 10 календарных дней, после чего фирма оставлет право его реализовать без возрата денег клиенту")
    
    
    
    render.para(u"<para><u><b>Бесплатная погрузка только в открытую машину. Погрузка в закрытую машину платная</b></u></para>", ParagraphStyle('description',
                                fontName='XArial',
                                fontSize=14,
                                alignment = 0,
                                leading=9.6))
    render.spacer()
    render.para(u"С условиями Заказа согласен ____________ Заказ принял _____________", ParagraphStyle('description',
                                fontName='XArial',
                                fontSize=10,
                                alignment = 1,
                                leading=9.6))
    render.build()
    return response
Example #5
0
def generateOrderPDF(request, id):  
                                                                                  
   
    from django.contrib.admin.views import main
    main.change_stage(request, 'frontend', 'order', id)
    response = HttpResponse(mimetype='application/pdf')
    #response['Content-Disposition'] = 'attachment; filename=somefilename.pdf'
    

    order = Order.objects.get(pk = id)
    render = PdfOrderResponse(response)
    render.paraLeft(u"Заказ : %s" % order.id)
    render.paraLeft("Счет: %s (%s)" % (order.invoice.id , order.invoice.manager))
    if(order.workshop):       
        render.paraLeft(u"Цех: %s" % order.workshop.name)
    from time import * 
    render.paraLeft(u"Дата: %s" % strftime("%d-%m-%Y", 
                strptime(order.dateCreate.__str__(), "%Y-%m-%d %H:%M:%S"))
                )    
    render.spacer()
    
    
    data = [["#", "Код", "Цвет", "Длина (мм)", "Толщина (мм)", "Погонаж (мм)", "Количество"]            
            ]
    i = 0;

    for item in order.orderitem_set.order_by('code', 'color'):
        c = ''
        if not item.item.code :
            name = item.item.name
        else :
            name = item.item.code
        p = Paragraph(name, ParagraphStyle('description',
                                fontName='XArial',
                                fontSize=9,
                                alignment = 1,
                                leading=9.6))
        #if item.width and item.height:
        #   c = item.width * item.height
        color = ""
        pcolor = ""
        if item.color: 
            import re
            pattern = re.compile("\((.*)\)")
            color = pattern.findall(item.color.__unicode__())[0]
        if color:
            pcolor = color
        data.append([i + 1, p, pcolor, item.height, item.item.thick,  item.pogonag, item.quantity])         
        
    t = Table(data, colWidths = [1.5*cm, 3.5*cm, 2.5*cm, 2.5*cm,2.5*cm,  2.5*cm, 2.5*cm])
    t.bottomoup = 1
    table_style = TableStyle()
    table_style.add('FONTNAME', (0,0), (-1,-1), 'XArial')
    table_style.add('FONTSIZE', (0,0), (-1,-1), 9)
    table_style.add('BACKGROUND', (0,0), (-1,0), colors.Color(0.9,0.9,0.9))
    table_style.add('GRID', (0,0), (-1,-1), 1, colors.gray)
    t.setStyle(table_style)    
    render.add(t)
    render.spacer()
    
    render.paraLeft(order.comment)
    render.paraLeft("Сдал _________________")
    render.paraLeft("Принял _________________")
    render.spacer()
    render.paraLeft(CONTACT_INFORMATION)
    render.build()
    return response
def edit_task(request, object_id):
  task = get_object_or_404(Task, pk=object_id)
  return main.change_stage(request, "mturk", "task", object_id)
Example #7
0
def edit_task(request, object_id):
    task = get_object_or_404(Task, pk=object_id)
    return main.change_stage(request, "mturk", "task", object_id)