## This file is subject to the terms and conditions defined in ## file 'LICENSE', which is part of this source code package. ## Copyright (c) 2009 SKR Farms (P) LTD. ## -------------------- Form Fields ----------------------------------------- ## Todo : ## Form fields must re-size with the window. ## Try setting the `style` attribute of the widget form fields <%namespace name="elements" file="/component/elements.html"/> <%! restrict_kwargs = lambda kwargs, allowed_keys : \ [ kwargs.pop( k ) for k in kwargs.keys() if k not in allowed_keys ] make_attrs = lambda kwargs : ' '.join([ k + '="'+kwargs[k]+'"' for k in kwargs ]) general_attrs = [ 'name', 'value', 'id', 'class', 'title', 'style' ] inputtext_attrs = general_attrs + [ 'disabled', 'maxlength', 'readonly', 'size' ] inputpass_attrs = general_attrs + [ 'disabled', 'maxlength', 'size' ] inputchkbox_attrs = general_attrs + [ 'checked', 'disabled' ] inputradio_attrs = general_attrs + [ 'checked', 'disabled' ] inputfile_attrs = general_attrs + [ 'disabled', 'size' ] inputbutton_attrs = general_attrs inputhidden_attrs = general_attrs inputimage_attrs = general_attrs + [ 'alt', 'disabled', 'src', 'value' ] textarea_attrs = general_attrs + [ 'rows', 'cols', 'disabled', 'readonly', 'tatype' ] select_attrs = general_attrs + [ 'multiple', 'size', 'disabled' ] multiselect_attrs = general_attrs + [ 'size', 'disabled' ] label_attrs = [ 'for' ] # System tables entry fields classified into `info` or `config` infofields = [ 'product_name', 'product_version','database_version', 'envpath', 'sitename', 'siteadmin', 'timezone', 'unicode_encoding' ] cnffields = [ 'welcomestring', 'specialtags', 'projteamtypes', 'tickettypes', 'ticketseverity', 'ticketstatus', 'ticketresolv', 'wikitypes', 'def_wikitype', 'reviewactions', 'reviewnatures', 'vcstypes', 'googlemaps', 'strictauth', 'regrbyinvite', 'invitebyall', 'interzeta', 'userrel_types', ] %> <%def name="input_text( **kwargs )"> <% text = kwargs.pop( 'text', '' ) restrict_kwargs( kwargs, inputtext_attrs ) attrs = make_attrs( kwargs ) %> ${text} <%def name="input_password( **kwargs )"> <% restrict_kwargs( kwargs, inputpass_attrs ) attrs = make_attrs( kwargs ) %> <%def name="input_checkbox( **kwargs )"> <% text = kwargs.pop( 'text', '' ) restrict_kwargs( kwargs, inputchkbox_attrs ) attrs = make_attrs( kwargs ) %> <%def name="input_radio( **kwargs )"> <% text = kwargs.get('text', '') restrict_kwargs( kwargs, inputradio_attrs ) attrs = make_attrs( kwargs ) %> ${text} <%def name="input_file( **kwargs )"> <% restrict_kwargs( kwargs, inputfile_attrs ) attrs = make_attrs( kwargs ) %> <%def name="input_submit( **kwargs )"> <% restrict_kwargs( kwargs, inputbutton_attrs ) attrs = make_attrs( kwargs ) %> <%def name="input_reset( **kwargs )"> <% restrict_kwargs( kwargs, inputbutton_attrs ) attrs = make_attrs( kwargs ) %> <%def name="input_button( **kwargs )"> <% restrict_kwargs( kwargs, inputbutton_attrs ) attrs = make_attrs( kwargs ) %> <%def name="input_hidden( **kwargs )"> <% restrict_kwargs( kwargs, inputhidden_attrs ) attrs = make_attrs( kwargs ) %> <%def name="input_image( **kwargs )"> <% restrict_kwargs( kwargs, inputimage_attrs ) attrs = make_attrs( kwargs ) %> <%def name="textarea( **kwargs )"> <% text = kwargs.pop( 'text', '' ) restrict_kwargs( kwargs, textarea_attrs ) attrs = make_attrs( kwargs ) %> <%def name="select( **kwargs )"> <% selected = kwargs.get( 'opt_selected', '' ) options = kwargs.get( 'options', [] ) opts_disabled = kwargs.get( 'opts_disabled', '' ) restrict_kwargs( kwargs, select_attrs ) attrs = make_attrs( kwargs ) options = options[:] for i in range(len(options)) : if isinstance( options[i], (str,unicode) ) : options[i] = ( options[i], options[i] ) %> <%def name="multiselect( **kwargs )"> <% selected = kwargs.get( 'opt_selected', '' ) options = kwargs.get( 'options', [] ) opts_disabled = kwargs.get( 'opts_disabled', '' ) restrict_kwargs( kwargs, multiselect_attrs ) attrs = make_attrs( kwargs ) options = options[:] for i in range(len(options)) : if isinstance( options[i], (str,unicode) ) : options[i] = ( options[i], options[i] ) %> <%def name="label( labelfor='', text='' )"> <%def name="fieldhelp( help='', fhstyle= '' )"> ${help |n} ## ----------------------------- Site info form --------------------------- <%def name="form_systeminfo( u, entries, action )"> <% help = { 'product_name' : '', 'envpath' : 'Can be changed ony in the .ini file', 'product_version' : '', 'database_version' : '', 'sitename' : '', 'siteadmin' : '', 'timezone' : '', 'unicode_encoding' : '-- This feature is in development --', } import zwiki %>
% for field in infofields :
${field}
${entries[field]} % if help[field] : - ${fieldhelp( help[field])} % endif
% endfor
zwiki_version
${zwiki.VERSION}
<%def name="form_systemconfig( u, entries, action )"> <% if set( infofields + cnffields ) != set( entries ) : raise Exception( 'Mismatch in system fields' ) help = { 'welcomestring' : """This string will be displayed on the page bar of site's homepage""", 'specialtags' : """Some tags are special, in the sense that they will be interpreted by the application""", 'projteamtypes' : """Registered users can be part of a project only via a team. Add team types for all the projects hosted under this site, non-members denote registered users who are not part of the project""", 'tickettypes' : """Tickets can have type, it gives an idea about the ticket""", 'ticketseverity': """Ticket severity should indicate at what priority it should be addressed. Note that, sometimes important ticket need not be urgent""", 'ticketstatus' : """And this is how a ticket is tracked, typically a ticket begins its life as 'new', travels through one of its different states, that is defined here and finally moves on to a resolved state.""", 'ticketresolv' : """Should be a sub-set of ticket-status list, and indicates that a ticket is resolved upon moving to this state.""", 'wikitypes' : """Documents can also can have types, define them here""", 'def_wikitype' : """Should be present in the list of `wikitypes`. On creating a wiki page, it is always marked with the default type""", 'reviewactions' : """Authors must take actions on review comments, define the type of actions here""", 'reviewnatures' : """Nature of review comment. Sometimes, marking a comment as `cosmetic` can avoid lot of debate.""", 'vcstypes' : """Supported list of version control systems, integratable with your site.""", 'googlemaps' : """ sign-up google map key for your site and copy the key here. If left empty, google-maps will not be enabled.""", 'strictauth' : """Setting this to `True` will completely restrict anonymous user. This feature is still evolving""", 'regrbyinvite' : """By default anybody can register in the site. In case this is not desirable, set `regrbyinvite` to `True`""", 'invitebyall' : """If `regrbyinvite` is set to `True`, `invitebyall` defines who can invite new users. By default, only site administrator can invite, if set to `True` any registered user under this site can invite new users""", } %>
All the confguration fields here pertains to entire site, applicable to all projects created in this site
${input_hidden( name='user_id', value=str(u.id) )}
% for field in cnffields :
${field}
${input_text( name=field, style='width: 30em;', id='sys_'+field, value=entries[field] )}
${elements.helpboard( help.get( field, '' ), styles='padding: 5px' )}
% endfor
${input_submit( value='Update' )}
<%def name="form_editsw( u, sw, action )">
${input_hidden( name='user_id', value=str(u.id) )} ${input_hidden( name='pathurl', value=sw.path )}
${elements.captiontextarea( 'Use wiki markup to compose guest wiki page.' )} ${textarea( name='text', tatype="simpletextarea", id='swtext', text=sw.text, cols='120', rows='30' )}
${input_submit( value='Save & Continue' )} ${input_reset( value='Reset' )} ${input_button( id='preview', value='Preview' )}
## ------------------------- Permission Forms ----------------------------- <%def name="form_createpg( u, permnames, action )"> <% pg_help = 'small cased, 2 to max %s characters. ' % h.LEN_NAME %>
${input_hidden( name='user_id', value=str(u.id))}
Permission group :
${input_text( name='perm_group', id='cr_perm_group' )}

