From f6f2ca6d5bf6aea4dedff3f0a968cfb7aac74f81 Mon Sep 17 00:00:00 2001 From: Paul Holmes-Higgin Date: Mon, 24 Jul 2006 15:40:11 +0000 Subject: [PATCH] ODF additions git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@3390 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- config/alfresco/web-client-config.xml | 7 + .../action/evaluator/ApproveDocEvaluator.java | 4 +- .../ApproveNonDraftDocEvaluator.java | 42 ++++++ .../action/evaluator/RejectDocEvaluator.java | 4 +- .../evaluator/RejectNonDraftDocEvaluator.java | 42 ++++++ .../org/alfresco/web/bean/LicenseBean.java | 128 ------------------ source/web/images/filetypes/odf.gif | Bin 0 -> 1019 bytes source/web/images/filetypes/odg.gif | Bin 0 -> 1021 bytes source/web/images/filetypes/odp.gif | Bin 0 -> 1030 bytes source/web/images/filetypes/ods.gif | Bin 0 -> 1026 bytes source/web/images/filetypes/odt.gif | Bin 1024 -> 1010 bytes source/web/images/filetypes32/odf.gif | Bin 0 -> 1574 bytes source/web/images/filetypes32/odg.gif | Bin 0 -> 1590 bytes source/web/images/filetypes32/odp.gif | Bin 0 -> 1611 bytes source/web/images/filetypes32/ods.gif | Bin 0 -> 1590 bytes source/web/images/filetypes32/odt.gif | Bin 1576 -> 1501 bytes source/web/jsp/admin/admin-console.jsp | 3 - 17 files changed, 95 insertions(+), 135 deletions(-) create mode 100644 source/java/org/alfresco/web/action/evaluator/ApproveNonDraftDocEvaluator.java create mode 100644 source/java/org/alfresco/web/action/evaluator/RejectNonDraftDocEvaluator.java delete mode 100644 source/java/org/alfresco/web/bean/LicenseBean.java create mode 100644 source/web/images/filetypes/odf.gif create mode 100644 source/web/images/filetypes/odg.gif create mode 100644 source/web/images/filetypes/odp.gif create mode 100644 source/web/images/filetypes/ods.gif create mode 100644 source/web/images/filetypes32/odf.gif create mode 100644 source/web/images/filetypes32/odg.gif create mode 100644 source/web/images/filetypes32/odp.gif create mode 100644 source/web/images/filetypes32/ods.gif diff --git a/config/alfresco/web-client-config.xml b/config/alfresco/web-client-config.xml index 698fa3361c..5c5b6cb4da 100644 --- a/config/alfresco/web-client-config.xml +++ b/config/alfresco/web-client-config.xml @@ -249,6 +249,10 @@ + + + + @@ -256,6 +260,9 @@ + + + diff --git a/source/java/org/alfresco/web/action/evaluator/ApproveDocEvaluator.java b/source/java/org/alfresco/web/action/evaluator/ApproveDocEvaluator.java index d33009d6e9..714c35f4f5 100644 --- a/source/java/org/alfresco/web/action/evaluator/ApproveDocEvaluator.java +++ b/source/java/org/alfresco/web/action/evaluator/ApproveDocEvaluator.java @@ -17,6 +17,7 @@ package org.alfresco.web.action.evaluator; import org.alfresco.model.ContentModel; +import org.alfresco.service.cmr.security.PermissionService; import org.alfresco.web.action.ActionEvaluator; import org.alfresco.web.bean.repository.Node; @@ -33,8 +34,7 @@ public final class ApproveDocEvaluator implements ActionEvaluator public boolean evaluate(Node node) { return (node.getProperties().get("app:approveStep") != null && - node.isLocked() == false && - node.hasAspect(ContentModel.ASPECT_WORKING_COPY) == false); + node.isLocked() == false); } } /* diff --git a/source/java/org/alfresco/web/action/evaluator/ApproveNonDraftDocEvaluator.java b/source/java/org/alfresco/web/action/evaluator/ApproveNonDraftDocEvaluator.java new file mode 100644 index 0000000000..01ba1aed31 --- /dev/null +++ b/source/java/org/alfresco/web/action/evaluator/ApproveNonDraftDocEvaluator.java @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2005 Alfresco, Inc. + * + * Licensed under the Mozilla Public License version 1.1 + * with a permitted attribution clause. You may obtain a + * copy of the License at + * + * http://www.alfresco.org/legal/license.txt + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, + * either express or implied. See the License for the specific + * language governing permissions and limitations under the + * License. + */ +package org.alfresco.web.action.evaluator; + +import org.alfresco.model.ContentModel; +import org.alfresco.web.action.ActionEvaluator; +import org.alfresco.web.bean.repository.Node; + +/** + * UI Action Evaluator - 'Approve' workflow step for document. + * + * @author Kevin Roast + */ +public final class ApproveNonDraftDocEvaluator implements ActionEvaluator +{ + /** + * @see org.alfresco.web.action.ActionEvaluator#evaluate(org.alfresco.web.bean.repository.Node) + */ + public boolean evaluate(Node node) + { + return (node.getProperties().get("app:approveStep") != null && + node.isLocked() == false && + node.hasAspect(ContentModel.ASPECT_WORKING_COPY) == false); + } +} +/* + +*/ \ No newline at end of file diff --git a/source/java/org/alfresco/web/action/evaluator/RejectDocEvaluator.java b/source/java/org/alfresco/web/action/evaluator/RejectDocEvaluator.java index d05aaf227e..68a7e3df14 100644 --- a/source/java/org/alfresco/web/action/evaluator/RejectDocEvaluator.java +++ b/source/java/org/alfresco/web/action/evaluator/RejectDocEvaluator.java @@ -17,6 +17,7 @@ package org.alfresco.web.action.evaluator; import org.alfresco.model.ContentModel; +import org.alfresco.service.cmr.security.PermissionService; import org.alfresco.web.action.ActionEvaluator; import org.alfresco.web.bean.repository.Node; @@ -33,8 +34,7 @@ public final class RejectDocEvaluator implements ActionEvaluator public boolean evaluate(Node node) { return (node.getProperties().get("app:rejectStep") != null && - node.isLocked() == false && - node.hasAspect(ContentModel.ASPECT_WORKING_COPY) == false); + node.isLocked() == false); } } /* diff --git a/source/java/org/alfresco/web/action/evaluator/RejectNonDraftDocEvaluator.java b/source/java/org/alfresco/web/action/evaluator/RejectNonDraftDocEvaluator.java new file mode 100644 index 0000000000..29eb1a64a1 --- /dev/null +++ b/source/java/org/alfresco/web/action/evaluator/RejectNonDraftDocEvaluator.java @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2005 Alfresco, Inc. + * + * Licensed under the Mozilla Public License version 1.1 + * with a permitted attribution clause. You may obtain a + * copy of the License at + * + * http://www.alfresco.org/legal/license.txt + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, + * either express or implied. See the License for the specific + * language governing permissions and limitations under the + * License. + */ +package org.alfresco.web.action.evaluator; + +import org.alfresco.model.ContentModel; +import org.alfresco.web.action.ActionEvaluator; +import org.alfresco.web.bean.repository.Node; + +/** + * UI Action Evaluator - 'Reject' workflow step for document. + * + * @author Kevin Roast + */ +public final class RejectNonDraftDocEvaluator implements ActionEvaluator +{ + /** + * @see org.alfresco.web.action.ActionEvaluator#evaluate(org.alfresco.web.bean.repository.Node) + */ + public boolean evaluate(Node node) + { + return (node.getProperties().get("app:rejectStep") != null && + node.isLocked() == false && + node.hasAspect(ContentModel.ASPECT_WORKING_COPY) == false); + } +} +/* + +*/ \ No newline at end of file diff --git a/source/java/org/alfresco/web/bean/LicenseBean.java b/source/java/org/alfresco/web/bean/LicenseBean.java deleted file mode 100644 index 8f599c804c..0000000000 --- a/source/java/org/alfresco/web/bean/LicenseBean.java +++ /dev/null @@ -1,128 +0,0 @@ -/* - * Copyright (C) 2005 Alfresco, Inc. - * - * Licensed under the Alfresco Network License. You may obtain a - * copy of the License at - * - * http://www.alfrescosoftware.com/legal/ - * - * Please view the license relevant to your network subscription. - * - * BY CLICKING THE "I UNDERSTAND AND ACCEPT" BOX, OR INSTALLING, - * READING OR USING ALFRESCO'S Network SOFTWARE (THE "SOFTWARE"), - * YOU ARE AGREEING ON BEHALF OF THE ENTITY LICENSING THE SOFTWARE - * ("COMPANY") THAT COMPANY WILL BE BOUND BY AND IS BECOMING A PARTY TO - * THIS ALFRESCO NETWORK AGREEMENT ("AGREEMENT") AND THAT YOU HAVE THE - * AUTHORITY TO BIND COMPANY. IF COMPANY DOES NOT AGREE TO ALL OF THE - * TERMS OF THIS AGREEMENT, DO NOT SELECT THE "I UNDERSTAND AND AGREE" - * BOX AND DO NOT INSTALL THE SOFTWARE OR VIEW THE SOURCE CODE. COMPANY - * HAS NOT BECOME A LICENSEE OF, AND IS NOT AUTHORIZED TO USE THE - * SOFTWARE UNLESS AND UNTIL IT HAS AGREED TO BE BOUND BY THESE LICENSE - * TERMS. THE "EFFECTIVE DATE" FOR THIS AGREEMENT SHALL BE THE DAY YOU - * CHECK THE "I UNDERSTAND AND ACCEPT" BOX. - */ -package org.alfresco.web.bean; - -import java.security.Principal; -import java.text.MessageFormat; -import java.util.Date; - -import javax.faces.context.FacesContext; - -import org.alfresco.service.descriptor.DescriptorService; -import org.alfresco.service.license.LicenseDescriptor; -import org.alfresco.web.app.Application; - -/** - * Backing Bean for the License Management pages. - * - * @author David Caruana - */ -public class LicenseBean -{ - - /** The DescriptorService to be used by the bean */ - private DescriptorService descriptorService; - - - - // ------------------------------------------------------------------------------ - // Bean property getters and setters - - /** - * @param descriptorService The DescriptorService to set. - */ - public void setDescriptorService(DescriptorService descriptorService) - { - this.descriptorService = descriptorService; - } - - - /** - * Gets the License Description - * - * @return license description - */ - public String getLicenseDescription() - { - String description = ""; - - LicenseDescriptor descriptor = descriptorService.getLicenseDescriptor(); - if (descriptor != null) - { - String subject = descriptor.getSubject(); - String holder = getHolderOrganisation(descriptor.getHolder()); - Date issued = descriptor.getIssued(); - Date validUntil = descriptor.getValidUntil(); - - if (validUntil == null) - { - description = Application.getMessage(FacesContext.getCurrentInstance(), "admin_unlimited_license"); - description = MessageFormat.format(description, new Object[] { subject, holder, issued }); - } - else - { - int days = descriptor.getDays(); - int remainingDays = descriptor.getRemainingDays(); - description = Application.getMessage(FacesContext.getCurrentInstance(), "admin_limited_license"); - description = MessageFormat.format(description, new Object[] { subject, holder, issued, days, validUntil, remainingDays }); - } - } - else - { - description = Application.getMessage(FacesContext.getCurrentInstance(), "admin_invalid_license"); - } - - return description; - } - - /** - * Get Organisation from Principal - * - * @param holderPrincipal - * @return organisation - */ - private String getHolderOrganisation(Principal holderPrincipal) - { - String holder = null; - if (holderPrincipal != null) - { - holder = holderPrincipal.getName(); - if (holder != null) - { - String[] properties = holder.split(","); - for (String property : properties) - { - String[] parts = property.split("="); - if (parts[0].equals("O")) - { - holder = parts[1]; - } - } - } - } - - return holder; - } - -} diff --git a/source/web/images/filetypes/odf.gif b/source/web/images/filetypes/odf.gif new file mode 100644 index 0000000000000000000000000000000000000000..d5bc5e0083d9783048556669f12141f3f47d86ce GIT binary patch literal 1019 zcmeIx!Alfj7{~E<#n9ADL?bB|mZVzJXhUe%EpXSRav-WXguREz27(xa>@5gh2^ZgV zgLf_IJrul!CU10TphI&om_tNEhZ^wEkco2&*61*m;8K_Eng5|}Q3n_(ELMdTc0#4hKQA#RcNekH0wpEm+ zEMO}*ZAUr4wW4gx29D(b*K&bpM>)0wT-ybn?Rid=>$t81+wQMGEVRznD$|NYx9koa96LueND zA}IPNP~&IRo%xffW4rpVx0aKGx%sz4WAWjM`Yj*2nz!#rPxPN`t&d-tFHDH(cMav) zc>HN>);?e=!e%GBgSUqCNE?4%DiHPv@mFN*)Gj)p;olf-w3tp6$QjcRn13vvbbd z9$k3);9zMwnNC8Ir1>z-#{)7PXPqJ&7kQ`5i*iWHYFt(Ysp_I8O<6Y;X;@8I+c4I! zmbIL5B3jN{szUHCg40DvE(wTwAb8U?x=0}j2msmiC2yo4)T6f)kkkhSECpTwuRyS_ z(M5q$ptWlHilvHWO4LfW3WVyS6@AjE#ZUv&AhaU%oKR3BG1$%`&yeRR$PmRCWr4Cp zs1Z0SB54I`s;ZmlV$fK_QzOXGNKzQ63^YbHMhl~*(O^&-)TWCy)>@HTky%M{E5{ZJ z3#En1s@m$-YHqc#$Sq2XU{P5^v^8k&Ok3;dSVz@6G3!L?BpEoFJ0N4HDyM3P+@WwN zogv_ib{3sA-CP$>$9by3i&-yIFEcN552=TNhs*=rhh7z4m0s0eS6(xZtw-)rc*DJs z-hj8tTl7wQXS}m_R@!cBm*4}50nz}2pzDB5Ko+nKhVWozun?>Y4uYeqgTvrW@UENd z5<`qJNunA=okg8TJ&ZVxSVSx%R?*baw9)eDAbJyni_z1>|4jeiiC&UyB?l5p_fI4{ zwi0;dQuD`Dd*8{kyL;1f>))R^_VdDMHQWBd#N^(o(e`}j`}-e1Ha~iKe%oEWef_Ny zUp;w~&G+X{Z>-Pld+^>}_pjY^{-Gmx@0@w;*Y?&AYwHhJ=U?1>l)cL@Z=IcdZk0X% z<@$C5Qe4?P`n< literal 0 HcmV?d00001 diff --git a/source/web/images/filetypes/odp.gif b/source/web/images/filetypes/odp.gif new file mode 100644 index 0000000000000000000000000000000000000000..a8bceca5aef78a4711fbc864a92802876c19eb58 GIT binary patch literal 1030 zcma*m&5Is29KiAHb}hT=;Q^^Wz9A2`wF~uS4oV-izKm7rP!PwWbi6$4C?dg?l1dkY zAaz8=c-Ru`C15E;RGO2->TYAJ3n^GPAk?6h4brL+3Qg^0s34EO@h|YphmcGrnbSP6 z^YLxNxgP4F7NM*tv!WV;vdTMkUe!eh7d0*cCKVvG#-t_`(}sYCQN|m_8W_1?Kmf@p z=8zB^=2D7kR#Zd5VN(cLN+pz%=MB&F<95}qins)4FAg>%)^iZdm-f;~uUrHv-J zrj_PY3$B&aT}B&VwY8@1n|fey-{65ExuJ!jmEpt)W|TBt)>vyRWNTz`-_p`HwdK@G zZk4b~S_9WW&N}C6gQl&+~9s~y9R6DI(5iaRZx(asoWL3h+S?|kqz z@)%5e-1B(WxOnchmC5tpt$**{2N(N`a|b5(f3vWQ z|M|zw%NzQ4?Ys2m=e-ZNymhAk_ZRbP#~ywA$kGLWXE-|d%hxZjE&VvBixbE9-g@EE z>5rca2VdE<{NkDH)o{z%D^sgK-}wB(U;c8w>(`~bo7dG%_ig>*(;dx6*Iu`PpWHk; z-OQ}WYYzQ($G20LXP=(gee|It`8)2h9sK0>7q+}{wchm9XS+XnX8X*BVzlX=m(~x? Yt}Y)tx$n08@aU1_U+&#MF@f&?7yAEW<^TWy literal 0 HcmV?d00001 diff --git a/source/web/images/filetypes/ods.gif b/source/web/images/filetypes/ods.gif new file mode 100644 index 0000000000000000000000000000000000000000..0758aa2aafd06ae8241de7db11b3a002e35ed7a3 GIT binary patch literal 1026 zcmcJO-)me&6vwB{Mgt-&C6tgp#P|yrjj%S_UQ3~FFtxW7>V1-1EKRS{A491yP?SMo zmr+qh!FH-u2C?FR(i}l>LJOV}5XV+w2wE;eY^rRgY_43YT&7&1JX3x`A=AcctFCbTT!Xy~j13*3UVpe=y)x%J$7VKK3x zZ3Ah?hSbJ{-l*d>K+6HCciuSf9CC-!h17-2g~G*-i>ZrQ9U;7>Ab1ZR0R^A})PM%i z0s^21Ltc20dDjj&6G-AAGPrcprj~#z*j_sM|FG1JE1;nTSzi zv={*+Vhk7~mIh0QC0(Tm5ov`OLkXcIEn`g?%Mi&|K2{-CF;-PsQ$sZrsXU;viWn1#ZEBn9bZ9TU<`N`q&?^jM7cx>sb z-uOSK{+zzJBP>6E{kyXl77iSGduhwwmF0yypE=k~&n)hnSvmg0Au-iEdtv_Ctw*lz zh1(zPUZ4N@)~m0doVons_~uPFe}8{^)4d1({;7Fs_k8#97k2ed-S)wexew3p?B2h& u_)h2BFIU$-zVGVsxt&kRt-sz_d-%DF;*ZToPi$yTi{2eGf6d*+cKiqGNMo%4 literal 0 HcmV?d00001 diff --git a/source/web/images/filetypes/odt.gif b/source/web/images/filetypes/odt.gif index 0371d01493944accb7dad38b6a504ec52cbdcf9f..e89833a22d7241911697a4f86f3076ea2fded37d 100644 GIT binary patch literal 1010 zcmeH`!AliE9LHDFe1Xwo7C}<8D;`Q;F3^A z7$-~+$U;#rD3_EgDkOy}L7#EXxL^X5OeiLOE+m(r;*b>>2qA?8l~ABBVDUq#QBr}v z^ua*F7=%jWD<2FL)F4t}0;X}2#c7&o(gZ@9C0UkgvJ^sA$uyO$0#+-UYNZNpS2f$!?f?Ai59I&U)#xKQ zp&xw{MsCBXF^0Fk*Ueb8Wu;(t&-N6D+Dc0wuaCDhn$4X{^EdbGXdQa~Y3kyeox8@3 zHf#CA!1&&=8;$)dbJvOu#)G6+JZspTKUtdW8XGw^`NSOjnHxD;YMSr9U0YwfwSHM0 zF7NOD^7hf<>%y7b`Cm@bf461eP`mYN`u9X};$8H4bK&XN7qzYX)*p^eeS2B1?pJXJo@vARBU L>0novVVwI5+q9)$ literal 1024 zcmeIxPiqrF7{~ERT+AX0V-GU*PswUq8>od)BppSlqo#4O)b63!RElv=vKMtI2&<5o zg@n3DtP2L6OB>fy10K5Q!G)-C!6G?E4^pC4JXS$SZu-QFZ=xT*JTKq}&&2uU7|mdW zQ5zwd5Sb`giQ^bVaU5bqi4m$2rV*A_;#8qbp{k;$W00oDnMzfSrVXldrlpx~FrBNA zVQRXe8C(aP>)g~W#{h7hsv$hyWpdNvmc?y{+ky+v1hz08VY;4WSvC-^?Ya&S!f{;z z;Cj9bs#VwXtH5t~!1ukN={1@@2m-&c5r9Tl6Kr(-09)-X(EjJow(SM}FEETi_ZN`- z9aYGC6w0Cfqw}vW{R$@^4B^UJ`O0{Bk1`qUn|*U8RVVwF&aQ>t2KNT0XTD{Lo-d$C zYBigy?_77LEm4f3TJFhY>UyiRqh30YILySC&0D=a}KLl5mkM)>OV6b(v>0q#=uTqGVOWQnxv)n~{C)f7p+E=8;cc z?_V!D>mJM7hBghPfszoUh0!t_T;_z!z(CMSo3qjeS2_Wt62S~M*x-Z>Fk(P4vlBKu z5i^XK!A5a2hTCAo2BS6vwV{{|oEYImP$!BxG296@PQWMzV>pZh1dNj~K_V!IU^s%~ z2tgqvh2jKCQW#EP1c{L(M$tG);S`0_G)^-FNfIPQPykKPG{FE2Nzo(?FeKOvOR@~f zf|sLcnxYwsVJMcRz{#<+7(+7vOS1q+a~vbaGAzI`;N(I~2;f;Uj^%(58v=Ni2Lw(m z#DxH!;{kyagpe2?;`tERLX;O1cmas=Q6MIWMTIC36JkI-Di({zfOs?xBw}LmSR6>i z5{bB2A`V6(nGj1RlE7+GY&E&Mx(Y$y`M>}63us?TB@i?S=^>E#PeAh5kZNuBf_B=Q zQG9vq*jWpiuZL%;E@(j5v!jkf;QY%E3 zHwHQ!Z#^1rtnU6f*y0a|Q>!Z02(vS3L$|)Ik(q{5yro$gdFm}K_cuQdoE>`BSfpDs zK-VAn+&Gf%-Fr^CsivhTs2SkD_blhR!yZ{~rPH6;mU_ajRO_32{lV78pGHnS^_zkn zr@z?Y5R3;fOU96DSLdYts{f{O#P=#F!E{;YHq|ayANXc&pk!y`Iepn3M3%W;nO3GE ztb;ddn+kUKP4l-#>p!{Ja4ST}vkNn%zpn8VZ*A6Z&V60po_DY6kh-ovZ&VYUYI^70 z{Dm<|J+{aEu;_7keoDX5M_=5Zw&PW+Oxsr)csN-7dkfmcd3q8l*o!Zslx|H4)(Ys=eP3|l(v0E zV%4DeX7Bo@7p|ELy$^Cc8K^E`wVcS&Tvy=Zj(%-_;kt$khVJj?FH%n?E@>OumZg&1 zamD-wFQI&*wn%SFwSh}pFDr|Njp6jyACEhHm%WR>*X1&R!?U;ksQWKT}S1*24)i7)9`{9>$ z?%Ua^twGCqmo$*LhIb9uD*j2kn#d}=SrL{Wqn7HgNmARris}_@FkI34Y#J(?UFs|7 zg&s`If7r6*QJz?A^QrNbQJ<>hiv20H?abb1w Zw8ogRJKQys*Ar)xX)*juRSpF0`WGM)nZN)5 literal 0 HcmV?d00001 diff --git a/source/web/images/filetypes32/odg.gif b/source/web/images/filetypes32/odg.gif new file mode 100644 index 0000000000000000000000000000000000000000..f4dbaf33ec93b1d1f935aa7aed85946659f7c203 GIT binary patch literal 1590 zcmbu;|4$QV90%|NQTe(7f>wvv0)mJGiVm-e3l^-Upws$;qtS>hKe%;qrmYKET?AH8 z*olBOI&(M>Z!)%X2tLtGE;=v=Li<1zZcg!ufbsUl<(5cxn=#&=^IzEedF7KQpL;%^ z-)?J(i8Soj5?Vqg2))Isx7ZAr)n-&Vj5dcw<+M1QR?O+PIo%G-?R9uDpVRAeV?N4@ zQGOpq`6xf-rzsj^{50*ym0@T#42>@gOS2eYyatB$sSPzO!(xB|fc5EE+Q%{&?%}sM zfW>{l0ZI>O2cX@6q11*N4saacdCsTfC_P6RImXMeehx648lJApo}k zd;;eact+q^fd>L)1;`6(kbn?k^oTJc7PBDMhJXVBCjxH7c@ghNJdJn;K^j38L4Y8K z1dK-lM6ah267fMIu9C=Pii}=lF@wljM1a{u&Mk6Y5z-=LM97K)21J1u5fqW2&Z&{` z5hYw@iOG~$y~G+N)*=DD1Pl@|N&w%j66cUOr^IrpQ1q1B1+aW$2S3B}2a~V6==_837q_vIt}mS6&vOED5qC zs&i@-Sy2>%P&k9a8x`K7@Ky!d6zEW(Q-N+p@G62|L9`+QMG_QQR1^tM{LkqA4GSTN z2gDizNBt*=@K*$gm`JZ{Ok8a~S6DOS8;V}KwrZWWaPyX)8qM17&dP@FG){JZnn1vDjMh~J#qCBRE+)n zhA%@_#`$A)g`V;14rADSkH5Ax)fBi?@!t2FHchAP>~VUm=AoF{qWZ|tu$jr4q}3Ce z^kc8~4laK5LX1u#J*2kz`dBe(zJ8#leD9qdvsZpw!JDa53K8GYw!zhNx-Ri(c#275 z55zTA{ajoX%xxbJnW(${!EV~!+HW7tZlBAuiMxWgH;%r>rrTz;MtL{A}V+@b07i}kJ$icLx zj$59Qw9B4>(w3mFFD9*7b1!B+|0E?qd*CnjvZgZoos1vm2B`Hd+WRHh!yk28RvZ?V zCYgc-u91~rty@%<-O{6vZ2QTxYiL=+-4c`OazRRiu5DdWWab&V`}ehv{L}T_uX(&P%+8tCJU@10u0GUqBdKDdF|{hGH{xyi?!$(2 zXC~en$rugXJ?NOXZRU8gt1|Qu*Iqps%<-m`PuOSbLyIF zM@IAcL(jL7<)3s~mX?245Mp}cxo+!7*0rhL^l!WD)avGmoeSdkT}=uxT_$^n#`@9* zh9}?OcjEYp&$>G1FL6}{hv#Wl&YF{5;VDrm_G^FsJ^4mOam>yAu_>jxkHr&*7f)#> aZy6)fr^ag|eM=7hGkvT`yQ7dGHvR{WqJj

z$kZB+mB@69G&YxMJdKwwoysC_k2WJqOuP6&`dt5le&;jKJkLJ+Jp0q; zx)x;TtWL&~F$2RKZjZx_=O7;38Adp9!W~As3DSd*6pm0dK~e-olQcsi3`?^d!?Fw- zIi5v$MBr$WL-9O^=7PZElXyIb=g=n4qopA7q9}N50`3qfj}T52&=XM-ahpguMA9iT zgvha?z=>!NB}t+rOO#WhafzcPo|8mD3MWf4qDYD&6IPk9$)r^#Z8GJQX}3({GDpcg zD~p00PLUNw!7+uv6w<2D9)%$kj#dOt5qU)v6d7HE0tx_tzyN6mq!o}hKso^B1dInT zIA96Dl7OQCkI+EmfFuA}0+UIaL~QtBglw z36-N%9-&oPnOH4@V(vqm{I+NRMt8spR$x5juh7Qr=+&^S`#DNR6V zO<**M*JMP{6iEX>Ll=dE8bowRVvsUH$_yzhq>)LGc0f7@G7iW%A&a;n>wzo|IUMp7 z6lf?gP^6)VMi$CElm)0DB2**@WT*nDsStf2oDOxw&?%EnnRObm>Wo8YksO_M>a1Jm zah)f1fzm}<7g=5Aby?6AQ3r^m16kLAuBkfIbaY)fLpP9qgL50a$KY{;Ck%--WX=Gh zp#ejO26`!6ztP{{k750W-v8eet^Q}Wmyr<|){A9esPI35nO>3!_S3D$=YqLPBNNWeiBTixMVg|An_fiZb)Ry2^Sw32 zg|5ofrROth${#iC8al%KMrf*iUG35prB@56LS=B)lJj?3`&`3@j2J&>ZJj;B=PPhk zj4I9x9=^SGNnXLrI~&@Lk80iY_2ZqZeOUSDUs%6-#Vu&w)N}9k+oyU*&)YLRX}Bpt zdwww5>{ye(Ki9LOtn|f|UBwl`mHyOw*Yivt<;{-`C2u_aXt%9lXDz7c*&f$oo4Y(a zp|sI)H!Afq7Wcu-pG!KDnb>X9TK1+5kE?vQ?GTfYbfI%9JM)k2M904D?y?TM>+eo5 zyR@ZYk^P?kbjN}0KL4^A+q`|hWd2rG(aAk9J+Dro3kJ9|@0N8ep3%wNZaK7ecLzJI ztL)FNO8bs$O%uMqU%fA@JLO;~zO4K5`w1tk6q{a@H?Gk767} z&R35!gp}gu6S*JHuS)!KdvM6~#_VZLqZ_%RziJxqRQoML@zw)LuS+A_n=|Un7osgE zdjrE9KRyjEnsV}J-~1Xj=HimXRVJrDU5>s`X-PX;9kQSD)(@&YGiS@17)xPZR8qy} zKxJmboOIScF+iWKhnM;qFQ?|0EJ~!!)kD&+nl7-Go?c&-y}r}8XhKhY-&uQN{&ZI& zVfHnrAM>{lO$>OqS0)6!lbhm4Rkd%t9-rTsn^;)4Y;Q_zQy?@pvG#uP6xO`#S)}F3 zd%-ukg?+BHOKAar>hZ|8F1FUyRn2c5aVI}&boRU;mA3!kx2Ewm-XlXN*PIE2;<8LJ z<)N+qo4dzu8|e%EzRqlmjQy+VKxsKn&I8}vg;7Bq;_^h1UCC$$F5)r literal 0 HcmV?d00001 diff --git a/source/web/images/filetypes32/ods.gif b/source/web/images/filetypes32/ods.gif new file mode 100644 index 0000000000000000000000000000000000000000..0e3c81775c15163ed847b065504f1ba8a6503191 GIT binary patch literal 1590 zcmcJO{Zmv`7{{+GBJvU_MnI?wi@Yhii-NmGaYNNc?+C_&Ai88kRgo1SE3%9^ z84EIT%Y>DQS5_Ue>XubD7@;VT29cs51tZKOEFvr+3=oD0BZL)%F(MoyJR$-jA|etZ z01+9ftP%t(7%Et%rxi>+Q3zCsq7b5}Kv9vR@xgWwf(fE?OsG+@Dq$636=4-)m0(rH z8o-*2HF}grC@NhUBlciK?rru4_SbO~;x}G+m`uqfI@a1&9{V zUl7m(DsAX=8=!tjAJPJpp`pOgNKk@|42@7;$jIo(=;$cJjK26%`~Q*rPskXC(V3YH zCHN+ou;&b(@N~F^qlZ>cn~LFU6fLn9Nq+>p7YemDEw`ueyHEY-bq5BX&{+vOWSb{;;|>drBmt!+O5a^mLMhwRD%>4+6PxO_Ba z#^brm3alk%W%lZ{qqmyIoi>e$F)lf(*Vbjd37U-ycJw@ItLkjsxxjR-&S@&mm{+{1 z;PCVo?JLjw-&CDXdCq!qMmvr~cDV3#5OMADqdypmGi!^5TF=f020 zdw1jh*;mRk)0(o^pV=9;g88#`)$d_osio zE_`>(b69tA(S(8gy#BoS3VU~U{WC|@)cjgcM(c&}LlZ6WWeq)9TjQNYQ(re8tVvw^ z)7`Y_8|?nVsY}KAE>}&N(U5+^{A9`8wVn2^i>a3x--K7&eqA4(u+X{4^>*2YU()LB zvGsAO3r)kFi`SWlJD<9iIbHM1s+}_$tcIw$Yk>KWtNj%#Eu=rcz%VzxynJlv!V7Gz zsmIkJ5Aj}|KZpE1LTfKc>n+a literal 0 HcmV?d00001 diff --git a/source/web/images/filetypes32/odt.gif b/source/web/images/filetypes32/odt.gif index 34e0bea33d77b166e7a0c73d10f34dc0a1863449..b920c40f0b00ea8c1cf8ff6bdee5fd79a7539f43 100644 GIT binary patch literal 1501 zcmeH`|4$ob9LEc5X=UX*)GD*IrLsDZwcwIf%~D!{wl*6p$slK3Di?uyM1ce1ykPip zEG!A&jSUz-SQg3fxxc|*edU!W@Av!1 zC;1c`i;ikOkaDD)2!}}@?ZUGBMKnMyU7=!|G2qhq} z;3SNoFp9w#4r2t2kuX?r3c+v$ClL?`3dL{~Cs3S3K_+R8ATff%2pS_P3{(o}!U+N= zNSp*xI7#D_iy$e20@4J?G|)|w6iESTk_Ng+u(&)F3r*2L7v%!FDKNS{G>eON0o^pH zZieXLhd>B#hFLblo508>OJp+w+>5a6MfU#Zzy5&i88?bOf*kf? zZ-OIu&WRFm6Lk~(IO)XVxc+L_OL>(G*FOER{erVqoPVlbH9mPh1=?Ed&8+H{7k4h& zR90!*H-tFbSbt0Jy^vo%Mh*`QUc9Ys-k2|UEP30Hsd#?jtt;Jkt{zKkd^U2qTWwn>7@t#>Tg;j9;u75a}Ar)#Sm=HhdY8_pC|{gHMM>t9f}`w}I; zmklTjM)XDeLQ@)V0iK;HHJ-RWuU<9GIt~Zw^u`f=t9A?_^c^Nfp)mIJKR>ZYabroP zh#Ma{^I*D7rdO36`c1Iw{KuB~WccQd8`SzG?yM+5R$a$P&?VWF{H}4?p|C0Q3>nSb zihH$xCi$q?BQ+=a@^;m-p*=yjBgj-nh~eWsbXY}Z?~jWS7iN;D zK6*%BZt6(l@#dC%qFU>rp~0>=g)xfvhTWHRcJRTY@5a9Wy45ZjtdHU+9LXIhq-q~+ zO~}15eY_%bs!jWH^{#DQC~023_EQEoJttK>UQ&7BJ#m3SzSy+>+xiuQmdBbSe^PPxmP_YY^rDFKGjyQo@Ye)&fe|YSv@T?@@PS=KIzpd R4s%D#fBok`HlNFR>tA4Oe(C@K literal 1576 zcmV+@2G{vVNk%w1VITk?0QUd@00030|Nr~@{O#@T>FMgv(bKxX#Zy{e!N<$T%FOop z`}6kr+~47Kp}caPw{V)YZI-WKgqku!OrXBeoVm=Iw#b2*sD+%XhL@t3skDlkq`1x6 z*52dg?eY>NE*md8G)q`ANK{^emvDoQhMcIi%h;T+y1LNauEWoksIsWM$HLa)zti8N zw7xYuJ$r_XUSnply1&83$;Hae6fiy$EjkS!C>AtB96?kYKT#MsNE9wS4mV6H9;swRxVItF;r$ROIj#9MMr3P zM`m_PYI;m)cSc}sPHA^td5BMAZ9h*}Y=)FUQCUS(T5yGsa)XRqYH?6pVuzchcZiWw zUu9lsZESXXlAfe|f`z`o!5KVF4k9ZYLsc3+PZu{v9Yj|VC^H#4N)|Ig5G5}gJWLZS zHWe#19z04YPhu%hV<${rCP-H*PhcxfUMNUcF;{6dT5K;+U@AyfI9qHxUvMx@TPZ?K zKVfk_T4*^`U`uR!PHlWhWpYMhZ&Y)FP;PuPMNLRyY(Q3EAS*CSWN=q>flFgj*==iJ4#z(QetU(iH~M-caor{Z+U%)l9rpL zsiCW{!^p}}SzMi~u(-g(pRBO6zr&ZEpRKdCr>?Ma?+s4PosHv%?rlzE&rJtanot~bS zmzR-}l7fSS{{H^_{QUa*`uX|!_xJbo^z`!b^6&5O>+9?1=jY?&f$jHRR#K6G7y}iA=ySulyx3sjhva+(Uu&}PKuB)r7 zqN1Xko12xDm5+~)jEszliHU`Ug@Ay7c6N4dZf^ho{{R3000000000000000000000 z0000000000A^8LW008y?EC2ui03ZM$000R80PP9H)aOSU9Bv+=qLyt~I(Et0v0HcU z95H3>dP9ez=-hZi1I>YW z#;^)VS8SX&VcsSafM+ulh$Ns&jq&7S9M+5Gx+SH??c6$d@#3uu#*tX3P6-HLeTH?O zI&RdSU4=$q+qPlD&;^sXvDhwNSi=whg;&lRw8_w-5x92En>=CyajhHrD$5)>JRrSe zma>{N@!>@ijWF;0Vvj7~1W?WugXrMK8E*u^g$608P{IiqX1Ia^ST(Z^JhTYZ3o))l z;ztiZ^q|8W5J2#N0}aF|V~i6l7fw7jv4RK^KN$2z6Eg-WV~s-%aE>uHeepycJ?2ou z78yn8w>y_=1|Xc1J5iRwXz5wJ+iSzBV&#!4LQl!l*u7> z^oRouFEHchpMVC+Of~G>ViOjG4AG++K9I1%qmV+%!UD}y+Kd1MhR9JBfTYNV8*n%v z>ZqhTK*2MpJ_F4+XK}QOBuw=Gz=oSfJYegsxIR#UfC3IM4vrjg!pIV79Q1}0C?u=w zvM6vc&9l>3la4YuN}&f1IH*B`76f$b?YH0(APhUl*fdHaN92&h89Rhw&Aaf%E3Y-( zv{Q^tWGI4%8fv&vgBLCZEbzcCedEr(9K|xl9%r1PLk$v`Ao0W$PuxNQktKtSO{Pqt zgd1)={6PdHmu#}h7j!dBJMY*8iz9!8tiui-h+y;0IOA-=H{r0;>PBWUr(n=fP%{OyJH9{dp%#+T|le$+G>vrOjMTC aQ8o@bJTibZc;~J6-qnZ&W2is@0RTJijOKR$ diff --git a/source/web/jsp/admin/admin-console.jsp b/source/web/jsp/admin/admin-console.jsp index 4b48d8c131..1afb36f029 100644 --- a/source/web/jsp/admin/admin-console.jsp +++ b/source/web/jsp/admin/admin-console.jsp @@ -126,9 +126,6 @@ - - - <% PanelGenerator.generatePanelEnd(out, request.getContextPath(), "ballongrey"); %>