Wiki source code of Inserting

Last modified by Eugen Colesnicov on 2013/03/24 06:00

Show last authors
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}}