${fieldhelp( pg_help )}
Permission names :
${multiselect( name='perm_name', id='cr_perm_name', options=permnames, \ size="7", style='width : 17em' )}
${input_submit( value='Create' )}
<%def name="form_updatepg( u, action_pg, action_addpn, action_delpn, pgroups=[], defpg='', perms=[], x_perms=[] )"> <% pg_help = ( 'Minimum 3 characters to max %s characters.' + \ 'With all characters in small case.' ) % h.LEN_NAME %>
Select group - ${select( name='pglist', id='pglist', options=pgroups, opt_selected=defpg )}
${input_hidden( name='user_id', value=str(u.id) )} ${input_hidden( name='perm_group_id', value='' )}
Permission group :
${input_text( name='perm_group', id='updt_perm_group' )}
${input_submit( value='Change' )}
${input_hidden( name='user_id', value=str(u.id) )} ${input_hidden( name='perm_group_id', value='' )}
Add Permissions :
${multiselect( name='perm_name', id='add_perm_name', options=x_perms, \ size="7", style='width : 17em' )}
${input_submit( value='Add' )}
${input_hidden( name='user_id', value=str(u.id) )} ${input_hidden( name='perm_group_id', value='' )}
Delete Permissions :
${multiselect( name='perm_name', id='del_perm_name', options=perms, \ size="7", style='width : 17em' )}
${input_submit( value='Delete' )}
## --------------------------- User Forms --------------------------------- <%def name="form_userreg( action, url_captcha )"> <% un_help = 'All small case, between 3 characters to %s characters.' % h.LEN_NAME em_help = 'Your communication email id.' pw_help = 'Use a password of minimum 4 characters.' %>
Username :
${input_text( name='username', id='username' )}

${fieldhelp( un_help )}
Email-id :
${input_text( name='emailid', id='emailid')}

${fieldhelp( em_help )}
Password :
${input_password( name='password', id='password')}

${fieldhelp( pw_help )}
Confirm password :
${input_password( name='confpass', id='confpass')}

${fieldhelp( pw_help )}
Timezone :
${select( name='timezone', id='timezone', options=h.all_timezones, opt_selected='UTC' )}
Terms of Service
By submitting this form, it is implied that you are agreeing to Terms of Service
Captcha :
${elements.captcha( url_captcha )}
${input_submit( value='Submit' )} ${input_reset( value='Reset' )}
<%def name="form_accountinfo( u, action )"> <% uinfo = u.userinfo fliparg = lambda x : x and x or '' em_help = 'Your communication email id.' up_help = 'Comma separated list of user panes' %>
${input_hidden( name='user_id', value=str(u.id))} ${input_hidden( name='username', id='username', value=u.username )}
Email-id :
${input_text( name='emailid', id='emailid', value=u.emailid )}

${fieldhelp( em_help )}
Timezone :
${select( name='timezone', id='timezone', options=h.all_timezones, opt_selected=u.timezone )}
First Name :
${input_text( name='firstname', id='firstname', value=fliparg(uinfo.firstname) )}
Middle Name :
${input_text( name='middlename', id='middlename', value=fliparg(uinfo.middlename) )}
Last Name :
${input_text( name='lastname', id='lastname', value=fliparg(uinfo.lastname) )}
Address line 1 :
${input_text( name='addressline1', id='addressline1', value=fliparg(uinfo.addressline1) )}
Address line 2 :
${input_text( name='addressline2', id='addressline2', value=fliparg(uinfo.addressline2) )}
City :
${input_text( name='city', id='city', value=fliparg(uinfo.city) )}
Pincode :
${input_text( name='pincode', id='pincode', value=fliparg(uinfo.pincode) )}
State :
${input_text( name='state', id='state', value=fliparg(uinfo.state) )}
Country :
${input_text( name='country', id='country', value=fliparg(uinfo.country) )}
Userpanes :
${input_text( name='userpanes', id='myuserpanes', value=fliparg(uinfo.userpanes) )}

${fieldhelp( up_help )}
${input_submit( value='Submit' )} ${input_reset( value='Reset' )}
<%def name="form_updtpass( u, action )"> <% pw_help = 'Should be a minimum of 4 character password.' %>
${input_hidden( name='user_id', value=str(u.id))}
Enter new password :
${input_password( name='password', id='password')}

${fieldhelp( pw_help )}
Confirm password :
${input_password( name='confpass', id='confpass')}

${fieldhelp( pw_help )}
${input_submit( value='Submit' )} ${input_reset( value='Reset' )}
<%def name="form_add_userrelations( u, reltypes, action )">
${input_hidden( name='user_id', value=str(u.id) )} ${input_hidden( name='userfrom', value=u.username )}
${elements.iconize( 'Relation :', 'relation' )}
${select( name='userrel_type', id='userrel_type', options=reltypes, style='width : 10em' )}
${elements.iconize( 'Users :', 'users' )}
${multiselect( name='userto', id='userto', options=[], \ size="4", style='width : 10em' )}
${input_submit( value='Add' )}
<%def name="form_approve_userrelations( u, action )">
${input_hidden( name='user_id', value=str(u.id) )}
${input_submit( value='Approve' )}
None
<%def name="form_del_userrelations( u, reltypes, action )">
${input_hidden( name='user_id', value=str(u.id) )}
${elements.iconize( 'Relation :', 'relation' )}
${select( name='userrel_type', id='userrel_type', options=reltypes, style='width : 10em' )}
${elements.iconize( 'Users :', 'users' )}
${multiselect( name='user_relation_id', id='user_relation_id', options=[], size="4", style='width : 10em' )}
${input_submit( value='Delete' )}
<%def name="form_user_enable( u, action, dusers )">
${input_hidden( name='user_id', value=str(u.id))}
${elements.iconize( 'Users :', 'users' )}
${multiselect( name='enable_user', id='enable_user', options=dusers, size='7', style='width : 15em;' )}
${input_submit( value='Enable' )}
<%def name="form_user_disable( u, action , eusers)">
${input_hidden( name='user_id', value=str(u.id))}
${elements.iconize( 'Users :', 'users' )}
${multiselect( name='disable_user', id='disable_user', options=eusers, size='7', style='width : 15em;' )}
${input_submit( value='Disable' )}
<%def name="form_project_enable( u, action, dprojects )">
${input_hidden( name='user_id', value=str(u.id))}
${elements.iconize( 'Projects :', 'projects' )}
${multiselect( name='enable_project', id='enable_project', options=dprojects, size='7', style='width : 10em;' )}
${input_submit( value='Enable' )}
<%def name="form_project_disable( u, action, eprojects )">
${input_hidden( name='user_id', value=str(u.id))}
${elements.iconize( 'Projects :', 'projects' )}
${multiselect( name='disable_project', id='disable_project', options=eprojects, size='7', style='width : 10em;' )}
${input_submit( value='Disable' )}
<%def name="form_add_userpermissions( u, usernames, action, defuser, x_pgroups )">
${input_hidden( name='user_id', value=str(u.id))}
${elements.iconize( 'User :', 'user' )}
${select( name='username', id='addtouser', options=usernames, \ opt_selected=defuser, style='width : 12em' )}
Permissions :
${multiselect( name='perm_group', id='add_perm_group', options=x_pgroups, \ size="7", style='width : 15em' )}
${input_submit( value='Add' )}
<%def name="form_del_userpermissions( u, usernames, action, defuser, pgroups )">
${input_hidden( name='user_id', value=str(u.id))}
${elements.iconize( 'User :', 'user' )}
${select( name='username', id='delfromuser', options=usernames, \ opt_selected=defuser, style='width : 15em' )}
Permissions :
${multiselect( name='perm_group', id='del_perm_group', options=pgroups, \ size="7", style='width : 15em' )}
${input_submit( value='Delete' )}
<%def name="form_inviteuser( u, action )">
${input_hidden( name='user_id', value=str(u.id))}
${elements.helpboard(""" provide user's emailid whom you want to invite. """)}
${input_text( name='emailid', id='emailid', size='32', style='width : 15em;' )}
<%def name="form_forgotpass( action )">
${elements.helpboard(""" Enter the email id that you have registered with us """)}
${input_text( name='emailid', id='emailid', size='32', style='width : 15em;' )}
<%def name="form_resetpass( action )"> <% pw_help = 'Should be a minimum of 4 character password.' %>
Enter new password :
${input_password( name='password', id='password')}

