From e1d059769413cad5b9d83d95ff4de05df1b66357 Mon Sep 17 00:00:00 2001 From: Gaetan Delannay Date: Tue, 14 Jan 2014 09:07:42 +0100 Subject: [PATCH] [gen] list field now takes into account 'show' attribute of sub-fields. --- bin/startoo | 2 +- fields/list.py | 20 +++++++++++++++++--- gen/ui/banner.jpg | Bin 23246 -> 0 bytes gen/ui/banner.png | Bin 0 -> 4894 bytes gen/ui/bannerrtl.jpg | Bin 22922 -> 0 bytes gen/ui/bannerrtl.png | Bin 0 -> 4894 bytes gen/wrappers/__init__.py | 2 +- pod/styles_manager.py | 4 ++-- shared/ldap_connector.py | 7 +++++++ shared/utils.py | 8 ++++---- 10 files changed, 32 insertions(+), 11 deletions(-) delete mode 100644 gen/ui/banner.jpg create mode 100644 gen/ui/banner.png delete mode 100644 gen/ui/bannerrtl.jpg create mode 100644 gen/ui/bannerrtl.png diff --git a/bin/startoo b/bin/startoo index 29db906..0e7f9aa 100755 --- a/bin/startoo +++ b/bin/startoo @@ -1,4 +1,4 @@ #!/bin/sh -/opt/openoffice.org3/program/soffice "-accept=socket,host=localhost,port=2002;urp;" +soffice "--accept=socket,host=localhost,port=2002;urp;" echo "Press ..." read R diff --git a/fields/list.py b/fields/list.py index a4a8635..e062e1f 100644 --- a/fields/list.py +++ b/fields/list.py @@ -27,7 +27,7 @@ class List(Field): # PX for rendering a single row. pxRow = Px(''' - :field.pxRender @@ -42,10 +42,11 @@ class List(Field): pxTable = Px(''' + width=":field.width" + var2="subFields=field.getSubFields(zobj, layoutType)"> -
::_(info[1].labelId) @@ -105,6 +106,19 @@ class List(Field): for n, field in self.fields: if n == name: return field + def getSubFields(self, obj, layoutType): + '''Returns the sub-fields (name, Field) that are showable among + field.fields on the given p_layoutType. Fields that cannot appear in + the result are nevertheless present as a tuple (name, None). This + way, it keeps a nice layouting of the table.''' + res = [] + for n, field in self.fields: + elem = (n, None) + if field.isShowable(obj, layoutType): + elem = (n, field) + res.append(elem) + return res + def getRequestValue(self, request, requestName=None): '''Concatenates the list from distinct form elements in the request.''' name = requestName or self.name # A List may be into another List (?) diff --git a/gen/ui/banner.jpg b/gen/ui/banner.jpg deleted file mode 100644 index 2b011187ae91345b26da000d2452c6fc45070862..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23246 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

LnOpo| zH+pR4vV{=B*}%YnRh0*(_^}X4{XGD&3I)Q*%+1y_PS+nY%S6?aq3FIb5oTh#Y9B2o zsE|fo^%%VkFB%WHPQAcJ`3_F-wAwSQMQRIf;rrYG|MAx>N*l56TMUQ zZam3dQI$v;O@B|zSvHQpXF_Zg2#&d?F;OZ_3LR9-~L;q1Sup0$f z1lsrWD$Nm9cwedD)A(7sa&Ae-NkBwVqso>Wx-lG>$|hwCQ44*?vu=nGP02ld*3s+t zj1v>~xB7XwboLg}bDr=BwgNzXsnB1AzB!u6%Nn-*Yu~jD429;hY_yrdr64*iQ0T(g z!_}X(R0SG0c17P%CxAD3N|{;eRnOQ~X^At4MuAp)9s$ZV_Wo+gwO8}5mW-xvZcr#1 zgD@bAEMa*l8ZZN|k;Mnz8rgsz$C(11SF4x-l-*_(EIA76iXuc|Rr-yz-f2$yRW)Fpi|uOI1YArYqf6?7 z;V(v3l*SS_A;M#D4o105yl{OohyIIu666JSV3VhI{AL-vv<}$AhZq8DM1vbG)9dN! z*@`l0G?nLmd|W5SIPp47!IZD!;t`tJi2*i_3X?)nmCag)umwQe551M(glfNrJHC;> zE*YiAm=6p-znDRRsObbH5r6Kz!5d+3+2ND3SNlSYKb{Le@P<|G8qyn!g4kj03!B^h z6^mJLuGF!I5?%`ouq@f>i=>lje&%iM_|CzYXnD^@p7ar%d{C9Ks6gV1h}21`_;DY~ z=eoD4A6OL1!Ff>&^V%V)?pfXY>tLNC=3FFx-M@+-9+J;A69h=d#bn|7X?vFKFjTS z5{C3nGjeP1&tu>v&7Xh86hRKtTbnHJE!x1=8EJBR$?`PKrY@wWKu^XGLyP+mUrDZ( zo21kAAE4Bx_(nrx7%7l{6$+GKGit5)bZnK@U_0KnN-k0;she3*7_b&-H+oV<+nUND zry=Zo5o#ib*)5G$%g%pzHLJ8QR5wbjm6;BLtdA1O6v6@x&A}kv#-M=9eAgPuTVBhW z(H_Lt25~HmmVfhp1HG~o$prMz;1Re~rAT(srQoL!qc$zJX)Qh~+^d%!1p;3dXopZ^ jJU=s%v@WuI6DCj+L%Ph29ww<5Zx8!# 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 diff --git a/gen/ui/bannerrtl.png b/gen/ui/bannerrtl.png new file mode 100644 index 0000000000000000000000000000000000000000..a07fe8e74ebe785c37c3a3389905f14dc79e97d4 GIT binary patch literal 4894 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

