Wiki source code of Inserting
Last modified by Eugen Colesnicov on 2013/03/24 06:00
Show last authors
author | version | line-number | content |
---|---|---|---|
1 | {{velocity}} | ||
2 | #macro(getNextItemNo $class $prefix $parent) | ||
3 | #set($id=1) | ||
4 | #set($field="Num") | ||
5 | #set($template="etvcCorrespondence2Code."+$prefix+"ClassTemplate") | ||
6 | |||
7 | #set($xwlquery="select max(obj.$field) from Document doc, doc.object($class) as obj where doc.fullName <> '$template' and doc.parent='$parent'") | ||
8 | #set($list=$services.query.xwql($xwlquery).execute()) | ||
9 | #if($list.get(0)>0) #set($id=$list.get(0)+1) #end | ||
10 | #end | ||
11 | #if ("$!{symbol}"=="") | ||
12 | #set($symbol=$request.getParameter('symbol')) | ||
13 | #end | ||
14 | |||
15 | #if ("$!{target}"=="") | ||
16 | #set($target=$request.getParameter('target')) | ||
17 | #end | ||
18 | |||
19 | #if($!{target}) | ||
20 | #if($symbol=="Section") | ||
21 | #set($useDoc=$xwiki.getDocument($target)) | ||
22 | #set($action="create") | ||
23 | #set($string="template=etvcCorrespondence2Code.SectionsClassTemplate&parent=Main.WebHome") | ||
24 | $response.sendRedirect($xwiki.getURL($useDoc.getFullName(), $action, $string)) | ||
25 | |||
26 | #elseif($symbol=="Folder") | ||
27 | #set ($parent=$xwiki.getDocument($target)) | ||
28 | #set ($cur=$parent.getName()) | ||
29 | #set ($curFull=$parent.getFullName()) | ||
30 | #set ($curSpace=$parent.getSpace()) | ||
31 | #set ($plus="_Folder") | ||
32 | #set ($plus2="$msg.get('corr.folders.caption.folder') - ") | ||
33 | |||
34 | #getNextItemNo("etvcCorrespondence2Code.FoldersClass" "Folders" $curFull) | ||
35 | |||
36 | #set ($fullNewName= $curSpace + "." + $cur + $plus + $id) | ||
37 | #set($fullNewTitle='$msg.get("corr.folders.caption.folder") - '+$id) | ||
38 | |||
39 | #set($newDoc = $xwiki.getDocument($fullNewName)) | ||
40 | $newDoc.setTitle($fullNewTitle) | ||
41 | $newDoc.setParent($curFull) | ||
42 | $newDoc.setContent('{{include document="etvcCorrespondence2Code.FoldersClassSheet"/}}') | ||
43 | #set($newObj = $newDoc.newObject("etvcCorrespondence2Code.FoldersClass")) | ||
44 | $newObj.set("Section",$curFull) | ||
45 | $newObj.set("Num",$id) | ||
46 | $newObj.set("Index"," ") | ||
47 | $newDoc.save() | ||
48 | #set ($NewNameWithSpace = $newDoc.getFullName()) | ||
49 | $response.sendRedirect($xwiki.getURL($NewNameWithSpace, "inline")) | ||
50 | |||
51 | |||
52 | #elseif($symbol=="Doc") | ||
53 | #set ($parent=$xwiki.getDocument($target)) | ||
54 | #set ($cur=$parent.getName()) | ||
55 | #set ($curFull=$parent.getFullName()) | ||
56 | #set ($curFull2=$parent.getParent()) | ||
57 | #set ($curSpace=$parent.getSpace()) | ||
58 | |||
59 | #set ($plus="_Doc") | ||
60 | #set ($plus2="Doc. - ") | ||
61 | |||
62 | #getNextItemNo("etvcCorrespondence2Code.DocsClass" "Docs" $curFull) | ||
63 | |||
64 | #set ($fullNewName= $curSpace + "." + $cur + $plus + $id) | ||
65 | #set ($fullNewTitle= $plus2 + $id) | ||
66 | |||
67 | #set($newDoc = $xwiki.getDocument($fullNewName)) | ||
68 | $newDoc.setTitle($fullNewTitle) | ||
69 | $newDoc.setParent($curFull) | ||
70 | $newDoc.setContent('{{include document="etvcCorrespondence2Code.DocsClassSheet"/}}') | ||
71 | #set($newObj = $newDoc.newObject("etvcCorrespondence2Code.DocsClass")) | ||
72 | $newObj.set("Section",$curFull2) | ||
73 | $newObj.set("Folder",$curFull) | ||
74 | $newObj.set("Num",$id) | ||
75 | $newDoc.save() | ||
76 | #set ($NewNameWithSpace = $newDoc.getFullName()) | ||
77 | $response.sendRedirect($xwiki.getURL($NewNameWithSpace, "inline")) | ||
78 | |||
79 | #end | ||
80 | #end | ||
81 | {{/velocity}} |