${fieldhelp( pw_help )}
Confirm password :
${input_password( name='confpass', id='confpass')}

${fieldhelp( pw_help )}
${input_submit( value='Submit' )} ${input_reset( value='Reset' )}
## ------------------------- License Forms -------------------------------- <%def name="form_licenselist( lics, default='' )"> <% lics = [ [ '', '--Select-License--' ] ] + lics default = default or '--Select-License--' %> ${select( name='viewlicense', id='viewlicense', options=lics, opt_selected=default )} <%def name="form_createlicense( u, action )"> <% ln_help = 'licensename must be unique' sm_help = 'one line summary' src_help = 'license originator' %>
${input_hidden( name='user_id', value=str(u.id))}
License name :
${input_text( name='licensename', id='licensename', size='32', style='width : 15em;' )}

${fieldhelp( ln_help )}
Summary :
${input_text( name='summary', id='summary', size='64', style='width : 30em;' )}

${fieldhelp( sm_help )}
Source :
${input_text( name='source', id='source', size='64', style='width : 30em;' )}

${fieldhelp( src_help )}
License Text :
${textarea( name='text', tatype='simpletextarea', id='text', cols='80', rows='20', style='width : 100%' )}
${input_submit( value='Submit' )} ${input_reset( value='Reset' )}
<%def name="form_updatelicense_h( u, l, action )"> <% ln_help = 'licensename must be unique' sm_help = 'one line summary' src_help = 'license originator' %>
${input_hidden( name='user_id', value=str(u.id))} ${input_hidden( name='license_id', value=str(l.id))}
License name :
${input_text( name='licensename', id='licensename', value=l.licensename, size='32', style='width : 15em;' )}

${fieldhelp( ln_help )}
Summary :
${input_text( name='summary', id='summary', value=l.summary, size='64', style='width : 30em;' )}

${fieldhelp( sm_help )}
Source :
${input_text( name='source', id='source', size='64', value=l.source, style='width : 30em;' )}

${fieldhelp( src_help )}
License Text :
${textarea( name='text', tatype='simpletextarea', id='text', cols='90', rows='20', style='width : 100%' )}
## We are not adding the license text here since it is already ## availabe in the view license element. Optimizing on bandwidth
${input_submit( value='Submit' )} ${input_reset( value='Reset' )}
<%def name="form_removelic_h( u , action )">
${input_hidden( name='user_id', value=str(u.id))} ${input_hidden( name='licensename', id='licensename')}
#### --------------------------Project Forms -------------------------------- <%def name="form_createproject( u, licensenames, projectnames, action )"> <% pn_help = '"projectname" cannot be changed later' sm_help = 'one line summary' %>
${input_hidden( name='user_id', value=str(u.id) )} ${input_hidden( name='admin', value=u.username )}
Project name :
${input_text( name='projectname', id='projectname' )}

${fieldhelp( pn_help )}
Summary :
${input_text( name='summary', id='summary', size='64', style='width : 30em;' )}

${fieldhelp( sm_help )}
Admin E-mailid :
${input_text( name='admin_email', id='admin_email', value=u.emailid )}
License :
${select( name='licensename', id='licensename', options=licensenames )} % if c.liceditable : create-license % else : create-license % endif
Description :
${elements.captiontextarea( 'Use wiki markup to compose project description.' )} ${textarea( name='description', tatype='simpletextarea', id='description', cols='90', rows='20', style='width : 100%' )}
${input_submit( value='Submit' )} ${input_reset( value='Reset' )}
<%def name="form_projectinfo( u, p, licensenames, usernames, licurl, action )"> <% sm_help = 'one line summary' em_help = 'if left empty, your registered email-id will be used.' ml_help = 'project mailing-list as comma separated values' ir_help = 'project irc-channels as comma separated values' pinfo = p.project_info mailinglists = ', '.join([ m.mailing_list for m in p.mailinglists ]) ircchannels = ', '.join([ i.ircchannel for i in p.ircchannels ]) %>
${input_hidden( name='user_id', value=str(u.id))} ${input_hidden( name='project_id', value=str(p.id))} ${input_hidden( name='projectname', value=str(p.projectname))} ## Field for 'prjexp' form ${input_hidden( name='expose_project', id='exposed', value=p.projectname )}
Summary :
${input_text( name='summary', id='summary', size='64', style='width : 30em;', value=p.summary )}

${fieldhelp( sm_help )}
Admin E-mailid :
${input_text( name='admin_email', id='admin_email', value=p.admin_email )}

${fieldhelp( em_help )}
Description :
${elements.captiontextarea( 'Use wiki markup to compose project description.' )} ${textarea( name='description', id='description', text=p.project_info.description, style='width : 40em' )}
Admin :
${select( name='admin', id='admin', options=usernames, opt_selected=p.admin.username )} ${fieldhelp( 'if you are changing the administrator, be sure to refresh the page', fhstyle="font-style: italic; color: red" )}
License :
${select( name='licensename', id='licensename', options=licensenames, opt_selected=p.license and p.license.licensename or '' )} view-all-license
## Field for 'prjml' form
Mailing-lists :
${input_text( name='mailinglists', id='mailinglists', size='64', value= mailinglists )}

${fieldhelp( ml_help )}
## Field for 'prjirc' form
Irc-channels :
${input_text( name='ircchannels', id='ircchannels', size='64', value= ircchannels )}

${fieldhelp( ir_help )}
${input_submit( value='Submit' )} ${input_reset( value='Reset' )}
<%def name="form_createpcomp( u, p, pusers, action )"> <% cn_help = 'Component name must be unique' %>
${input_hidden( name='user_id', value=str(u.id))} ${input_hidden( name='project_id', value=str(p.id))}
Component name :
${input_text( name='componentname', id='crcompname' )}

${fieldhelp( cn_help )}
Owner :
${select( name='owner', id='crowner', options=pusers )}
Description :
${elements.captiontextarea( 'Use wiki markup to compose component description.' )} ${textarea( name='description', id='crcompdesc', rows='1', cols='50', style='width : 25em' )}
${input_submit( value='Create' )}
<%def name="form_updatepcomp( u, p, pusers, pcomplist, action )"> <% cn_help = 'component name must be unique' %>
${select( name='updtpcomp', id='updtpcomp', options=pcomplist )}
${input_hidden( name='user_id', value=str(u.id))} ${input_hidden( name='project_id', value=str(p.id))} ${input_hidden( name='component_id', value='' )}
Component name :
${input_text( name='componentname', id='updtcompname' )}

${fieldhelp( cn_help )}
Owner :
   Pick new owner : ${select( name='owner', id='updtowner', options=pusers )}
