version
20070515

The parts of this page are to be included into specific JITS pages as follows:

  • into the <Group>.GroupFooter (e.g. John.GroupFooter, Bob.GroupFooter, Projects.GroupFooter)
    insert text:
    (:if equal {*$:PInd} "JITS":)(:include JITS.JITSsnip #grpftr#grpftrend:)(:ifend:)
  • into main JITS page (e.g. John.Tasks, Bob.Tasks, Projects.ProjectA, Projects.ProjectB)
    insert text:
    (:include JITS.JITSsnip #mainpage#mainpageend:)(:JITSlevel: main:)
  • if you wish to have pagelist containing main JITS pages only listed
    use (:pagelist group={$Group} name=-*Recent* $:JITSlevel=main:)

Show "New issue" button, filters controls and a filtered pagelist

[[#mainpage]]
>>comment<<
------------------------------------------------
Get params from browser address line 
- ?addthread=[yes | ""] ... create new issue page
- ?jnewcomm=[yes | ""] ... create new comment page
------------------------------------------------
>><<
(:zapget:)
>>comment<<
------------------------------------------------
Show NewIssue Button if param addthread NOT equals to yes
Test existence of filtering vars. If !exist then generate
them when formNew submitted.
------------------------------------------------
>><<
(:zapform key=formNewIssueButton action={*$PageUrl}?addthread=yes:)
(:if equal {*$:JName} "":)
(:zap datapage_1="{*$Group}.{*$Name}" formNewIssueButton:)
(:zap filterG="{*$Group}" formNewIssueButton:)
(:zap JName="{*$Name}" formNewIssueButton:)
(:zap sort="-$:ChngDate" formNewIssueButton:)
(:zap Type="*" formNewIssueButton:)
(:zap Project="*" formNewIssueButton:)
(:zap Status="*" formNewIssueButton:)
(:zap Priority="*" formNewIssueButton:)
(:zap savedata_1="filterG,JName,sort,Type,Project,Status,Priority" formNewIssueButton:)
(:ifend:)
(:if expr ( !equal {$addthread} "yes" && !equal {$AuthId} "" ) :)
(:input submit value="$[New Issue]" formNewIssueButton:)
(:if expr ( !equal {$addthread} "yes" && equal {$AuthId} "" ) :)
[[{$PageUrl}?action=login|$[Login please] ]]
(:ifend:)
(:zapend:)

>>comment<<
------------------------------------------------
show Admin button
------------------------------------------------
>><<
(:if expr !equal {$addthread} "yes"  && auth admin :)
(:zapform key=formAdminButton :)
(:input hidden nextpage "JITS.JITSadmin" :)
(:zap from="{*$Group}.{*$Name}" formAdminButton :)
(:input hidden passdata from :)
(:input submit value="$[Admin tasks]" :)
(:zapend:)
(:ifend:)
>>comment<<
------------------------------------------------
Show form to create a new issue if param ?addthread=yes 
------------------------------------------------
>><<
(:if equal {$addthread} "yes":)

'''$[New issue]:'''

(:zapform key=formIssue:)
(:zap datapage_2="{*$Group}.#" formIssue:)
(:input hidden nextpage_2="{*$Group}.#" formIssue:)
(:zap savedata_2="PInd,JName,ThreadId,DateWritten,CDateWritten,ChngDate,CChngDate,ChngAuth,WrittenBy,Type,Project,Status,Priority,Summary,Content"  formIssue:)
(:input hidden addthread " ":)
(:input hidden ThreadId value="{(thread {*$Group})}":) 
(:input hidden WrittenBy value={$AuthId}:)
(:input hidden DateWritten '{(ftime "%Y%m%d%H%M%S" "now" )}':)
(:input hidden CDateWritten '{(ftime "%F %H:%M" "now" )}':)
(:input hidden ChngDate '{(ftime "%Y%m%d%H%M%S" "now" )}':)
(:input hidden CChngDate '{(ftime "%F %H:%M" "now" )}':)
(:input hidden ChngAuth value={$AuthId}:)
(:input hidden Status value="open":)
>>comment<<
------------------------------------------------
- PInd differs JITS pages in a group 
from all other group pages.
- JName keeps main page name (ie John). 
Both used in JITS pagelists and filters.
------------------------------------------------
>><<
(:input hidden PInd value="JITS":)
(:input hidden JName value="{*$Name}":)

(:table border=0:)
(:cellnr:)$[Summary]: 
(:cell:)(:input text Summary size=80:)
(:cellnr:)Author
(:cell:)[[~{$AuthId}]]

(:cellnr:)
$[Type]
(:cell:)
(:include {*$Group}.JITScfg JITS.JITScfg #Type#Typeend:)
$[in project]
(:include {*$Group}.JITScfg JITS.JITScfg #Project#Projectend:)
(:cellnr:)$[Priority]
(:cell:)
(:include {*$Group}.JITScfg JITS.JITScfg #Priority#Priorityend:)

(:cellnr:)$[Status]
(:cell:)
(:include {*$Group}.JITScfg JITS.JITScfg #Status#Statusend:)

(:cellnr:)$[Content]: 
(:cell:)(:textarea name=Content cols=80 rows=8:)(:keep {*$Content}:)(:textareaend:)
(:cellnr:) 
(:cell:)
(:tableend:)
(:input submit value="$[Submit]" form1:)
(:zapend:)
\\

(:zapform key=fCancel:)
(:zap nextpage="{$PageUrl}" fCancel:)
(:input submit value="$[Cancel]" fCancel:)
(:zapend:)
(:ifend:)

----
>>comment<<
------------------------------------------------
Show form to filter issues and filtered pagelist 
if empty param ?addthread <> yes
------------------------------------------------
>><<
(:if !equal {$addthread} "yes":)
(:include JITS.JITSPgLstS #filters#issuelistend:)
(:ifend:)



\\
\\
%center%'-''[[JITS.JITS|JITS snippets v. {JITS.JITSsnip$:version}]]''-'%%
[[#mainpageend]]

GROUP FOOTER
shows issue properties and comments
It is possible to switch between show and
edit Status, Priority and Content using Show|Edit link

[[#grpftr]]

(:zapget:)
>>comment<<
------------------------------------------------
No new Comment. Show/Edit the issue
------------------------------------------------
>><<
(:if expr ( !equal {$jnewcomm} "yes" && !equal {$edicomm} "yes" ) :)
(:zapform key=formShowIssue:)
(:zap datapage_2="{*$Group}.{*$Name}" formShowIssue:)
(:input hidden PInd {*$:PInd}:) 
(:input hidden JName {*$:JName}:) 
(:input hidden ThreadId {*$:ThreadId}:) 
(:input hidden DateWritten {*$:DateWritten}:)
(:input hidden CDateWritten "{*$:CDateWritten}":)
(:input hidden ChngAuth "{*$:ChngAuth}":)
(:input hidden ChngDate '{(ftime "%Y%m%d%H%M%S" "now" )}':)
(:input hidden CChngDate '{(ftime "%F %H:%M" "now" )}':)
(:input hidden WrittenBy {*$:WrittenBy}:)
(:input hidden Summary "{*$:Summary}":)
(:input hidden Type {*$:Type}:)
(:input hidden Project {*$:Project}:)
>>right<<
'_JITS for [[{*$:JName}|+]]_'
>><<
(:table border=0:)
(:cellnr:)$[Summary]: 
(:cell:)'''{*$:Summary}'''
(:cellnr:)Author:
(:cell:)[[~{*$:WrittenBy}]]
(:cellnr:)$[date]:
(:cell:){*$:CDateWritten}
(:ifend:)
>>comment<<
------------------------------------------------
Show the Type Project Priority and Status
------------------------------------------------
>><<
(:if expr ( !equal {$jnewcomm} "yes"  &&  !equal {$jedit} "true" && !equal {$edicomm} "yes" ) :)

(:cellnr:)$[Type]:
(:cell:){*$:Type}
(:cellnr:)$[in project]:
(:cell:){*$:Project}
(:cellnr:)$[Priority]:
(:cell:){*$:Priority}
(:cellnr:)$[Status]:
(:cell:){*$:Status}
(:ifend:)
>>comment<<
------------------------------------------------
Edit the Type Project Priority and Status
------------------------------------------------
>><<
(:if expr ( !equal {$jnewcomm} "yes" ) && ( equal {$jedit} "true" ) :)

(:input hidden ChngDate '{(ftime "%Y%m%d%H%M%S" "now" )}':)
(:input hidden CChngDate '{(ftime "%F %H:%M" "now" )}':)
(:input hidden ChngAuth "{$AuthId}":)
(:cellnr:)$[Type]:
(:cell:)(:include {*$Group}.JITScfg JITS.JITScfg #Type#Typeend:)
(:cellnr:)$[in project]:
(:cell:)(:include {*$Group}.JITScfg JITS.JITScfg #Project#Projectend:)
(:cellnr:)$[Priority]:
(:cell:)
(:include {*$Group}.JITScfg JITS.JITScfg #Priority#Priorityend:)
(:cellnr:)$[Status]:
(:cell:)
(:include {*$Group}.JITScfg JITS.JITScfg #Status#Statusend:)
(:ifend:)

>>comment<<
------------------------------------------------
Show the Content
------------------------------------------------
>><<
(:if expr ( !equal {$jnewcomm} "yes"  &&  !equal {$jedit} "true" && !equal {$edicomm} "yes" ) :)
(:cellnr:)$[Content]: 
(:cell:)&nbsp;
(:if expr ( !equal {$jnewcomm} "yes"  && !equal {$jedit} "true" && !equal {$edicomm} "yes" ) :)
(:cellnr:)&nbsp;
(:cell style="padding-left: 10px; border-left: thin solid ;":){*$:Content}
(:cellnr colspan=2:)
(:ifend:)
>>comment<<
------------------------------------------------
Edit the Content
------------------------------------------------
>><<
(:if expr ( !equal {$jnewcomm} "yes" ) && ( equal {$jedit} "true" ) :)
(:cellnr:)$[Content]: 
(:cell:)&nbsp;
(:cellnr:)
(:cell:)(:textarea name=Content cols=80 rows=8:)(:keep {*$:Content}:)(:textareaend:)
(:cellnr:)
(:zap savedata_2="PInd,JName,ThreadId,DateWritten,CDateWritten,ChngDate,CChngDate,ChngAuth,WrittenBy,Type,Project,Status,Priority,Summary,Content"  formShowIssue:)
(:tableend:)
(:input submit value="$[Save changes]" formShowIssue:)
(:zapend:)

(:zapform key=fCancel:)
(:zap nextpage="{$PageUrl}" fCancel:)
(:input submit value="$[Cancel changes]" fCancel:)
(:zapend:)

(:ifend:)
>>comment<<
------------------------------------------------
End of Show/Edit the Content and the rest of issue properties
------------------------------------------------
>><<

(:table:)
(:tableend:)
(:if expr !equal {$jnewcomm} "yes"  &&  !equal {$jedit} "true" && !equal {$edicomm} "yes" && ( equal {$AuthId} {*$:WrittenBy} || auth edit ) :)
>>center<<
'-[[{*$PageUrl}?jedit=true|edit]]-'
>><<
(:ifend:)
(:if expr !equal {$jnewcomm} "yes"  &&  !equal {$jedit} "true" && !equal {$edicomm} "yes"  :)
----
'_ Last change/comment on {*$:CChngDate} by [[~{*$:ChngAuth}]]_'
(:ifend:)

>>comment<<
************************************************
Show Comments if empty param ?jnewcomm .
Displays the link to self with parameter ?jnewcomm=yes
and comments list .
------------------------------------------------
>><<
(:if expr ( !equal {$jnewcomm} "yes" && !equal {$AuthId} "" && !equal {$edicomm} "yes" ) :)

(:include JITS.JITSsnip #fAddC#fAddCend:)
(:if expr !equal {$jnewcomm} "yes" && !equal {$edicomm} "yes" :)
----
(:table:)
(:tableend:)
Comments:\\
(:include JITS.JITSPgLstS #commlist#commlistend:)
----

(:include JITS.JITSsnip #fAddC#fAddCend:)
(:ifend:)

>>comment<<
------------------------------------------------
Adding new comment page when ?jnewcomm=yes
------------------------------------------------
>><<
(:if equal {$jnewcomm} "yes":)

(:zapform key=formComm:)

(:zap datapage_2="{*$Group}.{*$Name}" formComm:)
(:zap savedata_2="ChngDate,CChngDate,ChngAuth" formComm:)
(:zap ChngDate='{(ftime "%Y%m%d%H%M%S" "now" )}' formComm:)
(:zap CChngDate='{(ftime "%F %H:%M" "now" )}' formComm:)

(:zap ChngAuth="{$AuthId}" formComm:)

(:zap ThreadId="{*$:ThreadId}" formComm:)
(:zap PInd="JITS" formComm:)


(:zap datapage_3="{*$Group}.{*$Name}C+" formComm:)
(:zap savedata_3="PInd,JName,ThreadId,CWrittenBy,CRemark,Ctime,CCtime" formComm:)

(:input hidden CWrittenBy value="{$AuthId}":)

(:input hidden Ctime '{(ftime "%Y%m%d%H%M%S" "now" )}':)
(:input hidden CCtime '{(ftime "%F %H:%M" "now" )}':)
(:textarea name=CRemark cols=80 rows=4:)(:textareaend:)

(:input submit value="Submit comment" formComm:)
(:zapend:)

(:zapform key=fCancel:)
(:zap nextpage="{*$Group}.{(substr {*$Name} 0 4)}" fCancel:)
(:input submit value="$[Cancel comment]" fCancel:)
(:zapend:)

(:ifend:)


>>comment<<
------------------------------------------------
Edit comment page when ?edicomm=yes
------------------------------------------------
>><<
(:if equal {$edicomm} "yes":)

(:zapform key=formEditComm:)
(:zap datapage_3="{*$Group}.{*$Name}" formEditComm:)
(:zap savedata_3="PInd,JName,ThreadId,CRemark,Ctime,CCtime" formEditComm:)
(:zap PInd="JITS" formEditComm:)
(:zap ThreadId="{*$:ThreadId}" formEditComm:)
(:zap JName="{*$:JName}" formEditComm:)

(:zap nextpage="{*$Group}.{*$:ThreadId}" formEditComm:)
(:input hidden CWrittenBy value="{$AuthId}":)

(:input hidden Ctime '{(ftime "%Y%m%d%H%M%S" "now" )}':)
(:input hidden CCtime '{(ftime "%F %H:%M" "now" )}':)
(:textarea name=CRemark cols=80 rows=4:)(:keep {*$:CRemark}:)(:textareaend:)

(:input submit value="Save changes" formEditComm:)
(:zapend:)

(:zapform key=fCancel:)
(:zap nextpage="{*$Group}.{(substr {*$Name} 0 4)}" fCancel:)
(:input submit value="$[Cancel changes]" fCancel:)
(:zapend:)

(:ifend:)


\\
\\
%center%'-''[[JITS.JITS|JITS snippets v. {JITS.JITSsnip$:version}]]''-'%%
[[#grpftrend]]

----
(:if false:)
[[#fAddC]]
(:zapform key=fAddC:)
(:zap jnewcomm="yes" fAddC:)
(:input hidden passdata jnewcomm :)
(:input submit value="$[Add comment]" fAddC:)
(:zapend:)
[[#fAddCend]]
(:ifend:)

Main issue page fields list

vardescriptionexamples
PIndalways "JITS". Used in pglists to shorten the line and not to list other pages then JITS pagesJITS
JNamename of the starting (main) JITS pageJohn for Tasks.John issues, Bob for Tasks.Bob
ThreadIdthread number10000, 10001
DateWrittenissue creation date - timestamp1168812685
CDateWrittenformated DateWritten14.01.2007 23:11
ChngDateissue last change (or add comment) date - timestamp1168812685
CChngDateformated ChngDate14.01.2007 23:11
ChngAuthAuthId who made changes or added commentJohn
WrittenByissue creatorTheBoss
Typeissue Type listed in <Group>.JITScfg part [[#Type]]..[[#Typeend]]bug,question...
Projectissue Project listed in <Group>.JITScfg part [[#Project]]..[[#Projectend]]QualityMgmt, ...
Statusissue Status (changeable) listed in <Group>.JITScfg part [[#Status]]..[[#Statusend]]Open,Closed...
Priorityissue Priority (changeable) listed in <Group>.JITScfg part [[#Priority]]..[[#Priorityend]]Low,High...
Summaryissue Summary entered when issue createdMy problem with ...
Contentissue Content (editable) entered when issue createdThis is the description of my problem...

related pages:

ZAP installed versions:

ZAP:May 31, 2007
ZAPextend:
ZAPmarkups:
ZAPconditionals:
ZAPmail: