Skip to content

Commit fae79e5

Browse files
committed
Correcting document
1 parent af5f77e commit fae79e5

File tree

3 files changed

+60
-5
lines changed

3 files changed

+60
-5
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
11
*.pyc
22
*.pyo
33
.idea*
4+
InvoiceGenerator.egg-info/
5+
build/
6+
dist/

InvoiceGenerator/api.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -209,4 +209,11 @@ def generate_breakdown_vat_table(self):
209209
for vat,items in self.generate_breakdown_vat().iteritems():
210210
rows.append((vat, items['total'], items['total_tax'], items['tax']))
211211

212-
return rows
212+
return rows
213+
214+
class Correction(Invoice):
215+
_attrs = ('number', 'reason', 'title', 'variable_symbol', 'specific_symbol', 'paytype',
216+
'currency', 'date', 'payback', 'taxable_date')
217+
218+
def __init__(self, client, provider, creator):
219+
super(Correction, self).__init__(client, provider, creator)

InvoiceGenerator/pdf.py

Lines changed: 49 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ def gen(self, filename):
4040

4141
# Texty
4242
self.drawMain()
43+
self.drawTitle()
4344
self.drawProvider(self.TOP - 10,self.LEFT + 3)
4445
self.drawClient(self.TOP - 35,self.LEFT + 91)
4546
self.drawPayment(self.TOP - 47,self.LEFT + 3)
@@ -60,14 +61,15 @@ def addMetaInformation(self, pdf):
6061
pdf.setTitle(self.invoice.title)
6162
pdf.setAuthor(self.invoice.creator.name)
6263

63-
def drawMain(self):
64+
def drawTitle(self):
6465
# Up line
6566
self.pdf.drawString(self.LEFT*mm, self.TOP*mm, self.invoice.title)
6667
self.pdf.drawString((self.LEFT + 90) * mm,
67-
self.TOP*mm,
68-
_(u'Variable symbol: %s') %
69-
self.invoice.variable_symbol)
68+
self.TOP*mm,
69+
_(u'Variable symbol: %s') %
70+
self.invoice.variable_symbol)
7071

72+
def drawMain(self):
7173
# Borders
7274
self.pdf.rect(self.LEFT * mm, (self.TOP - 68) * mm,
7375
(self.LEFT + 156) * mm, 65 * mm, stroke=True, fill=False)
@@ -293,3 +295,46 @@ def drawDates(self,TOP,LEFT):
293295
top += -5
294296

295297

298+
class CorrectingInvoice(SimpleInvoice):
299+
def gen(self, filename):
300+
self.TOP = 260
301+
self.LEFT = 20
302+
self.filename = filename
303+
304+
pdfmetrics.registerFont(TTFont('DejaVu', FONT_PATH))
305+
pdfmetrics.registerFont(TTFont('DejaVu-Bold', FONT_BOLD_PATH))
306+
307+
self.pdf = Canvas(self.filename, pagesize = letter)
308+
self.addMetaInformation(self.pdf)
309+
310+
self.pdf.setFont('DejaVu', 15)
311+
self.pdf.setStrokeColorRGB(0, 0, 0)
312+
313+
# Texty
314+
self.drawMain()
315+
self.drawTitle()
316+
self.drawProvider(self.TOP - 10,self.LEFT + 3)
317+
self.drawClient(self.TOP - 35,self.LEFT + 91)
318+
self.drawPayment(self.TOP - 47,self.LEFT + 3)
319+
self.drawCorretion(self.TOP - 73,self.LEFT)
320+
self.drawItems(self.TOP - 82,self.LEFT)
321+
self.drawDates(self.TOP - 10,self.LEFT + 91)
322+
323+
#self.pdf.setFillColorRGB(0, 0, 0)
324+
325+
self.pdf.showPage()
326+
self.pdf.save()
327+
328+
def drawTitle(self):
329+
# Up line
330+
self.pdf.drawString(self.LEFT*mm, self.TOP*mm, self.invoice.title)
331+
self.pdf.drawString((self.LEFT + 90) * mm,
332+
self.TOP*mm,
333+
_(u'Correcting document: %s') %
334+
self.invoice.number)
335+
336+
337+
def drawCorretion(self,TOP,LEFT):
338+
self.pdf.setFont('DejaVu', 8)
339+
self.pdf.drawString(LEFT * mm, TOP * mm, _(u'Correction document for invoice: %s') % self.invoice.variable_symbol)
340+
self.pdf.drawString(LEFT * mm, (TOP - 4) * mm, _(u'Reason to correction: %s') % self.invoice.reason)

0 commit comments

Comments
 (0)