Description :
${elements.captiontextarea( 'Use wiki markup to compose component description.' )} ${textarea( name='description', id='updtpcompdesc', cols='50', style='width : 25em' )}
${input_submit( value='Update' )}
<%def name="form_rmpcomp( u, p, action )">
${input_hidden( name='user_id', value=str(u.id))} ${input_hidden( name='project_id', value=str(p.id))}
${multiselect( name='component_id', id='component_id', options=[], size='4', style='width : 20em;' )}
${input_submit( value='Delete' )}
<%def name="form_createmstn( u, p, action )"> <% mn_help = 'milestone name must be unique' %>
${input_hidden( name='user_id', value=str(u.id))} ${input_hidden( name='project_id', value=str(p.id))}
Milestone name :
${input_text( name='milestone_name', id='crmstnname' )}

${fieldhelp( mn_help )}
Due date :
${input_text( name='due_date', id='crduedate' )}
Description :
${elements.captiontextarea( 'Use wiki markup to compose milestone description.' )} ${textarea( name='description', id='crmstndesc', rows='1', cols='50', style='width : 25em' )}

${input_submit( value='Create' )}
<%def name="form_updatemstn( u, p, mstnlist, action )"> <% mn_help = 'milestone name must be unique' %>
${select( name='updtmstn', id='updtmstn', options=mstnlist )}
${input_hidden( name='user_id', value=str(u.id))} ${input_hidden( name='project_id', value=str(p.id))} ${input_hidden( name='milestone_id', value='' )}
Mileston name :
${input_text( name='milestone_name', id='updtmstnname' )}

${fieldhelp( mn_help )}
Due date :
${input_text( name='due_date', id='updtduedate' )}
Description :
${elements.captiontextarea( 'Use wiki markup to compose milestone description.' )} ${textarea( name='description', id='updtmstndesc', cols='50', style='width : 25em' )}
Mark as :
${input_radio( name='status', id='mstnstatus1', value='cancelled', text='cancelled' )} ${input_radio( name='status', id='mstnstatus2', value='completed', text='completed' )}
Closing remark :
${elements.captiontextarea( 'Use wiki markup to compose closing_remark.' )} ${textarea( name='closing_remark', id='closing_remark', rows='4', cols='50', style='width : 25em' )}
${input_submit( value='Update' )}
<%def name="form_rmmstn( u, p, action )">
${input_hidden( name='user_id', value=str(u.id))} ${input_hidden( name='project_id', value=str(p.id))}
${multiselect( name='milestone_id', id='milestone_id', options=[], size='4', style='width : 20em;' )}
${input_submit( value='Delete' )}
<%def name="form_createver( u, p, action )"> <% vn_help = 'version name must be unique' %>
${input_hidden( name='user_id', value=str(u.id))} ${input_hidden( name='project_id', value=str(p.id))}
Version name :
${input_text( name='version_name', id='crvername' )}

${fieldhelp( vn_help )}
Description :
${elements.captiontextarea( 'Use wiki markup to compose version description.' )} ${textarea( name='description', id='crverdesc', rows='1', cols='50', style='width : 25em' )}
${input_submit( value='Create' )}
<%def name="form_updatever( u, p, verlist, action )"> <% vn_help = 'version name must be unique' %>
${select( name='updtver', id='updtver', options=verlist )}
${input_hidden( name='user_id', value=str(u.id))} ${input_hidden( name='project_id', value=str(p.id))} ${input_hidden( name='version_id', value='' )}
Version name :
${input_text( name='version_name', id='updtvername' )}

${fieldhelp( vn_help )}
Description :
${elements.captiontextarea( 'Use wiki markup to compose version description.' )} ${textarea( name='description', id='updtverdesc', cols='50', style='width : 25em' )}
${input_submit( value='Update' )}
<%def name="form_rmver( u, p, action )">
${input_hidden( name='user_id', value=str(u.id))} ${input_hidden( name='project_id', value=str(p.id))}
${multiselect( name='version_id', id='version_id', options=[], size='4', style='width : 20em;' )}
${input_submit( value='Delete' )}
<%def name="form_addprjteam( u, p, teamtypes, deftt, x_teamusers, action )">
${input_hidden( name='user_id', value=str(u.id) )} ${input_hidden( name='project_id', value=str(p.id))}
${elements.iconize( 'Team :', 'team' )}
${select( name='team_type', id='team_type', options=teamtypes, opt_selected=deftt, style='width : 10em' )}
${elements.iconize( 'Users :', 'users' )}
${multiselect( name='projuser', options=x_teamusers, \ size="7", style='width : 10em' )}
${input_submit( value='Submit' )}
<%def name="form_delprjteam( u, p, teamtypes, deftt, teamusers, action )">
${input_hidden( name='user_id', value=str(u.id) )} ${input_hidden( name='project_id', value=str(p.id))}
${elements.iconize( 'Team :', 'team' )}
${select( name='team_type', id='team_type', options=teamtypes, opt_selected=deftt, style='width : 10em' )}
${elements.iconize( 'Users :', 'users' )}
${multiselect( name='project_team_id', id='project_team_id', options=teamusers, size="7", style='width : 10em' )}
${input_submit( value='Submit' )}
<%def name="form_addteamperms( u, p, teamtypes, deftt, x_teampgroups, action )">
${input_hidden( name='user_id', value=str(u.id) )} ${input_hidden( name='project_id', value=str(p.id))}
${elements.iconize( 'Team :', 'team' )}
${select( name='team_type', id='team_type', options=teamtypes, opt_selected=deftt, style='width : 10em' )}
Permissions :
${multiselect( name='perm_group', id='perm_group', options=x_teampgroups, \ size="7", style='width : 15em' )}
${input_submit( value='Submit' )}
<%def name="form_delteamperms( u, p, teamtypes, deftt, teampgroups, action )">
${input_hidden( name='user_id', value=str(u.id) )} ${input_hidden( name='project_id', value=str(p.id))}
${elements.iconize( 'Team :', 'team' )}
${select( name='team_type', id='team_type', options=teamtypes, opt_selected=deftt, style='width : 10em' )}
Permissions :
${multiselect( name='projectteam_perm_id', id='projectteam_perm_id', options=teampgroups, size="7", style='width : 15em' )}
${input_submit( value='Submit' )}
<%def name="form_addprjperms( u, p, projusers, defuser, x_userpgroups, action )">
${input_hidden( name='user_id', value=str(u.id) )} ${input_hidden( name='project_id', value=str(p.id))}
${elements.iconize( 'User :', 'user' )}
${select( name='projuser', options=projusers, opt_selected=defuser, style='width : 10em' )}
Permissions :
${multiselect( name='perm_group', id='perm_group', options=x_userpgroups, \ size="7", style='width : 15em' )}
${input_submit( value='Submit' )}
<%def name="form_delprjperms( u, p, projusers, defuser, userpgroups, action )">
${input_hidden( name='user_id', value=str(u.id) )} ${input_hidden( name='project_id', value=str(p.id))}
${elements.iconize( 'User :', 'user' )}
${select( name='projuser', options=projusers, opt_selected=defuser, style='width : 10em' )}
Permissions :
${multiselect( name='project_perm_id', id='project_perm_id', options=userpgroups, size="7", style='width : 15em' )}
${input_submit( value='Submit' )}
<%def name="form_projfav( u, p, action, name )">
${input_hidden( name='user_id', value=str(u.id) )} ${input_hidden( name='project_id', value=str(p.id))} ${input_hidden( name=name, value=str(u.username))}
#### -------------------------- Ticket Forms -------------------------------- <%def name="form_selectticket( u, ticketlist, default='' )"> <% ticketlist = [ [ '', '--Select-Ticket--' ] ] + ticketlist default = default or '--Select-Ticket--' %> ${select( name='selectticket', id='selectticket', options=ticketlist, opt_selected=default )} <%def name="form_createticket( u, p, action, tck_typenames, tck_severitynames, projusers, components, milestones, versions )"> <% sm_help = 'one line summary' blkby_help = 'comma separated list of ticket ids that are blocking this ticket' blkng_help = 'comma separated list of ticket ids that are blockedby this ticket' pt_help = 'parent ticket id' components = [ [ '', '--Select-Component--' ] ] + \ sorted( components, key=lambda x : x[1] ) milestones = [ [ '', '--Select-Milestone--' ] ] + \ sorted( milestones, key=lambda x : x[1] ) versions = [ [ '', '--Select-Version--' ] ] + \ sorted( versions, key=lambda x : x[1] ) projusers = sorted( projusers ) %>

