diff --git a/doc/customizing.txt b/doc/customizing.txt
index af6335cf87c51cb74ed9c24693e893af1388df90..ddcd33ea6edf65df6d13d654fcdf924c41e65f1e 100644 (file)
--- a/doc/customizing.txt
+++ b/doc/customizing.txt
Customising Roundup
===================
-:Version: $Revision: 1.130 $
+:Version: $Revision: 1.133 $
.. This document borrows from the ZopeBook section on ZPT. The original is at:
http://www.zope.org/Documentation/Books/ZopeBook/current/ZPT.stx
__ design.html
+Additional Detectors Ready For Use
+----------------------------------
+
Sample additional detectors that have been found useful will appear in
the ``'detectors'`` directory of the Roundup distribution. If you want
to use one, copy it to the ``'detectors'`` of your tracker instance:
created. The address is hard-coded into the detector, so edit it
before you use it (look for the text 'team@team.host') or you'll get
email errors!
-
- The detector code::
-
- from roundup import roundupdb
-
- def newissuecopy(db, cl, nodeid, oldvalues):
- ''' Copy a message about new issues to a team address.
- '''
- # so use all the messages in the create
- change_note = cl.generateCreateNote(nodeid)
-
- # send a copy to the nosy list
- for msgid in cl.get(nodeid, 'messages'):
- try:
- # note: last arg must be a list
- cl.send_message(nodeid, msgid, change_note,
- ['team@team.host'])
- except roundupdb.MessageSendError, message:
- raise roundupdb.DetectorError, message
-
- def init(db):
- db.issue.react('create', newissuecopy)
+**creator_resolution.py**
+ Catch attempts to set the status to "resolved" - if the assignedto
+ user isn't the creator, then set the status to "confirm-done". Note that
+ "classic" Roundup doesn't have that status, so you'll have to add it. If
+ you don't want to though, it'll just use "in-progress" instead.
+**email_auditor.py**
+ If a file added to an issue is of type message/rfc822, we tack on the
+ extension .eml.
+ The reason for this is that Microsoft Internet Explorer will not open
+ things with a .eml attachment, as they deem it 'unsafe'. Worse yet,
+ they'll just give you an incomprehensible error message. For more
+ information, see the detector code - it has a length explanation.
Auditor or Reactor?
is_edit_ok is the user allowed to Edit the current item?
is_view_ok is the user allowed to View the current item?
is_retired is the item retired?
+download_url generates a url-quoted link for download of FileClass
+ item contents (ie. file<id>/<name>)
=============== ========================================================
Note that if you have a property of the same name as one of the above
list for this property
reverse only on Multilink properties - produce a list of the linked
items in reverse order
+isset returns True if the property has been set to a value
=========== ================================================================
All of the above functions perform checks for permissions required to
Method Description
=============== ========================================================
Batch return a batch object using the supplied list
+url_quote quote some text as safe for a URL (ie. space, %, ...)
+html_quote quote some text as safe in HTML (ie. <, >, ...)
=============== ========================================================
You may add additional utility methods by writing them in your tracker
You would then (as an "admin" user) edit the details of the appropriate
users, and add "SysAdmin" to their Roles list.
+Alternatively, you might want to change the Edit/View permissions granted
+for the "issue" class so that it's only available to users with the "System"
+or "Developer" Role, and then the new class you're adding is available to
+all with the "User" Role.
+
Using External User Databases
-----------------------------