From 6d9203a53f428655942552f1f55f7444bac0239b Mon Sep 17 00:00:00 2001 From: Gavin Cornwell Date: Wed, 11 Jan 2006 15:16:59 +0000 Subject: [PATCH] - Fixed various delete issues - Add new delete icons for forums types git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@2100 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../org/alfresco/web/bean/ForumsBean.java | 92 +++++++++++++++--- .../web/bean/wizard/NewDiscussionWizard.java | 49 ++++++++++ .../web/bean/wizard/NewForumWizard.java | 10 +- .../web/bean/wizard/NewForumsWizard.java | 10 +- .../web/bean/wizard/NewPostWizard.java | 11 ++- .../web/bean/wizard/NewReplyWizard.java | 10 +- .../web/bean/wizard/NewTopicWizard.java | 22 +++-- source/web/images/icons/delete_forum.gif | Bin 0 -> 622 bytes .../web/images/icons/delete_forum_large.gif | Bin 0 -> 1627 bytes source/web/images/icons/delete_forums.gif | Bin 0 -> 619 bytes .../web/images/icons/delete_forums_large.gif | Bin 0 -> 1607 bytes source/web/images/icons/delete_topic.gif | Bin 0 -> 594 bytes .../web/images/icons/delete_topic_large.gif | Bin 0 -> 1465 bytes source/web/jsp/forums/create-topic.jsp | 2 +- source/web/jsp/forums/delete-forum.jsp | 2 +- source/web/jsp/forums/delete-forums.jsp | 2 +- source/web/jsp/forums/delete-topic.jsp | 2 +- source/web/jsp/forums/forum.jsp | 2 +- source/web/jsp/forums/forums.jsp | 2 +- source/web/jsp/forums/topic.jsp | 2 +- 20 files changed, 178 insertions(+), 40 deletions(-) create mode 100644 source/web/images/icons/delete_forum.gif create mode 100644 source/web/images/icons/delete_forum_large.gif create mode 100644 source/web/images/icons/delete_forums.gif create mode 100644 source/web/images/icons/delete_forums_large.gif create mode 100644 source/web/images/icons/delete_topic.gif create mode 100644 source/web/images/icons/delete_topic_large.gif diff --git a/source/java/org/alfresco/web/bean/ForumsBean.java b/source/java/org/alfresco/web/bean/ForumsBean.java index 30ac0f6545..34dcf45e34 100644 --- a/source/java/org/alfresco/web/bean/ForumsBean.java +++ b/source/java/org/alfresco/web/bean/ForumsBean.java @@ -59,7 +59,6 @@ import org.alfresco.web.bean.repository.Node; import org.alfresco.web.bean.repository.NodePropertyResolver; import org.alfresco.web.bean.repository.QNameNodeMap; import org.alfresco.web.bean.repository.Repository; -import org.alfresco.web.bean.wizard.NewSpaceWizard; import org.alfresco.web.config.ClientConfigElement; import org.alfresco.web.ui.common.Utils; import org.alfresco.web.ui.common.component.UIActionLink; @@ -702,6 +701,11 @@ public class ForumsBean implements IContextListener this.browseBean.clickSpace(forumNodeRef); context.getApplication().getNavigationHandler().handleNavigation(context, null, "showForum"); } + else if (logger.isWarnEnabled()) + { + logger.warn("Node has the discussable aspect but does not have 1 child, it has " + + children.size() + " children!"); + } } /** @@ -711,7 +715,7 @@ public class ForumsBean implements IContextListener */ public String deleteForumsOK() { - String outcome = "browse"; + String outcomeOverride = "browse"; // find out what the parent type of the node being deleted Node node = this.browseBean.getActionSpace(); @@ -722,16 +726,22 @@ public class ForumsBean implements IContextListener QName parentType = this.nodeService.getType(parent); if (parentType.equals(ForumModel.TYPE_FORUMS)) { - outcome = "forumsDeleted"; + outcomeOverride = "forumsDeleted"; } } // call the generic handler - this.browseBean.deleteSpaceOK(); + String outcome = this.browseBean.deleteSpaceOK(); - // return an overidden outcome which closes the dialog with an outcome - return AlfrescoNavigationHandler.CLOSE_DIALOG_OUTCOME + - AlfrescoNavigationHandler.DIALOG_SEPARATOR + outcome; + // if the delete was successful update the outcome + if (outcome != null) + { + // return an overidden outcome which closes the dialog with an outcome + outcome = AlfrescoNavigationHandler.CLOSE_DIALOG_OUTCOME + + AlfrescoNavigationHandler.DIALOG_SEPARATOR + outcomeOverride; + } + + return outcome; } /** @@ -741,10 +751,48 @@ public class ForumsBean implements IContextListener */ public String deleteForumOK() { - this.browseBean.deleteSpaceOK(); + String outcomeOverride = "browse"; - return AlfrescoNavigationHandler.CLOSE_DIALOG_OUTCOME + - AlfrescoNavigationHandler.DIALOG_SEPARATOR + "forumDeleted"; + // if this forum is being used for a discussion on a node we also + // need to remove the discussable aspect from the node. + Node forumSpace = this.browseBean.getActionSpace(); + ChildAssociationRef assoc = this.nodeService.getPrimaryParent(forumSpace.getNodeRef()); + if (assoc != null) + { + // get the parent node + NodeRef parent = assoc.getParentRef(); + + // get the association type + QName type = assoc.getTypeQName(); + if (type.equals(ForumModel.ASSOC_DISCUSSION)) + { + // if the association type is the 'discussion' association we + // need to remove the discussable aspect from the parent node + this.nodeService.removeAspect(parent, ForumModel.ASPECT_DISCUSSABLE); + } + + // if the parent type is a forum space then we need the dialog to go + // back to the forums view otherwise it will use the default of 'browse', + // this happens when a forum being used to discuss a node is deleted. + QName parentType = this.nodeService.getType(parent); + if (parentType.equals(ForumModel.TYPE_FORUMS)) + { + outcomeOverride = "forumDeleted"; + } + } + + // call the generic handler + String outcome = this.browseBean.deleteSpaceOK(); + + // if the delete was successful update the outcome + if (outcome != null) + { + // return an overidden outcome which closes the dialog with an outcome + outcome = AlfrescoNavigationHandler.CLOSE_DIALOG_OUTCOME + + AlfrescoNavigationHandler.DIALOG_SEPARATOR + outcomeOverride; + } + + return outcome; } /** @@ -754,10 +802,17 @@ public class ForumsBean implements IContextListener */ public String deleteTopicOK() { - this.browseBean.deleteSpaceOK(); + // call the generic handler + String outcome = this.browseBean.deleteSpaceOK(); - return AlfrescoNavigationHandler.CLOSE_DIALOG_OUTCOME + - AlfrescoNavigationHandler.DIALOG_SEPARATOR + "topicDeleted"; + // if the delete was successful update the outcome + if (outcome != null) + { + outcome = AlfrescoNavigationHandler.CLOSE_DIALOG_OUTCOME + + AlfrescoNavigationHandler.DIALOG_SEPARATOR + "topicDeleted"; + } + + return outcome; } /** @@ -767,9 +822,16 @@ public class ForumsBean implements IContextListener */ public String deletePostOK() { - this.browseBean.deleteFileOK(); + // call the generic handler + String outcome = this.browseBean.deleteFileOK(); - return AlfrescoNavigationHandler.CLOSE_DIALOG_OUTCOME; + // if the delete was successful update the outcome + if (outcome != null) + { + outcome = AlfrescoNavigationHandler.CLOSE_DIALOG_OUTCOME; + } + + return outcome; } // ------------------------------------------------------------------------------ diff --git a/source/java/org/alfresco/web/bean/wizard/NewDiscussionWizard.java b/source/java/org/alfresco/web/bean/wizard/NewDiscussionWizard.java index 2c3400369b..cbf96fefd3 100644 --- a/source/java/org/alfresco/web/bean/wizard/NewDiscussionWizard.java +++ b/source/java/org/alfresco/web/bean/wizard/NewDiscussionWizard.java @@ -32,7 +32,9 @@ import org.alfresco.model.ForumModel; import org.alfresco.service.cmr.repository.ChildAssociationRef; import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.namespace.QName; +import org.alfresco.web.app.AlfrescoNavigationHandler; import org.alfresco.web.app.Application; +import org.alfresco.web.bean.repository.Node; import org.alfresco.web.bean.repository.Repository; import org.alfresco.web.ui.common.Utils; import org.alfresco.web.ui.common.component.UIActionLink; @@ -128,5 +130,52 @@ public class NewDiscussionWizard extends NewTopicWizard context.getApplication().getNavigationHandler().handleNavigation(context, null, "dialog:createDiscussion"); } } + + /** + * @see org.alfresco.web.bean.wizard.AbstractWizardBean#cancel() + */ + @Override + public String cancel() + { + // if we cancel the creation of a discussion all the setup that was done + // when the wizard started needs to be undone i.e. removing the created forum + // and the discussable aspect + + FacesContext context = FacesContext.getCurrentInstance(); + UserTransaction tx = null; + + try + { + tx = Repository.getUserTransaction(context); + tx.begin(); + + // remove the discussable aspect from the node we were going to discuss! + this.nodeService.removeAspect(this.discussingNodeRef, ForumModel.ASPECT_DISCUSSABLE); + + // delete the forum space created when the wizard started + this.browseBean.setActionSpace(this.navigator.getCurrentNode()); + this.browseBean.deleteSpaceOK(); + + // commit the transaction + tx.commit(); + } + catch (Exception e) + { + // rollback the transaction + try { if (tx != null) {tx.rollback();} } catch (Exception ex) {} + Utils.addErrorMessage(MessageFormat.format(Application.getMessage( + context, Repository.ERROR_GENERIC), e.getMessage()), e); + } + + // do cancel processing + super.cancel(); + + // as we are cancelling the creation of a discussion we know we need to go back + // to the browse screen, this also makes sure we don't end up in the forum that + // just got deleted! + return AlfrescoNavigationHandler.CLOSE_DIALOG_OUTCOME + + AlfrescoNavigationHandler.DIALOG_SEPARATOR + "browse"; + } + } diff --git a/source/java/org/alfresco/web/bean/wizard/NewForumWizard.java b/source/java/org/alfresco/web/bean/wizard/NewForumWizard.java index 51a3b5e429..09b9dc7ccf 100644 --- a/source/java/org/alfresco/web/bean/wizard/NewForumWizard.java +++ b/source/java/org/alfresco/web/bean/wizard/NewForumWizard.java @@ -43,9 +43,15 @@ public class NewForumWizard extends NewSpaceWizard @Override public String finish() { - super.finish(); + String outcome = super.finish(); - return AlfrescoNavigationHandler.CLOSE_DIALOG_OUTCOME; + // if we had a successful outcome from the creation close the dialog + if (outcome != null); + { + outcome = AlfrescoNavigationHandler.CLOSE_DIALOG_OUTCOME; + } + + return outcome; } /** diff --git a/source/java/org/alfresco/web/bean/wizard/NewForumsWizard.java b/source/java/org/alfresco/web/bean/wizard/NewForumsWizard.java index 8f8644d194..45501cbf0e 100644 --- a/source/java/org/alfresco/web/bean/wizard/NewForumsWizard.java +++ b/source/java/org/alfresco/web/bean/wizard/NewForumsWizard.java @@ -43,9 +43,15 @@ public class NewForumsWizard extends NewSpaceWizard @Override public String finish() { - super.finish(); + String outcome = super.finish(); - return AlfrescoNavigationHandler.CLOSE_DIALOG_OUTCOME; + // if we had a successful outcome from the creation close the dialog + if (outcome != null); + { + outcome = AlfrescoNavigationHandler.CLOSE_DIALOG_OUTCOME; + } + + return outcome; } /** diff --git a/source/java/org/alfresco/web/bean/wizard/NewPostWizard.java b/source/java/org/alfresco/web/bean/wizard/NewPostWizard.java index 5766e68210..17d1a5db03 100644 --- a/source/java/org/alfresco/web/bean/wizard/NewPostWizard.java +++ b/source/java/org/alfresco/web/bean/wizard/NewPostWizard.java @@ -24,7 +24,6 @@ import org.alfresco.model.ContentModel; import org.alfresco.model.ForumModel; import org.alfresco.service.cmr.repository.ContentReader; import org.alfresco.service.cmr.repository.ContentWriter; -import org.alfresco.util.GUID; import org.alfresco.web.app.AlfrescoNavigationHandler; import org.alfresco.web.bean.ForumsBean; import org.alfresco.web.bean.repository.Node; @@ -113,9 +112,15 @@ public class NewPostWizard extends CreateContentWizard this.content = Utils.replaceLineBreaks(this.content); } - super.finish(); + String outcome = super.finish(); - return AlfrescoNavigationHandler.CLOSE_DIALOG_OUTCOME; + // if we had a successful outcome from the creation close the dialog + if (outcome != null); + { + outcome = AlfrescoNavigationHandler.CLOSE_DIALOG_OUTCOME; + } + + return outcome; } /** diff --git a/source/java/org/alfresco/web/bean/wizard/NewReplyWizard.java b/source/java/org/alfresco/web/bean/wizard/NewReplyWizard.java index 4d065f481e..0a4730b7ab 100644 --- a/source/java/org/alfresco/web/bean/wizard/NewReplyWizard.java +++ b/source/java/org/alfresco/web/bean/wizard/NewReplyWizard.java @@ -96,9 +96,15 @@ public class NewReplyWizard extends NewPostWizard // remove link breaks and replace with
this.content = Utils.replaceLineBreaks(this.content); - super.finish(); + String outcome = super.finish(); - return AlfrescoNavigationHandler.CLOSE_DIALOG_OUTCOME; + // if we had a successful outcome from the creation close the dialog + if (outcome != null); + { + outcome = AlfrescoNavigationHandler.CLOSE_DIALOG_OUTCOME; + } + + return outcome; } /** diff --git a/source/java/org/alfresco/web/bean/wizard/NewTopicWizard.java b/source/java/org/alfresco/web/bean/wizard/NewTopicWizard.java index 287a40e777..f2e5e8f9ad 100644 --- a/source/java/org/alfresco/web/bean/wizard/NewTopicWizard.java +++ b/source/java/org/alfresco/web/bean/wizard/NewTopicWizard.java @@ -140,18 +140,22 @@ public class NewTopicWizard extends NewSpaceWizard @Override public String finish() { - super.finish(); + String outcome = super.finish(); - String outcome = AlfrescoNavigationHandler.CLOSE_DIALOG_OUTCOME; - - if (this.editMode == false) + // if we had a successful outcome work out the outcome to return + if (outcome != null) { - // if we are successful in creating the topic we need to setup - // the browse context for the new topic and pass an override - // outcome of 'showTopic' - this.browseBean.clickSpace(this.createdNode); + outcome = AlfrescoNavigationHandler.CLOSE_DIALOG_OUTCOME; - outcome = outcome + AlfrescoNavigationHandler.DIALOG_SEPARATOR + "showTopic"; + if (this.editMode == false) + { + // if we are successful in creating the topic we need to setup + // the browse context for the new topic and pass an override + // outcome of 'showTopic' + this.browseBean.clickSpace(this.createdNode); + + outcome = outcome + AlfrescoNavigationHandler.DIALOG_SEPARATOR + "showTopic"; + } } return outcome; diff --git a/source/web/images/icons/delete_forum.gif b/source/web/images/icons/delete_forum.gif new file mode 100644 index 0000000000000000000000000000000000000000..af1064666ead3cd263c5d916005b72a81a146fc8 GIT binary patch literal 622 zcmV-!0+IbkNk%w1VGsZi0OkMy00030|Nr0R>}`vwe3!DHvc;;xS{5H)fASa+gJNm_~D$ZIG>TlCO1?uP0-VNqL@HhNoSKsA7t$ zWsIwRfrK}4m_d4=MSP)1eWFQzqEUjSC~1^6beubPosP19WU|qCyw`uf*@D5^mdoIm%ix&H;FZSPn$6*o!quJ5 z;-S#vrPAc5)8(qw=CRo5wc6>q-0HjC>%`*j!{P1E=ke6(^4aY4-|zO}@b+)G)Nr`e zbGp@lz}bPp*@ME`h{W59#oUd@-H*uLk;&ea%HNmF;GNInp3mZ>(&VMnA2kLy4~u$-s`^K>&D~m%H{9O=J3wv@Y3n>(dhAyoT1$A_2lyR@$vE9-QCN} z%f7z8sHmuqkB^LujEjqlf`Wqo|Nj6000000000000000000000A^8LW004OaEC2ui z01yBW000NefO&$04g(7b6dW274ug&dOH6KSM?^pvj)NO$YB5JeVOt`3g#--@6%i9G zMq*(vNJBdhLS9^1R3~{GX>3VnV_#YzIz4oCZ76veWM*YzLOxa>RCRTD z;Bg~CLSS7yS5hV&aBy*Qb9fM+bxpv4RX1`ISxSSRDgJQq?l8bs109zhBqWV+~5kN^WS70Nl8Nl=`A I;Q|2wJMzjwtN;K2 literal 0 HcmV?d00001 diff --git a/source/web/images/icons/delete_forum_large.gif b/source/web/images/icons/delete_forum_large.gif new file mode 100644 index 0000000000000000000000000000000000000000..122a144bf5e0d9bf87290abcfe685e882f08d475 GIT binary patch literal 1627 zcmV-h2Bi5%Nk%w1VITk?0QUd@00030|Nj7HnFMN_2Wy=PY@G{lpbKrD5OALnbE6q{ zq#${wBYdbXgRL-wtU!#jP?ouGs>gAw$Z)B~cCX8SvdoXX(x1iIug~Al;_MG|q7ibT z6m_H(ccvG3rWkpr8GNc5d8ZqCs2qE!9($-Ce5oLQt097}A$_SWhOjY(t~HOiI*_+J zk+?{ex=oqAVyDJnpucae%73@flfl@rc$zHF|U9HVvu+U<$&|av>W3tg`w9;g(%4)UK zZMW2Hw$pC6)N8NIZLrO9xz%y9&Un1nd%f6JgqME5*@D5^fxOj*!`p?z+Kk5Cjm6uL z$ljC5-aB z>%HFVzTfP=-Ri~S?#JWq$>i_N=J3zw@!9P3>-G6Up~g$5$yKY&TdvMsug_nw&t}w9;?5)N#4hbGp@ayViHS*LJ(sd%oCuz1Mxe*nz>?fWX;%!sf!Qkw~;_b@i@6YJ*(CG2f>GIa=^VRC|*zEJ%?)BU4^x5n3 z-tYC`@b={L_u}#P@$vEI=H}w!;@;lg-QC^W+uPXK*w@$B)YR0?&CScp%gM>f$H< z#l^$J!@_eR6VgadB~PZ*O2=U|(Nf zTwGjPSy@$8RZ~+_QBhG&PEP;-{{R3000000000000000000000000000000000000 z0000000000A^8LW008m;EC2ui03ZM$000R80ObiBNRXfn2m%r+TqpoR3>*a`62u@t z!Yw|0a_q7-D^IIAaLBkokU^rv1vF~q(xod`Em^PduuAoY4Vo7aOcurP1aP88y>!qGMbWVvPSjhbg5*HrZESc)OE|(v zBUdC+g%nQ^5(EJj^r*%fY_#De8=h>^oEVpBvB(H1w9o%`xsMBh5O(oD=iK z0%2glAAj_KfLQYU9CS456n!*73-I8_2{Aw|wK7y&E%QJXfY8SPC5iQQ*hY^n5Do(D z-~iN70}Xc7Z6iIi02k0W{qsA^4E^%e1Z7Nj)X2os3^nZ#la4oT50s_f$p{0nF~B%8 ZP2`6UR7^P3Ok)i;+jR2{ImHA706X?sH)sF= literal 0 HcmV?d00001 diff --git a/source/web/images/icons/delete_forums.gif b/source/web/images/icons/delete_forums.gif new file mode 100644 index 0000000000000000000000000000000000000000..ef171768c16b267b981fa6953a1eba217106f688 GIT binary patch literal 619 zcmZ?wbhEHb6krfwc*Xz%|Ns9l>t8u(>5lp9_m}pssGqq>IjqSrcdAj|H1mQPo;CBO zk|t>9&(zAAY*sqgx@3lZ<$S}&RW(hm0V__YY`U1f`BKr&tIY>)_8-4H`|QKH=N|37 z_xi+>_k}yJmhZXNeeCX>a}PJ&eDUYcpWnZK|N8ao$B!T1zkmPw_3M`}Up{~S{OQxD zj~_pN`0(NV`}gnOy?gui?VC4mUcY|*>eZ{4FJHcR@#6XO=g*!!d;0Y0lP6CeKYsk^ z(W8eCAKtrn@9y2ZH*em&diCnLbLUQHF;`l@yjYH@GD9P1Ox@zhPmtM@=8mJ^U8|`1%=+T z^DxlokrNZ);Sko*v2*ec^)fPK65``#We&LaJHX4*#F&p~f#c$1Q%c{qghW0((#Ffg zmw(5?<7m4`>#U9kH#(Ht`sQhV0)|OzGNp79%W0*w8Ql~uFPTm?vuc(|5AVE!X z8_5gKacEFUkgJkPX)1TQsDM8&DW;?(A&y2_ZpS_DwtvICAD)lTr{_&bJQe-*d0&t( z=mY4}Ha0ds%cZ;L(Y>xVLW`RA-DvU0bNp|y4-hy(L@w+$D;Uo{Si(C*;vX&J9j|CR zR?a_G#{Y)Wj-+;+t?Mdmk>FTT97}TdsgcN+Q^ndg&A3oK=33AQE@ZkFwR}O~dlxaG z|77he5%?0gez(|Pk=p|9b_5VOf#vNX6(ZOjZg2@Nl=3)~%s*Tvh`uX~x?GaqHbf8` zOiQbp@oC-j8STW2T?9U~yaP&ZKT`AT7+rDvH`%uj6*0dn;}|LgQ=QnTKs=NswP?<9 z2Qzp>XPL?@!7xUsKY5e-L%ZPzj^-a-KyK&A<;RA+E&%&v^v1J^+kMYVB$IdLrb^{B zRXua!yPR6>Y`xC>+tAAf-E5O#o-_JNFuu?>VeOi-JvG@Rvr7Z>%c{9QMqWE6?C-`G z-{#?p7v8Q-n&;;i{|Kq;KSYy6HORhss7PoYNMx$dv}lsq+LTr;nxi|*9sFJ}oFyF2 z5gC4bZ2YOiSny;tUkqG*I*RKayVgB+{n_}fz6qjak}R7llTTGBOjYU^4>U71+8LT| z_Mv``VVG+)%sm>JX8{)8*sJ#E*3PNdVw0`s#bWQwqWtBO?$wIcvaGkh0c?)RrFRy` zhu81c*4NiRe*Cz$w)X!0`_TjN;VtD5mX|{{%H~#DtCQ99k7B%qDM~garES{GF zQ~9}7kC_!YNvQNXY2nW{fX({+G6SG>Ftv|jy6H#Z)w8gSrfBTEx@|jYo5zLzV#9u7 z_6`;*(&wC}Ht-SFlhXK$dF0nU^#_S&Yz~Ul&&jO}-m3LNrXWw0oy!00%&%u?^7zRM z3hZoJ+ojs>oL1mR8uD*Z{b@>YJ%YN&ztzba-kQeE`=Z(c93=IG`Uv6YrJ(JI2ffjM zznG)(+@?xpZ#3fcHK|Jaah&mR0JSy<6<>H=ezM9d4o`!_71?Ne1_wxYb*j&oCI(z2 znc@4>qRmq9xyULxYM>MtOiYk!F?^?wi}g zK^!jC6q0qF*}oe@cthTOFEjQeYxutoDQ-q+ zkLU+rsPkNa<+@{^6(#A5Oz%NNJR!;4!d?tCo{_#ao~9_=iZLY$FOk$$xyOB^Qsp}Z zIW6N{LJ<`~3q4q6j~FbHZhjsv8j9zb5U}76>kd`S){xVNvb`ZVxhv0iE^e>}Sj8v1pgxATq=Q~cFyv5@H$O0cl!D+lgbdo$-6Ox*8; f3@b_~M8&y90&bB?NQo|dDCWz`NX?ebpkx09++!^C literal 0 HcmV?d00001 diff --git a/source/web/images/icons/delete_topic.gif b/source/web/images/icons/delete_topic.gif new file mode 100644 index 0000000000000000000000000000000000000000..0addc503cfed1090ac0bb0bb241c1db9e85ef790 GIT binary patch literal 594 zcmZ?wbhEHb6krfwc*Xz%|AF9Y*#GNs|8J)Lzn%C0PT~JMMgQ-X{=HNB|3Tyb$G!ib z&HVp--v3vt{=eP!|NXxIpU?gO@$mo8XFZ+u|Ib?dzv%J*lK211{?B%M{J$3c|9brY z>k0pFW_&uI`SW`5|NHg-AGG{`)cyZ)|NkeG|397n|LKhX&*%Stwfg_-jsM^6`TzdF z{||@%f4TDW-G!UW6mKq5J~mD1%sibl^9|1|Fgdf>;mlHx&24Hsd$f+tG~7AS^2}1N zGs^?dEDt`jGV08#=re1Q&#Xx~vo3dYhu-FHtNpVB_Ro(!wk+k$hO#potIlkyzkh!H z&7-aUQ#^uB%jR;*aj-{0TU)6?DE-PF_s z3=eR?(1TF?$->CM5W}DYvJ4a_4D9P0Vtm~^J)9ivY|LDJWBU4B^n`_Ubu`tv<(>Qc z90UUb7cTVUFqso$uca-(ufeOVz-qkQmd}6DViu$2)~Y;eDoR|Oa^Vr-!TqL+emepq zBBC#a^jWg8v$4v`hy(?NgoZ`;c}Pk#OEF1=UwRwf?_($~X5|%m??LF}es@s=@0fR) z3!7Z!m#gX*SnO(VUEt_vK0{~9r40}ExihHqZK>$Gyf;5ouI!1^(z_;ljSLLd08r%u AU;qFB literal 0 HcmV?d00001 diff --git a/source/web/images/icons/delete_topic_large.gif b/source/web/images/icons/delete_topic_large.gif new file mode 100644 index 0000000000000000000000000000000000000000..3c06a0ce4f87dc3f7fdc7e9fbd61d48fde287e14 GIT binary patch literal 1465 zcmb`G{WBDJ9LJYBPtmMU9-^hrbz*MWT%MX+TFZHgP^Vm&REqL&nls&%r)+!H<{?jA zjtiZqmEBWPO18Dwuu7#!w3 z=5qjGtkyumv=RP=Q?P8&OZ+<532_br-wk!Uz|djD^#B1G^?HNQPufaEeZDXfhlQnJ}FL(-hVp zr$PA}66e4SeQqEfW(#4q2|wP!(3eFjhRUSZK49 zHdv@yE!9t~rH#0cJjaEn4lr1|b~U@9ApUWaMw0{;@lCM#i~9u}L@E{DKkGrVqr*Gy2iqNzquKZ2#lu+$E3I+hhJ@a8!zzkuZ~ zSmD457gl>=m51hD0O|)c0Bb|AHVkh^U|kIB5_qqG_fzm;1~y;ArurNKv%0#fQmK?m zrCctboSc-&WD6%`fb<>h5%WhEsgg@uLr`T2A@okpWksZ3-$9TgQ785tQ75fL699vT`N5)u*=6!gi}|D65b%6em~ z1_m>SvH!gI`4bo&!1U`H?R(8E$Vp5cF|r#a45cN)8KtnyPCQ z?|0kEar2{BLDder%*Dk(;9KQWxXoP1(I9y z1^2uhj!ytTw3nlGXr~>%UhaH@=JkzoSBhhtx1Q0LeRqA1p3BpGM@}lx#ASMj%gl^D zGB6ot#lf0;v=*-f95l8%gUQ$>$?TG2c|W2@K^CZ z+R1T58$CX;DA19se=xDatX!nk;V&-u5Hhgy&K}0&q zU~6e5Fjzge&xH{^w~O{=4><9Odkvh&A~_|y$@)_{X0Zh!nRjA*S276Ci3FOxR3y|V zJagfMySibcx0+n@n>uf#Ds+E=pZBAp0C#ASrfMyq_VjtWF{_`&~ami<|vnx zR@3Wpv+QmdYTGl3n!#8cw&}sn5jx{xmK|0jAS{Gy?897%Z|cPop>%x9R?gd8f+BQbT&iDk^-%Sfi=GX|oAbej&_O?U9 zjCi%D*CiRvA$!q_hVM1ix6?gND)x8o+g+ni7$Ol2zI`&`Utnufmf%#cp@DJ#7n3^! A5C8xG literal 0 HcmV?d00001 diff --git a/source/web/jsp/forums/create-topic.jsp b/source/web/jsp/forums/create-topic.jsp index 1e398425f9..ca52c509ec 100644 --- a/source/web/jsp/forums/create-topic.jsp +++ b/source/web/jsp/forums/create-topic.jsp @@ -111,7 +111,7 @@ - + <% PanelGenerator.generatePanelStart(out, request.getContextPath(), "white", "white"); %> diff --git a/source/web/jsp/forums/delete-forum.jsp b/source/web/jsp/forums/delete-forum.jsp index 7d1dc556b7..7927ee074d 100644 --- a/source/web/jsp/forums/delete-forum.jsp +++ b/source/web/jsp/forums/delete-forum.jsp @@ -67,7 +67,7 @@
- +
diff --git a/source/web/jsp/forums/delete-forums.jsp b/source/web/jsp/forums/delete-forums.jsp index f507671394..affdb72a85 100644 --- a/source/web/jsp/forums/delete-forums.jsp +++ b/source/web/jsp/forums/delete-forums.jsp @@ -67,7 +67,7 @@
- +
diff --git a/source/web/jsp/forums/delete-topic.jsp b/source/web/jsp/forums/delete-topic.jsp index 702c9a8e0f..c79e5ff447 100644 --- a/source/web/jsp/forums/delete-topic.jsp +++ b/source/web/jsp/forums/delete-topic.jsp @@ -67,7 +67,7 @@
- +
diff --git a/source/web/jsp/forums/forum.jsp b/source/web/jsp/forums/forum.jsp index af561a88c7..3386b500d0 100644 --- a/source/web/jsp/forums/forum.jsp +++ b/source/web/jsp/forums/forum.jsp @@ -87,7 +87,7 @@ - + diff --git a/source/web/jsp/forums/forums.jsp b/source/web/jsp/forums/forums.jsp index b4b1c37fd2..f023ac085a 100644 --- a/source/web/jsp/forums/forums.jsp +++ b/source/web/jsp/forums/forums.jsp @@ -93,7 +93,7 @@ <%-- Current space More actions menu --%> - + diff --git a/source/web/jsp/forums/topic.jsp b/source/web/jsp/forums/topic.jsp index d451a68418..be7dee05ca 100644 --- a/source/web/jsp/forums/topic.jsp +++ b/source/web/jsp/forums/topic.jsp @@ -87,7 +87,7 @@ - +