Create Ticket

${input_hidden( name='user_id', value=str(u.id) )} ${input_hidden( name='project_id', value=str(p.id))}
Summary :
${input_text( name='summary', id='summary', size='40', style='width : 25em;' )}

${fieldhelp( sm_help )}
type :
${select( name='tck_typename', id='tck_typename', options=tck_typenames )}
severity :
${select( name='tck_severityname', id='tck_severityname', options=tck_severitynames )}
prompt user :
${select( name='promptuser', id='promptuser', options=projusers, opt_selected=u.username )}
${select( name='component_id', id='component', options=components, opt_selected='--Select-Component--' )}
${select( name='milestone_id', id='milestone', options=milestones, opt_selected='--Select-Milestone--' )}
${select( name='version_id', id='version', options=versions, opt_selected='--Select-Version--' )}
blocked by :
${input_text( name='blockedby_ids', id='blockedby_ids' )}

${fieldhelp( blkby_help )}
blocking :
${input_text( name='blocking_ids', id='blocking_ids' )}

${fieldhelp( blkng_help )}
parent ticket:
${input_text( name='parent_id', id='parent_id' )} ( ${fieldhelp( pt_help )} )
Description :
${elements.captiontextarea( 'Use wiki markup to compose ticket description.' )} ${textarea( name='description', tatype='simpletextarea', id='description', cols='100', rows='7' )}
${input_submit( value='Create' )}
<%def name="form_edittck( u, p, t, action, tck_typenames, tck_severitynames, \ projusers, components, milestones, versions )"> <% blkby_help = 'Enter blocking ticket ids as comma separated integer values' blkng_help = 'Enter blockedby ticket ids as comma separated integer values' pt_help = 'Parent ticket id as integer value' sm_help = 'A one line summary' ds_help = 'Mininum 6 characters to max %s characters.' % h.LEN_DESCRIBE componentname = t.components and t.components[0].componentname milestone_name = t.milestones and t.milestones[0].milestone_name version_name = t.versions and t.versions[0].version_name blockedby = ', '.join([ str(tby.id) for tby in t.blockedby ]) blocking = ', '.join([ str(tng.id) for tng in t.blocking ]) parent = t.parent and str(t.parent.id) or '' %>
${input_hidden( name='user_id', value=str(u.id) )} ${input_hidden( name='project_id', value=str(p.id))} ${input_hidden( name='ticket_id', value=str(t.id))}
type :
${select( name='tck_typename', id='tck_typename', options=tck_typenames, opt_selected=t.type.tck_typename )}
severity :
${select( name='tck_severityname', id='tck_severityname', options=tck_severitynames, opt_selected=t.severity.tck_severityname )}
prompt user :
${select( name='promptuser', id='promptuser', options=projusers, opt_selected=t.promptuser.username )}
component :
${select( name='component_id', id='component', options=components, opt_selected=compnentname )}
milestone :
${select( name='milestone_id', id='milestone', options=milestones, opt_selected=milestone_name )}
version :
${select( name='version_id', id='version', options=versions, opt_selected=version_name )}
blocked by :
${input_text( name='blockedby_ids', id='blockedby_ids', value=blockedby )}

${fieldhelp( blkby_help )}
blocking :
${input_text( name='blocking_ids', id='blocking_ids', value=blocking )}

${fieldhelp( blkng_help )}
parent ticket:
${input_text( name='parent_id', id='parent_id', value=parent )}

${fieldhelp( pt_help )}
Summary :
${input_text( name='summary', id='summary', value=t.summary, size='64', style='width : 30em;' )}

${fieldhelp( sm_help )}
Description
${elements.captiontextarea( 'Use wiki markup to compose ticket description.' )} ${textarea( name='description', tatype='simpletextarea', id='description', text=t.description, rows='20', style='width : 100%' )}

