Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
erp5
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Labels
Merge Requests
7
Merge Requests
7
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Jobs
Commits
Open sidebar
Jérome Perrin
erp5
Commits
50e1a93a
Commit
50e1a93a
authored
Jan 23, 2013
by
Sebastien Robin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
stop supporting PDF Forms, this is obsolete
parent
0b43d63e
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
3 additions
and
172 deletions
+3
-172
product/ERP5Form/PDFForm.py
product/ERP5Form/PDFForm.py
+3
-0
product/ERP5Form/tests/testPDFForm.py
product/ERP5Form/tests/testPDFForm.py
+0
-172
No files found.
product/ERP5Form/PDFForm.py
View file @
50e1a93a
...
@@ -262,6 +262,9 @@ class PDFForm(File):
...
@@ -262,6 +262,9 @@ class PDFForm(File):
* cache compiled TALES
* cache compiled TALES
* set _v_errors when setting invalid TALES (setCellTALES can raise, but
* set _v_errors when setting invalid TALES (setCellTALES can raise, but
not doEditCells)
not doEditCells)
OBSOLETE : Not used any more. Such functionalities could be done with more
modern tools
"""
"""
meta_type
=
"ERP5 PDF Form"
meta_type
=
"ERP5 PDF Form"
...
...
product/ERP5Form/tests/testPDFForm.py
deleted
100644 → 0
View file @
0b43d63e
##############################################################################
#
# Copyright (c) 2007 Nexedi SARL and Contributors. All Rights Reserved.
# Jerome Perrin <jerome@nexedi.com>
#
# WARNING: This program as such is intended to be used by professional
# programmers who take the whole responsability of assessing all potential
# consequences resulting from its eventual inadequacies and bugs
# End users who are looking for a ready-to-use solution with commercial
# garantees and support are strongly adviced to contract a Free Software
# Service Company
#
# This program is Free Software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
##############################################################################
import
unittest
import
os
from
zope.component.testing
import
PlacelessSetup
from
Products.ERP5Form.PDFForm
import
PDFForm
from
Products.ERP5.Document.Document
import
Document
class
TestPDFForm
(
PlacelessSetup
,
unittest
.
TestCase
):
"""Tests PDF Form
"""
def
getTitle
(
self
):
return
"PDF Form"
def
setUp
(
self
):
"""Creates a PDFForm, and a document on which the PDF form is rendered.
"""
super
(
TestPDFForm
,
self
).
setUp
()
from
Products.CMFCore.tests.base.utils
import
_setUpDefaultTraversable
_setUpDefaultTraversable
()
self
.
document
=
Document
(
'doc_id'
)
pdf_file
=
open
(
os
.
path
.
join
(
os
.
path
.
dirname
(
__file__
),
'data'
,
'test_1.pdf'
),
'rb'
)
self
.
pdf_form
=
PDFForm
(
'test_pdf_form'
).
__of__
(
self
.
document
)
self
.
pdf_form
.
manage_upload
(
pdf_file
)
# if tearDown is ever added, don't forget to call PlacelessSetup.tearDown()
def
test_getCellNames
(
self
):
self
.
assertEquals
([
'text_1'
,
'text_2'
,
'text_3'
],
self
.
pdf_form
.
getCellNames
())
def
test_SimpleGeneratePDF
(
self
):
self
.
pdf_form
.
setCellTALES
(
'text_1'
,
'string:Something simple'
)
self
.
failUnless
(
self
.
pdf_form
.
generatePDF
())
# aliases
self
.
failUnless
(
self
.
pdf_form
.
index_html
())
self
.
failUnless
(
self
.
pdf_form
())
def
test_EmptyGeneratePdf
(
self
):
self
.
failUnless
(
self
.
pdf_form
.
generatePDF
())
# aliases
self
.
failUnless
(
self
.
pdf_form
.
index_html
())
self
.
failUnless
(
self
.
pdf_form
())
def
test_showCellName
(
self
):
self
.
failUnless
(
self
.
pdf_form
.
showCellNames
())
def
test_CellTALES
(
self
):
self
.
pdf_form
.
setCellTALES
(
'text_1'
,
'here/getId'
)
self
.
assertEquals
(
'here/getId'
,
self
.
pdf_form
.
getCellTALES
(
'text_1'
))
def
test_setInvalidTALES
(
self
):
from
Products.PageTemplates.Expressions
import
getEngine
CompilerError
=
getEngine
().
getCompilerError
()
self
.
pdf_form
.
setCellTALES
(
'text_1'
,
'python:(inv.alid "= '
)
# maybe should raise when setting the TALES, not when getting ?
self
.
assertRaises
(
CompilerError
,
self
.
pdf_form
.
evaluateCell
,
'text_1'
)
def
test_EditCells
(
self
):
self
.
pdf_form
.
doEditCells
(
REQUEST
=
dict
(
text_1
=
'here/getId'
,
text_2
=
'string:'
))
self
.
assertEquals
(
'here/getId'
,
self
.
pdf_form
.
getCellTALES
(
'text_1'
))
self
.
assertEquals
(
'string:'
,
self
.
pdf_form
.
getCellTALES
(
'text_2'
))
def
test_EvaluateCell
(
self
):
self
.
pdf_form
.
setCellTALES
(
'text_1'
,
'here/getId'
)
self
.
assertEquals
(
'doc_id'
,
self
.
pdf_form
.
evaluateCell
(
'text_1'
))
def
test_EvaluateNonExistCell
(
self
):
self
.
assertRaises
(
KeyError
,
self
.
pdf_form
.
evaluateCell
,
'this_cell_does_not_exist'
)
def
test_CalculateCellValues
(
self
):
self
.
pdf_form
.
setCellTALES
(
'text_1'
,
'here/getId'
)
self
.
pdf_form
.
setCellTALES
(
'text_2'
,
'string:static'
)
calculated_values
=
self
.
pdf_form
.
calculateCellValues
()
self
.
assertEquals
(
'doc_id'
,
calculated_values
[
'text_1'
])
self
.
assertEquals
(
'static'
,
calculated_values
[
'text_2'
])
def
test_CalculateCellValuesWithCellKey
(
self
):
self
.
pdf_form
.
setCellTALES
(
'text_1'
,
'here/getId'
)
self
.
pdf_form
.
setCellTALES
(
'text_2'
,
'cell/text_1'
)
calculated_values
=
self
.
pdf_form
.
calculateCellValues
()
self
.
assertEquals
(
'doc_id'
,
calculated_values
[
'text_1'
])
self
.
assertEquals
(
'doc_id'
,
calculated_values
[
'text_2'
])
def
test_CalculateCellValuesTotal
(
self
):
# The original use case of `cell`
self
.
pdf_form
.
setCellTALES
(
'text_1'
,
'python:3'
)
self
.
pdf_form
.
setCellTALES
(
'text_2'
,
'python:2'
)
self
.
pdf_form
.
setCellTALES
(
'text_3'
,
'python:cell["text_1"] + cell["text_2"]'
)
self
.
assertEquals
(
3
+
2
,
self
.
pdf_form
.
calculateCellValues
()[
'text_3'
])
def
test_CalculateCellValuesCircularRefs
(
self
):
self
.
pdf_form
.
setCellTALES
(
'text_1'
,
'cell/text2'
)
self
.
pdf_form
.
setCellTALES
(
'text_2'
,
'cell/text_1'
)
from
Products.ERP5Form.PDFForm
import
CircularReferencyError
self
.
assertRaises
(
CircularReferencyError
,
self
.
pdf_form
.
calculateCellValues
)
def
test_CalculateCellValuesParms
(
self
):
self
.
pdf_form
.
setCellTALES
(
'text_1'
,
'a_parameter'
)
calculated_values
=
self
.
pdf_form
.
calculateCellValues
(
a_parameter
=
'Value'
)
self
.
assertEquals
(
'Value'
,
calculated_values
[
'text_1'
])
class
TestPDFFormButtons
(
unittest
.
TestCase
):
"""Tests PDF Form with buttons
"""
def
setUp
(
self
):
"""Creates a PDFForm with buttons, and a document on which the PDF form is
rendered.
"""
self
.
document
=
Document
(
'doc_id'
)
pdf_file
=
open
(
os
.
path
.
join
(
os
.
path
.
dirname
(
__file__
),
'data'
,
'test_button.pdf'
),
'rb'
)
self
.
pdf_form
=
PDFForm
(
'test_pdf_form'
).
__of__
(
self
.
document
)
self
.
pdf_form
.
manage_upload
(
pdf_file
)
def
test_getCellNames
(
self
):
self
.
assertEquals
([
'check_box'
,],
self
.
pdf_form
.
getCellNames
())
def
test_SimpleGeneratePDF
(
self
):
self
.
pdf_form
.
setCellTALES
(
'check_box'
,
'python: 1'
)
self
.
failUnless
(
self
.
pdf_form
.
generatePDF
())
# aliases
self
.
failUnless
(
self
.
pdf_form
.
index_html
())
self
.
failUnless
(
self
.
pdf_form
())
# XXX for debugging:
# file('/tmp/out.pdf', 'w').write(self.pdf_form())
# os.system('xpdf /tmp/out.pdf')
# os.system('kpdf /tmp/out.pdf')
# os.system('acroread /tmp/out.pdf')
def
test_suite
():
suite
=
unittest
.
TestSuite
()
suite
.
addTest
(
unittest
.
makeSuite
(
TestPDFForm
))
suite
.
addTest
(
unittest
.
makeSuite
(
TestPDFFormButtons
))
return
suite
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment