* qna:
QnA - Allow answer revisions and marking a question as "best"
QnA - add best class to best answers
QnA - Better display of questions and answers in streams
QnA - save answer revisions and show # of revisions
* qna:
Some work towards allowing revisions
Make new answers work
More plumbing
Work on QnA notice display -- in progress
* Move stuff around again * Make answers save
* Fix plugin filename * Make questions save!
Renamed QuestionAndAnswerPlugin to QnAPlugin
Most objects and forms are in place, now I just have to make it work.
Skeleton / Stub for Question and Answers micro-app plugin
A bunch of the common_* functions for date formatting expect an interpretable string, rather than a Unix timestamp, as input. Switched to using the DB-formatted timestamps as we put them into the object rather than the unix timestamp intermediate value when formatting the plaintext and HTML fallback content.
The ShowNoticeAction subclasses were cut-n-pasting a lot of prepare() code from ShowNoticeAction, though the only part that's different is how we look up the notice. Broke that out to a getNotice() method, so only that needs to be copied. Avoids extra copies of permission checks and other common code in this spot.
Numbered parameters when more than one used in a message.
L10n updates for consistency.
i18n for non-translatable exception.
Updated translator documentation.
Removed superfluous whitespace.
We get HTTP 400 for various cases of invalid data, where retrying doesn't help at all -- previously those would loop forever, or until something died at least. :)
400 is also used for rate limiting, but retrying *immediately* will just hit the rate limit again, so better to discard if we're going over for now.
* 1.0.x: (26 commits)
Fix typo in documentation.
Fix i18n.
Change formatting of i18n slightly. Translator hints were not picked up in pot file. May now they are.
Localisation updates from http://translatewiki.net.
Translator documentation updated. i18n/L10n updates. Superfluous whitespace removed. Add FIXME for missing class documentation.
Update translator documentation. Remove superfluous whitespace. L10n/I18n updates. FIXMEs added for missing documentation or headers.
Update translator documentation. i18n/L10n updates. Superfluous whitespace removed. Add FIXME in files with missing documentation.
Fallback for RSVP display when Event is deleted
Enhancement for 'ajax' form class: submit buttons behave more like normal submissions, submitting their name/values through a hidden field.
Retool group join queue list ajax forms to use two buttons in one form, making it more ajax-submit-friendly. Needs util.js fixes for AJAX submission input buttons...
Some fixes to make the notice stream class work
let Inbox class go fingerpokin' in streams
New NoticeStream class to reify streams of notices
Refactoring on notification mail generation: common profile & footer chunks pulled out, notifications added for group joins.
Fix typo in cf45c978
Mass replacement of #-comments with //-comments
Add pending members list to group navigation, if group has joins moderated or if it has pending requests open
Split up some list/form classes, and get the 'approve' and 'cancel' links on group member queue working.
Pending members queue list -- doesn't yet allow approval.
Logic to have group joins turn into pending joins automatically when group is set to mod; allow users to cancel their pending group requests.
...