${fieldhelp( ds_help )}
${input_submit( value='Update' )}
<%def name="form_configticket( u, p, action, t=None )">
${input_hidden( name='user_id', value=str(u.id) )} ${input_hidden( name='project_id', value=str(p.id))} ${input_hidden( name='ticket_id', value=(t and str(t.id) or '') )} ${input_hidden( name='tck_typename')} ${input_hidden( name='tck_severityname')} ${input_hidden( name='promptuser')} ${input_hidden( name='component_id')} ${input_hidden( name='milestone_id')} ${input_hidden( name='version_id')} ${input_hidden( name='summary')}
<%def name="form_tcktype( u, p, action, t=None )">
${input_hidden( name='user_id', value=str(u.id) )} ${input_hidden( name='project_id', value=str(p.id))} ${input_hidden( name='ticket_id', value=(t and str(t.id) or '') )} ${input_hidden( name='tck_typename', value=(t and t.type.tck_typename or '') )}
<%def name="form_tckseverity( u, p, action, t=None )">
${input_hidden( name='user_id', value=str(u.id) )} ${input_hidden( name='project_id', value=str(p.id))} ${input_hidden( name='ticket_id', value=(t and str(t.id) or '') )} ${input_hidden( name='tck_severityname', value=( t and t.severity.tck_severityname or '' ) )}
<%def name="form_tckpromptuser( u, p, action, t=None )">
${input_hidden( name='user_id', value=str(u.id) )} ${input_hidden( name='project_id', value=str(p.id))} ${input_hidden( name='ticket_id', value=(t and str(t.id) or '') )} ${input_hidden( name='promptuser')}
<%def name="form_tckcomponent( u, p, action, t=None )">
${input_hidden( name='user_id', value=str(u.id) )} ${input_hidden( name='project_id', value=str(p.id))} ${input_hidden( name='ticket_id', value=(t and str(t.id) or '') )} ${input_hidden( name='component_id')}
<%def name="form_tckmilestone( u, p, action, t=None )">
${input_hidden( name='user_id', value=str(u.id) )} ${input_hidden( name='project_id', value=str(p.id))} ${input_hidden( name='ticket_id', value=(t and str(t.id) or '') )} ${input_hidden( name='milestone_id')}
<%def name="form_tckversion( u, p, action, t=None )">
${input_hidden( name='user_id', value=str(u.id) )} ${input_hidden( name='project_id', value=str(p.id))} ${input_hidden( name='ticket_id', value=(t and str(t.id) or '') )} ${input_hidden( name='version_id')}
<%def name="form_tckparent( u, p, action, t=None )">
${input_hidden( name='user_id', value=str(u.id) )} ${input_hidden( name='project_id', value=str(p.id))} ${input_hidden( name='ticket_id', value=(t and str(t.id) or '') )} ${input_hidden( name='parent_id')}
<%def name="form_tckblockedby( u, p, action, t=None )">
${input_hidden( name='user_id', value=str(u.id) )} ${input_hidden( name='project_id', value=str(p.id))} ${input_hidden( name='ticket_id', value=(t and str(t.id) or '') )} ${input_hidden( name='blockedby_ids')}
<%def name="form_tckblocking( u, p, action, t=None )">
${input_hidden( name='user_id', value=str(u.id) )} ${input_hidden( name='project_id', value=str(p.id))} ${input_hidden( name='ticket_id', value=(t and str(t.id) or '') )} ${input_hidden( name='blocking_ids')}
<%def name="form_tcksummary( u, p, action, t=None )">
${input_hidden( name='user_id', value=str(u.id) )} ${input_hidden( name='project_id', value=str(p.id))} ${input_hidden( name='ticket_id', value=(t and str(t.id) or '') )} ${input_hidden( name='summary')}
<%def name="form_tckdescription( u, p, action, t=None )">
${input_hidden( name='user_id', value=str(u.id) )} ${input_hidden( name='project_id', value=str(p.id))} ${input_hidden( name='ticket_id', value=(t and str(t.id) or '') )} ${textarea( name='description', tatype='simpletextarea', id='description', text=t.description, rows='10', style='width : 100%' )} ${input_submit( value='Update' )}
<%def name="form_changetckst( u, p, t, statusname, due_date, action, tck_statusnames )"> <% neutral_style = "float : none; text-align : center; margin : 0px;" %>
${input_hidden( name='user_id', value=str(u.id) )} ${input_hidden( name='project_id', value=str(p.id))} ${input_hidden( name='ticket_id', value=str(t.id))} ${input_hidden( name='owner', value=str(u.id) )}
status :
${select( name='tck_statusname', id='tck_statusname', options=tck_statusnames, opt_selected=statusname )}
due date :
${input_text( name='due_date', value=due_date, id='tsduedate' )}
${input_submit( value='Change' )}
<%def name="form_configtst( u, p, action, t=None, ts=None )">
${input_hidden( name='user_id', value=str(u.id) )} ${input_hidden( name='project_id', value=str(p.id))} ${input_hidden( name='ticket_id', value=( t and str(t.id) or '') )} ${input_hidden( name='ticket_status_id', value=( ts and str(ts.id) or '') )} ${input_hidden( name='owner', value=str(u.id) )} ${input_hidden( name='tck_statusname')} ${input_hidden( name='due_date')}
<%def name="form_createtcmt( u, p, t, action )">
${input_hidden( name='user_id', value=str(u.id) )} ${input_hidden( name='project_id', value=str(p.id))} ${input_hidden( name='ticket_id', value=str(t.id) )} ${input_hidden( name='commentby', value=u.username )}
${elements.captiontextarea( 'Use wiki markup to compose ticket comment.' )} ${textarea( name='text', id='crtcmt_text' )}
${input_submit( value='Add' )}
<%def name="form_replytcmt( u, p, t, action, tcmt=None )">
${input_hidden( name='user_id', value=str(u.id) )} ${input_hidden( name='project_id', value=str(p.id))} ${input_hidden( name='ticket_id', value=str(t.id) )} ${input_hidden( name='commentby', value=u.username )} ${input_hidden( name='replytocomment_id', value=tcmt and str(tcmt.id) or '' )}
${elements.captiontextarea( 'Use wiki markup to compose ticket comment.' )} ${textarea( name='text', id='rptcmt_text' )}
${input_submit( value='Reply' )}
<%def name="form_updatetcmt( u, p, t, action, tcmt=None )">
${input_hidden( name='user_id', value=str(u.id) )} ${input_hidden( name='project_id', value=str(p.id))} ${input_hidden( name='ticket_id', value=str(t.id) )} ${input_hidden( name='ticket_comment_id', value=tcmt and str(tcmt.id) or '' )} ${input_hidden( name='commentby', value=u.username )}
${elements.captiontextarea( 'Use wiki markup to compose ticket comment.' )} ${textarea( name='text', id='upcmt_text', text=tcmt and tcmt.text or '' )}
${input_submit( value='Update' )}
<%def name="form_tckfav( u, p, t, action, name )">
${input_hidden( name='user_id', value=str(u.id) )} ${input_hidden( name='project_id', value=str(p.id))} ${input_hidden( name='ticket_id', value=str(t.id))} ${input_hidden( name=name, value=str(u.username))}
<%def name="form_votetck( u, p, t, action, upvotes, downvotes, currvote )">
${input_hidden( name='user_id', value=str(u.id) )} ${input_hidden( name='project_id', value=str(p.id))} ${input_hidden( name='ticket_id', value=str(t.id))} ${input_hidden( name='votedas', value=(vote and vote.votedas or ''))}
<%def name="form_addtckfilter( u, action )">
${input_hidden( name='user_id', value=str(u.id) )} ${input_hidden( id='filterbyjson', name='filterbyjson' )}
${input_text( id='filtername', name='name', style='width: 10em; color: #D6D6D6;', value='Save-This-Filter' )}
<%def name="form_deltckfilter( u, savfilterid, action )">
${input_hidden( name='user_id', value=str(u.id) )} ${input_hidden( name='tf_id', value=str(savfilterid) )} ${input_submit( value='Delete' )}
<%def name="form_selectsavfilter( u, filterlist, default='' )"> <% filterlist = [ [ '', '--Select-Filter--' ] ] + filterlist default = default or '--Select-Filter--' %> ${select( name='selsavfilter', id='selsavfilter', options=filterlist, opt_selected=default )} #### ------------------------- Review Forms --------------------------------- <%def name="select_revwnature( naturenames )"> <% naturenames = [ [ '', '--Select-Nature--' ] ] + naturenames %> ${select( name='reviewnature', options=naturenames )} <%def name="select_revwaction( actionnames )"> <% actionnames = [ [ '', '--Select-Action--' ] ] + actionnames %> ${select( name='reviewaction', options=actionnames )} <%def name="form_selectrevw( u, revwlist, default='' )"> <% revwlist = [ [ '', '--Select-Review--' ] ] + revwlist default = default or '--Select-Review--' %> ${select( name='selectrevw', id='selectrevw', options=revwlist, opt_selected=default )} <%def name="form_selectrset( u, rsetlist, default='' )"> <% rsetlist = [ [ '', '--Select-ReviewSet--' ] ] + rsetlist default = default or '--Select-ReviewSet--' %> ${select( name='selectrset', id='selectrset', options=rsetlist, opt_selected=default )} <%def name="form_createrev( u, p, rsets, action, projusers, usernames, forsrc=[], forversion=None )"> <% ru_help = 'enter the resource url to be reviewed' rv_help = 'nth version to review' ra_help = 'author should take action on review comments' rsets = [ [ '', '--Select-ReviewSet--' ] ] + rsets %>
${input_hidden( name='user_id', value=str(u.id) )} ${input_hidden( name='project_id', value=str(p.id))} ${input_hidden( name='moderator', value=str(u.username))}
Review Set :
${select( name='rset_id', id='rset_id', options=rsets )}
Resource Url :
% if forsrc == [] :
${input_text( name='resource_url', id='resource_url' )}

${fieldhelp( ru_help )}
% endif % for rurl in forsrc :
${input_text( name='resource_url', value=rurl, readonly='readonly', size='40' )}
% endfor
Version :
% if forversion : ${input_text( name='version', value=str(forversion), readonly='readonly' )} % else :
${input_text( name='version', id='version' )}

${fieldhelp( rv_help )}
% endif
Author :
${select( name='author', id='author', options=projusers, opt_selected=u.username )}