+ style=":url('%s.png' % bannerName, bg=True)">
diff --git a/pod/styles_manager.py b/pod/styles_manager.py index 6502e25..b9375ea 100644 --- a/pod/styles_manager.py +++ b/pod/styles_manager.py @@ -214,8 +214,8 @@ class StylesManager: (a) if the key is (1), (2) or (3), value must be the display name of an ODT style (b) if the key is (4), value must be an integer indicating how to - map the outline level of outlined styles (ie, for mapping HTML - tag "h1" to the ODT style with outline-level=2, value must be + map the outline level of outlined styles (ie, for mapping XHTML + tag "h1" to the OD style with outline-level=2, value must be integer "1". In that case, h2 will be mapped to the ODT style with outline-level=3, etc.). Note that this value can also be negative. diff --git a/shared/ldap_connector.py b/shared/ldap_connector.py index e7c9894..896be8c 100644 --- a/shared/ldap_connector.py +++ b/shared/ldap_connector.py @@ -40,6 +40,13 @@ class LdapConnector: self.server = ldap.initialize(self.serverUri) self.server.simple_bind_s(login, password) return True, None + except AttributeError, ae: + # When the ldap module is not there, trying to catch ldap.LDAPError + # will raise an error. + message = str(ae) + self.log('Ldap connect error with login %s (%s).' % \ + (login, message)) + return False, message except ldap.LDAPError, le: message = str(le) self.log('%s: connect error with login %s (%s).' % \ diff --git a/shared/utils.py b/shared/utils.py index 4c742c1..ab68838 100644 --- a/shared/utils.py +++ b/shared/utils.py @@ -438,7 +438,7 @@ class LinesCounter: self.printReport() # ------------------------------------------------------------------------------ -CONVERSION_ERROR = 'An error occurred while executing command "%s". %s' +CONVERSION_ERROR = 'An error occurred. %s' class FileWrapper: '''When you get, from an appy object, the value of a File attribute, you get an instance of this class.''' @@ -476,10 +476,10 @@ class FileWrapper: must exist. If not, the file will be dumped in the OS temp folder. The absolute path name of the dumped file is returned. If an error occurs, the method returns None. If p_format is - specified, OpenOffice will be called for converting the dumped file + specified, LibreOffice will be called for converting the dumped file to the desired format. In this case, p_tool, a Appy tool, must be provided. Indeed, any Appy tool contains parameters for contacting - OpenOffice in server mode.''' + LibreOffice in server mode.''' if not filePath: filePath = '%s/file%f.%s' % (getOsTempFolder(), time.time(), normalizeString(self.name)) @@ -511,7 +511,7 @@ class FileWrapper: else: filePath = '%s.%s' % (baseName, format) if not os.path.exists(filePath): - tool.log(CONVERSION_ERROR % (cmd, errorMessage), type='error') + tool.log(CONVERSION_ERROR % errorMessage, type='error') return return filePath