Changeset 3338
- Timestamp:
- 03/11/08 00:15:33 (10 months ago)
- Files:
-
- checklistplugin/0.11/trac_checklist/macros.py (modified) (1 diff)
- checklistplugin/0.11/trac_checklist/updater.py (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
checklistplugin/0.11/trac_checklist/macros.py
r3337 r3338 54 54 55 55 href = formatter.req.href('checklist/update') 56 action = ''.join(('javascript:',57 'var formdata={};',58 'var form=document.getElementById(%r);' % str(id(self)),59 'for (var idx = 0; idx < form.elements.length; ++idx)',60 '{ formdata[form.elements[idx].name] = form.elements[idx].value }',61 'jQuery.ajax({url:%r,data:formdata,complete:' % href,62 'function(r, s) { alert(r.responseText) },dataType:\'text\'});'63 ))64 65 56 return ''.join(( 66 '<IFRAME id="if_%s" name="if_%s"' % (id(self), id(self)), 67 ' onload="', 68 'var t=this.contentDocument.body.textContent;', 69 'if (t) { alert(t) }"', 70 ' style="display:none"></IFRAME>', 71 '<FORM action="%s" target="if_%s"' % (href, id(self)), 57 '<FORM method="GET" action="%s"' % href, 72 58 '>', 59 '<INPUT type="hidden" name="__backpath__" value=%r>' 60 % formatter.req.href(formatter.req.path_info), 73 61 '<INPUT type="hidden" name="__context__" value=%r>' % str(context), 74 62 html, checklistplugin/0.11/trac_checklist/updater.py
r3337 r3338 54 54 self.log.debug('UPDATE ARGS: ' + str(req.args)) 55 55 args = dict(req.args) 56 backpath = args.pop('__backpath__', None) 56 57 context = args.pop('__context__', None) 57 58 if context is None: 58 59 raise BadRequest('__context__ is required') 59 who = 'whoknows' 60 fields = set(args.pop('__fields__', ())) 61 for name in fields: 60 who = str(req.session.sid) 61 fields = args.pop('__fields__', ()) 62 if isinstance(fields, basestring): 63 fields = (fields,) 64 for name in set(fields): 62 65 value = bool(args.get(name)) and 'on' or '' 63 66 self.updateField(context, name, value, who) … … 73 76 req.write(msg) 74 77 else: 75 req.send_response(200) 76 req.send_header('Content-Type', 'text/plain') 78 if backpath: 79 req.send_response(302) 80 req.send_header('Content-Type', 'text/plain') 81 req.send_header('Location', backpath) 82 else: 83 req.send_response(200) 84 req.send_header('Content-Type', 'text/plain') 77 85 req.end_headers() 78 86 req.write('OK')