${fieldhelp( ra_help )}
Participants :
${multiselect( name='participant', id='participant', options=usernames, size="7" )}
${input_submit( value='Create' )} ${input_reset( value='Reset' )}
<%def name="form_configrev( u, p, action )">
${input_hidden( name='user_id', value=str(u.id) )} ${input_hidden( name='project_id', value=str(p.id) )} ${input_hidden( name='review_id', value='' )} ${input_hidden( name='resource_url', id='resource_url', value='' )} ${input_hidden( name='version', id='version', value='' )} ${input_hidden( name='author', id='author', value='' )} ${input_hidden( name='moderator', id='moderator', value='' )}
<%def name="form_revwauthor( u, p, r, action, projusers )"> <% projusers = [ [ '', '--Select-Author--' ] ] + projusers if not r.author : default = '--Select-Author--' elif r.author.username not in projusers : default = '--Select-Author--' else : default = r.author.username %>
${input_hidden( name='user_id', value=str(u.id) )} ${input_hidden( name='project_id', value=str(p.id) )} ${input_hidden( name='review_id', value=str(r.id) )} ${select( name='author', id='author', options=projusers, opt_selected=default )}
<%def name="form_revwmoderator( u, p, r, action, projusers )"> <% projusers = [ [ '', '--Select-Moderator--' ] ] + projusers default = r.moderator and r.moderator.username or '--Select-Moderator--' if not r.moderator : default = '--Select-Moderator--' elif r.moderator.username not in projusers : default = '--Select-Moderator--' else : default = r.moderator.username %>
${input_hidden( name='user_id', value=str(u.id) )} ${input_hidden( name='project_id', value=str(p.id) )} ${input_hidden( name='review_id', value=str(r.id) )} ${select( name='moderator', options=projusers, opt_selected=default )}
<%def name="form_closerev( u, p, r, action )">
${input_hidden( name='user_id', value=str(u.id) )} ${input_hidden( name='project_id', value=str(p.id) )} ${input_hidden( name='review_id', value=str(r.id) )} ${input_hidden( name='command', value='' )} % if r.closed : Open : ${input_radio( name='radiocommand', value='open' )} Close : ${input_radio( name='radiocommand', value='close', checked='checked' )} % else : Open : ${input_radio( name='radiocommand', value='open', checked='checked' )} Close : ${input_radio( name='radiocommand', value='close' )} % endif
<%def name="form_addparts( u, p, r, action, usernames )"> <% usernames = [ '--Add--' ] + usernames default = '--Add--' %>
${input_hidden( name='user_id', value=str(u.id) )} ${input_hidden( name='project_id', value=str(p.id) )} ${input_hidden( name='review_id', value=str(r.id) )} ${select( name='participant', id='participant', options=usernames, opt_selected=default )}
<%def name="form_delparts( u, p, r, action )">
${input_hidden( name='user_id', value=str(u.id) )} ${input_hidden( name='project_id', value=str(p.id) )} ${input_hidden( name='review_id', value=str(r.id) )} ${input_hidden( name='participant' )}
<%def name="form_revwfav( u, p, r, action, name )">
${input_hidden( name='user_id', value=str(u.id) )} ${input_hidden( name='project_id', value=str(p.id))} ${input_hidden( name='review_id', value=str(r.id))} ${input_hidden( name=name, value=str(u.username))}
<%def name="form_creatercmt( u, p, r, action, naturenames )"> <% naturenames = [ '--Select-Nature--' ] + naturenames[:] pos_help = 'Line number' %>
${input_hidden( name='user_id', value=str(u.id) )} ${input_hidden( name='project_id', value=str(p.id))} ${input_hidden( name='review_id', value=str(r.id) )} ${input_hidden( name='commentby', value=u.username )}
Position :
${input_text( name='position', style='width: 3em;' )} ${fieldhelp( pos_help, fhstyle="color: red;" )}
Nature :
${select( name='reviewnature', options=naturenames, opt_selected='--Select-Nature--' )}
Comment text :
${elements.captiontextarea( 'Use wiki markup to compose review comment.' )} ${textarea( name='text', tatype='simpletextarea', id='crrcmt_text', cols='90', rows='1', style='width : 100%' )}
${input_submit( value='Create' )}
<%def name="form_replyrcmt( u, p, r, action )">
${input_hidden( name='user_id', value=str(u.id) )} ${input_hidden( name='project_id', value=str(p.id))} ${input_hidden( name='review_id', value=str(r.id) )} ${input_hidden( name='commentby', value=u.username )} ${input_hidden( name='replytocomment_id', value='' )}
${elements.captiontextarea( 'Use wiki markup to compose review comment.' )} ${textarea( name='text', tatype='simpletextarea', id='rprcmt_text', cols='90', rows='1', style='width : 100%' )} ${input_submit( value='Reply' )}
<%def name="form_processrcmt( u, p, r, action )">
${input_hidden( name='user_id', value=str(u.id) )} ${input_hidden( name='project_id', value=str(p.id))} ${input_hidden( name='review_id', value=str(r.id) )} ${input_hidden( name='review_comment_id', value='' )} ${input_hidden( name='approve', value='empty' )} ${input_hidden( name='reviewnature', value='empty' )} ${input_hidden( name='reviewaction', value='empty' )}
<%def name="form_createrset( u, p, action, reload )">
${input_hidden( name='user_id', value=str(u.id) )} ${input_hidden( name='project_id', value=str(p.id))}
New ReviewSet :
${input_text( name='name', id='name' )}
${input_submit( value='Create' )}
<%def name="form_updaterset( u, p, rs, action, reload )">
${input_hidden( name='user_id', value=str(u.id) )} ${input_hidden( name='project_id', value=str(p.id))} ${input_hidden( name='rset_id', value=str(rs.id))}
Update ReviewSet :
${input_text( name='name', id='name', value=rs.name )}
${input_submit( value='Update' )}
<%def name="form_addtorset( u, p, rs, action, revwlist, reload=None )"> <% revwlist = [ [ '', '--Add Review to Set--' ] ] + revwlist %>
${input_hidden( name='user_id', value=str(u.id) )} ${input_hidden( name='project_id', value=str(p.id))} ${input_hidden( name='rset_id', value=str(rs.id))} ${select( name='review_id', id='add_review_id', options=revwlist )}
<%def name="form_delfromrset( u, p, rs, action, revwlist, reload=None )"> <% revwlist = [ [ '', '--Remove Review from Set--' ] ] + revwlist %>
${input_hidden( name='user_id', value=str(u.id) )} ${input_hidden( name='project_id', value=str(p.id))} ${input_hidden( name='rset_id', value=str(rs.id))} ${select( name='review_id', id='del_review_id', options=revwlist )}
#### ------------------------- Vcs Forms --------------------------------- <%def name="form_selectvcs( u, vcslist, default='' )"> <% vcslist = [ [ '', '--Select-Repository--' ] ] + vcslist default = default or '--Select-Repository--' %> Project VCS : ${select( name='selectvcs', id='selectvcs', options=vcslist, opt_selected=default )} <%def name="form_selectfilerevision( u, revlist, default='' )"> File Revision : ${select( name='selectfrev', id='selectfrev', options=revlist, opt_selected=default )} <%def name="form_createvcs( u, p, action, vcs_typenames )"> <% nm_help = 'repository name must be unique' %>
${input_hidden( name='user_id', value=str(u.id) )} ${input_hidden( name='project_id', value=str(p.id))}
Name :
${input_text( name='name', id='name' )}

${fieldhelp( nm_help )}
Type :
${select( name='vcs_typename', id='vcs_typename', options=vcs_typenames )}
Root-url :
${input_text( name='rooturl', id='rooturl', size='64', style='width : 30em;' )}
${input_submit( value='Create' )}
<%def name="form_configvcs( u, p, action, v=None )">
${input_hidden( name='user_id', value=str(u.id) )} ${input_hidden( name='project_id', value=str(p.id))} ${input_hidden( name='vcs_id', value=(t and str(t.id) or '') )} ${input_hidden( name='name')} ${input_hidden( name='rooturl')} ${input_hidden( name='vcs_typename')}
<%def name="form_deletevcs( u, p, action, v=None )">
${input_hidden( name='user_id', value=str(u.id) )} ${input_hidden( name='project_id', value=str(p.id))} ${input_hidden( name='vcs_id', value=(t and str(t.id) or '') )}
<%def name="form_createmount( u, vcslist, contents, action )">
${input_hidden( name='user_id', value=str(u.id) )}
name${input_text( name='name', id='name' )}
${select( name='content', id='content', options=contents )}
${select( name='vcs_id', id='vcs_id', options=vcslist )}
relative-path${input_text( name='repospath', id='repospath' )}
${input_submit( value='Create' )}
<%def name="form_updatemount( u, m, vcslist, contents, action )">
${input_hidden( name='user_id', value=str(u.id) )} ${input_hidden( name='mount_id', value=str(m.id) )}
name${input_text( name='name', id='name', value=m.name )}
${select( name='content', id='content', options=contents, opt_selected=m.content )}
${select( name='vcs_id', id='vcs_id', options=vcslist, opt_selected=m.vcs.name )}
path${input_text( name='repospath', value=m.repospath, )}
${input_submit( value='Update' )}
<%def name="form_deletemount( u, action )">
${input_hidden( name='user_id', value=str(u.id) )} ${input_hidden( name='mount_id', id='del_mountid' )}
<%def name="form_createmount_e( u, v, contents, action )"> <% rp_help = 'relative path to repositories root url' %>
${input_hidden( name='user_id', value=str(u.id) )} ${input_hidden( name='vcs_id', value=str(v.id) )} ${input_hidden( name='repospath', id='repospath' )} ${input_text( name='name', id='name' )} ${select( name='content', id='content', options=contents )} ${input_submit( value='Create' )}
close
<%def name="form_deletemount_e( u, action )">
${input_hidden( name='user_id', value=str(u.id) )} ${input_hidden( name='mount_id', id='mount_id' )}
#### -------------------------- Wiki Forms ---------------------------------- <%def name="form_selectwikipage( u, wikipagenames, default='' )"> <% wikipagenames = sorted( wikipagenames, key=lambda x : x[1] ) wikipagenames = [ [ '', '--Select-Wikipage--' ] ] + wikipagenames default = default or '--Select-Wikipage--' %> ${select( name='selectwikipage', id='selectwikipage', options=wikipagenames, opt_selected=default )} <%def name="form_selectwikiversion( u, versions, default='' )"> ${select( name='selectwver', id='selectwver', options=versions, opt_selected=default )} <%def name="form_wikitype( u, w, wikitypenames, action )">
${input_hidden( name='user_id', value=str(u.id) )} ${input_hidden( name='wiki_id', value=str(w.id))}
${select( name='wiki_typename', id='wiki_typename', options=wikitypenames, opt_selected=w.type.wiki_typename, style='width : 10em' )}
<%def name="form_wikisummary( u, w, action, summary='' )">
${input_hidden( name='user_id', value=str(u.id) )} ${input_hidden( name='wiki_id', value=str(w.id))}
'Summary :'
${input_text( name='summary', id='summary', value=summary )}

${fieldhelp( un_help )}
<%def name="form_configwiki( u, action, w='', typename='', summary='' )">
${input_hidden( name='user_id', value=str(u.id) )} ${input_hidden( name='wiki_id', value=str( w and w.id or '' ))}
${input_text( name='wiki_typename', id='wiki_typename', value=typename )} ${input_text( name='summary', id='summary', value=summary )}
<%def name="form_wikicontent( u, w, wcnt, action, pageurl )"> <% sm_help = 'Enter the page summary, max %s characters' % h.LEN_SUMMARY %>
${input_hidden( name='user_id', value=str(u.id) )} ${input_hidden( name='wiki_id', value=str(w.id) )} ${input_hidden( name='author', value=u.username )}
${elements.captiontextarea( 'Use wiki markup.' )} ${textarea( name='text', tatype="simpletextarea", id='wcnttext', text=wcnt and wcnt.text or '', cols='120', rows='30' )}
${input_submit( value='Save & Continue' )} ${input_reset( value='Reset' )} ${input_button( id='preview', value='Preview' )} Goto-Page
<%def name="form_createwcmt( u, w, action )">
${input_hidden( name='user_id', value=str(u.id) )} ${input_hidden( name='wiki_id', value=str(w.id) )} ${input_hidden( name='version_id', value=str(w.latest_version) )} ${input_hidden( name='commentby', value=u.username )}
${elements.captiontextarea( 'Use wiki markup to compose wiki comment.' )} ${textarea( name='text', id='crwcmt_text' )}
${input_submit( value='Add' )}
<%def name="form_replywcmt( u, w, action, wcmt=None )">
${input_hidden( name='user_id', value=str(u.id) )} ${input_hidden( name='wiki_id', value=str(w.id) )} ${input_hidden( name='commentby', value=u.username )} ${input_hidden( name='version_id', value=str(w.latest_version) )} ${input_hidden( name='replytocomment_id', value=wcmt and str(wcmt.id) or '' )}
${elements.captiontextarea( 'Use wiki markup to compose wiki comment.' )} ${textarea( name='text', id='rpwcmt_text' )}
${input_submit( value='Reply' )}
<%def name="form_updatewcmt( u, w, action, wcmt=None )">
${input_hidden( name='user_id', value=str(u.id) )} ${input_hidden( name='wiki_id', value=str(w.id) )} ${input_hidden( name='wiki_comment_id', value=wcmt and str(wcmt.id) or '' )} ${input_hidden( name='commentby', value=u.username )} ${input_hidden( name='version_id', value=wcmt and str(wcmt.version_id) or '' )}
${elements.captiontextarea( 'Use wiki markup to compose wiki comment.' )} ${textarea( name='text', id='upwcmt_text', text=wcmt and wcmt.text or '' )}
${input_submit( value='Update' )}
<%def name="form_wikidiff( u, w, action, wikicontents )"> <% wikicontents = wikicontents[:] ; wikicontents.reverse() %>
${input_hidden( name='user_id', value=str(u.id) )} ${input_hidden( name='wiki_id', value=str(w.id) )} ${input_submit( value='View changes' )} % for wcnt in wikicontents : % endfor
O/N Version Description
${input_radio( name='oldver', value=str(wcnt.id))} ${input_radio( name='newver', value=str(wcnt.id) )} ${wcnt.id} Authored by ${wcnt.author}, on ${h.utc_2_usertz( wcnt.created_on, u.timezone ).strftime('%b %d, %Y, %r')}
<%def name="form_wikifav( u, p, w, action, name )">
${input_hidden( name='user_id', value=str(u.id) )} ${input_hidden( name='project_id', value=str(p.id))} ${input_hidden( name='wiki_id', value=str(w.id))} ${input_hidden( name=name, value=str(u.username))}
<%def name="form_votewiki( u, p, w, action, upvotes, downvotes, currvote )">
${input_hidden( name='user_id', value=str(u.id) )} ${input_hidden( name='project_id', value=str(p.id))} ${input_hidden( name='wiki_id', value=str(w.id))} ${input_hidden( name='votedas', value=(vote and vote.votedas or ''))}
## --------------------------- Search ---------------------------- <%def name="form_searchbox( u, id, valasbg, action, faces=[] )">
% for face, val in faces : ${input_hidden( name=face, value=val )} % endfor ${input_text( name='querystring', value=valasbg )}
<%def name="form_search( querystring, u, action, allfaces, faces )"> <% project = faces.get( 'project', '' ) faces = faces.keys() %>
% if project : ${input_hidden( name='project', value=project )} % endif
Filter By : % for face in sorted(allfaces.keys()) : <% checked = face in faces %> % if checked : ${input_checkbox( name=face, value=allfaces[face], checked='checked' )} ${face.upper()} % else : ${input_checkbox( name=face, value=allfaces[face] )} ${face.upper()} % endif % endfor <% checked = 'all' in faces %> % if checked : ${input_checkbox( name='all', value='1', checked='checked' )} ALL % else : ${input_checkbox( name='all', value='1' )} ALL % endif
${input_text( id="facetedsr", name='querystring', value=querystring )} ${input_submit( value='Search' )}
## --------------------------- Attachments ---------------------------- <%def name="form_addattachs( u, action )">
${input_hidden( name='user_id', value=str(u.id) )}
File :
${input_file( name='attachfile', id='attachfile', style='width: 40em;' )}
Summary :
${input_text( name='summary', id="summary", style='width: 40em;' )}
${input_submit( value='Add' )}
<%def name="form_attachssummary( u, action )">
${input_hidden( name='user_id', value=str(u.id) )} ${input_hidden( name='attachment_id' )} ${input_hidden( name='summary' )}
<%def name="form_attachstags( u, action )">
${input_hidden( name='user_id', value=str(u.id) )} ${input_hidden( name='attachment_id' )} ${input_hidden( name='tags' )}
<%def name="form_sitelogo( u, action )">