Matthijs Kooijman [Tue, 3 Feb 2009 22:14:34 +0000 (23:14 +0100)]
Limit the choices for the other_characters field.
Matthijs Kooijman [Tue, 3 Feb 2009 22:09:08 +0000 (23:09 +0100)]
Add make_choices function.
This function can transform a list of Model objects into a list suitable
for use as a choices list in fields and widgets.
Matthijs Kooijman [Tue, 3 Feb 2009 22:00:14 +0000 (23:00 +0100)]
Put the empty option on top in DropDownMultiple.
Previous changes that started reusing Select.render_options had the side
effect of moving the empty option to the bottom. This restores the
original behaviour.
Matthijs Kooijman [Tue, 3 Feb 2009 17:36:06 +0000 (18:36 +0100)]
Make the DropDownMultiple widget degrade properly.
DropDownMultiple now extends the original SelectMultiple widget and
always renders both widgets. The DropDownMultiple widget is disabled and
hidden by default in the HTML and is enabled by Javascript code, keeping
things working even when Javascript is not available.
As an added advantage, we can now reuse some of the code from
SelectMultiple. In particular, by using the render_options method, we
should now also support more complicated (like grouped) lists of
choices.
Matthijs Kooijman [Sun, 1 Feb 2009 17:58:06 +0000 (18:58 +0100)]
Make log_error actually return a value.
When no error occured, log_error would not pass on the actual value
produced by the decorated function.
Matthijs Kooijman [Sun, 1 Feb 2009 17:35:52 +0000 (18:35 +0100)]
Use the DropDownMultiple widget in InfluenceForm.
Matthijs Kooijman [Sun, 1 Feb 2009 17:33:07 +0000 (18:33 +0100)]
Add jQuery 1.3.1, needed by DropDownMultiple.
Matthijs Kooijman [Sun, 1 Feb 2009 17:31:37 +0000 (18:31 +0100)]
Add a DropDownMultiple form widget.
This code is taken literally from
http://www.djangosnippets.org/snippets/747/, only "newforms" was changed
to "forms".
Matthijs Kooijman [Sun, 1 Feb 2009 12:49:19 +0000 (13:49 +0100)]
Add type to the CharacterForm.
Matthijs Kooijman [Sat, 31 Jan 2009 13:27:02 +0000 (14:27 +0100)]
Merge branch 'production'
* production:
Reconnect the influence_saved notify handler.
Matthijs Kooijman [Sat, 31 Jan 2009 13:25:54 +0000 (14:25 +0100)]
Reconnect the influence_saved notify handler.
The connect statement went missing in
419cb678949006d2c5bd6bf5a3176c67adf4cef7.
Matthijs Kooijman [Sat, 31 Jan 2009 13:23:24 +0000 (14:23 +0100)]
Update the influence_changed email template to the changes in the Influence model.
Matthijs Kooijman [Sat, 31 Jan 2009 13:22:28 +0000 (14:22 +0100)]
Make a proper list of recipients in the influence_saved notification.
Matthijs Kooijman [Sat, 31 Jan 2009 13:19:57 +0000 (14:19 +0100)]
Use force_unicode() instead of .__unicode__().
This allows the natural_list template tag to work for unicode strings as
well, which have no __unicode__() method.
Matthijs Kooijman [Sat, 31 Jan 2009 13:17:27 +0000 (14:17 +0100)]
Remove debug prints.
Matthijs Kooijman [Sat, 31 Jan 2009 10:20:21 +0000 (11:20 +0100)]
Send influence notifications to all players involved.
Matthijs Kooijman [Sat, 31 Jan 2009 10:14:40 +0000 (11:14 +0100)]
Send notifications individually.
Previously, a notification was sent as a single message with multiple
recipients. Now, each of the recipients gets his or her own message.
This prepares for sending notification to many users.
Matthijs Kooijman [Fri, 30 Jan 2009 20:34:13 +0000 (21:34 +0100)]
Allow Character.contacts to be empty.
Matthijs Kooijman [Fri, 30 Jan 2009 19:39:55 +0000 (20:39 +0100)]
Show the influence list sorted by character.
(Note that I really mean sorted, not ordered). In addition, this also
shows, for each influence, if the character is only involved in it, or
if he/she initiated it.
Matthijs Kooijman [Fri, 16 Jan 2009 22:12:11 +0000 (23:12 +0100)]
Improve character_detail_block template.
The character detail now only shows the influence headings when there is
something to show.
Matthijs Kooijman [Fri, 16 Jan 2009 21:45:14 +0000 (22:45 +0100)]
List the Influences a Character is involved in.
Matthijs Kooijman [Fri, 16 Jan 2009 21:41:27 +0000 (22:41 +0100)]
Update template to use initiator.
This updates the character_detail_block template to use the righ related
name for the recently Influence.initiator property.
Matthijs Kooijman [Fri, 16 Jan 2009 21:27:55 +0000 (22:27 +0100)]
Merge branch 'production'
* production:
Allow Influence.todo to be blank.
Matthijs Kooijman [Fri, 16 Jan 2009 21:26:11 +0000 (22:26 +0100)]
Allow Influence.todo to be blank.
Matthijs Kooijman [Fri, 16 Jan 2009 21:25:18 +0000 (22:25 +0100)]
List the users that can view an Influence.
Matthijs Kooijman [Fri, 16 Jan 2009 21:24:53 +0000 (22:24 +0100)]
Allow all related players to view an influence.
Matthijs Kooijman [Fri, 16 Jan 2009 21:18:52 +0000 (22:18 +0100)]
Add natural_list template filter.
This template filter transforms lists like ['foo', 'bar', 'baz'] into a
natural list like 'foo, bar and baz'.
Matthijs Kooijman [Fri, 16 Jan 2009 21:16:34 +0000 (22:16 +0100)]
Add a Influence.related_players property.
This is a derived property that lists all the players that are involved
in an Influence, together with their Chracters.
Matthijs Kooijman [Fri, 16 Jan 2009 21:15:56 +0000 (22:15 +0100)]
Add a remove_item template filter.
The filter can be used to remove items from lists or dicts.
Matthijs Kooijman [Fri, 16 Jan 2009 21:11:57 +0000 (22:11 +0100)]
Set INTERNAL_IPS to 127.0.0.1.
This makes the debug context processor actually set debug to True, which
finally makes the local/remote CSS work as expected.
Matthijs Kooijman [Tue, 13 Jan 2009 21:48:16 +0000 (22:48 +0100)]
Only show a list of involved when there are multiple.
This uses the new list_or_value filter to not display a bullet when
there is only one.
Matthijs Kooijman [Tue, 13 Jan 2009 19:01:09 +0000 (20:01 +0100)]
Add list_or_value template filter.
This filter allows one to build an unordered list from lists with more
than one element or a simple string otherwise.
Matthijs Kooijman [Tue, 13 Jan 2009 17:51:50 +0000 (18:51 +0100)]
Show the involved on the influence_detail.
Matthijs Kooijman [Tue, 13 Jan 2009 17:50:52 +0000 (18:50 +0100)]
Add Character.involved property.
This is a non-persistent property that joins other_characters and
other_contacts together.
Matthijs Kooijman [Tue, 13 Jan 2009 17:28:19 +0000 (18:28 +0100)]
Add new fields to InfluenceForm
It now also shows other_characters and other_contacts.
Matthijs Kooijman [Tue, 13 Jan 2009 17:15:15 +0000 (18:15 +0100)]
Add a Character.other_characters property.
This property allows other involved Characters to be attached to an
Influence.
SQL: CREATE TABLE `influences_influence_other_characters` (
SQL: `id` integer AUTO_INCREMENT NOT NULL PRIMARY KEY,
SQL: `influence_id` integer NOT NULL,
SQL: `character_id` integer NOT NULL,
SQL: UNIQUE (`influence_id`, `character_id`)
SQL: );
SQL: ALTER TABLE `influences_influence_other_characters` ADD
SQL: CONSTRAINT influence_id_refs_id_f981877b32ddc18
SQL: FOREIGN KEY (`influence_id`)
SQL: REFERENCES `influences_influence` (`id`);
SQL: ALTER TABLE `influences_influence_other_characters` ADD
SQL: CONSTRAINT character_id_refs_id_56216395feac9718
SQL: FOREIGN KEY (`character_id`)
SQL: REFERENCES `influences_character` (`id`);
Matthijs Kooijman [Tue, 13 Jan 2009 17:14:11 +0000 (18:14 +0100)]
Rename Character.contact to other_contacts.
This prepares for allowing other characters to be specified as contacts.
SQL: ALTER TABLE `influences_influence` CHANGE `contact` `other_contacts` VARCHAR( 255 ) NOT NULL AFTER `character_contact_id` ;
Matthijs Kooijman [Tue, 13 Jan 2009 17:07:05 +0000 (18:07 +0100)]
Add a Characters.contacts propety.
This property lists all the other characters that are contacts of a
Character. The property is symmetrical, so if A is a contact of B, the
reverse is also automatically the case.
SQL: CREATE TABLE `influences_character_contacts` (
SQL: `id` integer AUTO_INCREMENT NOT NULL PRIMARY KEY,
SQL: `from_character_id` integer NOT NULL,
SQL: `to_character_id` integer NOT NULL,
SQL: UNIQUE (`from_character_id`, `to_character_id`)
SQL: );
SQL: ALTER TABLE `influences_character_contacts` ADD
SQL: CONSTRAINT from_character_id_refs_id_653bf18d29c7a4fa
SQL: FOREIGN KEY (`from_character_id`)
SQL: REFERENCES `influences_character` (`id`);
SQL: ALTER TABLE `influences_character_contacts` ADD
SQL: CONSTRAINT to_character_id_refs_id_653bf18d29c7a4fa
SQL: FOREIGN KEY (`to_character_id`)
SQL: REFERENCES `influences_character` (`id`);
Matthijs Kooijman [Tue, 13 Jan 2009 16:57:08 +0000 (17:57 +0100)]
Add Character.type property.
Also set the type of exising Characters to Player.
SQL: ALTER TABLE `influences_character` ADD `type` VARCHAR( 2 ) NOT NULL AFTER `player_id`;
SQL: UPDATE `influences_character` SET `type` = 'P';
Matthijs Kooijman [Thu, 27 Nov 2008 22:33:31 +0000 (23:33 +0100)]
Rename Influence.character to iniatator.
SQL: ALTER TABLE `influences_influence` CHANGE `character_id` `initiator_id` INT( 11 ) NOT NULL;
Matthijs Kooijman [Thu, 27 Nov 2008 22:09:05 +0000 (23:09 +0100)]
Define __unicode__ on models instead of __str__.
When the result of __str__ is a unicode object containing non-ascii characters,
str(instance) barfs with an encoding error.
Matthijs Kooijman [Mon, 17 Nov 2008 16:18:10 +0000 (17:18 +0100)]
Increase max comment length to 3000 characters.
Matthijs Kooijman [Mon, 17 Nov 2008 16:15:49 +0000 (17:15 +0100)]
Show form errors when posting comments.
Matthijs Kooijman [Sun, 16 Nov 2008 17:57:21 +0000 (18:57 +0100)]
Use local CSS when in debug mode.
Matthijs Kooijman [Sun, 16 Nov 2008 17:13:39 +0000 (18:13 +0100)]
Add update information to index page.
Matthijs Kooijman [Sun, 16 Nov 2008 17:13:24 +0000 (18:13 +0100)]
Add todo filter to Influence admin.
Matthijs Kooijman [Sun, 16 Nov 2008 16:48:40 +0000 (17:48 +0100)]
Don't notify the player of private comments.
Matthijs Kooijman [Fri, 14 Nov 2008 13:32:15 +0000 (14:32 +0100)]
Improve CSS of comments in the admin.
Matthijs Kooijman [Fri, 14 Nov 2008 13:29:11 +0000 (14:29 +0100)]
Allow posting new coments in the admin.
This sets comment_form in the context so new comments can be posted in
addition to replies.
Matthijs Kooijman [Fri, 14 Nov 2008 13:21:00 +0000 (14:21 +0100)]
Improve CSSability of comments.
Matthijs Kooijman [Fri, 14 Nov 2008 13:20:06 +0000 (14:20 +0100)]
Give the comments admin page custom css.
Matthijs Kooijman [Fri, 14 Nov 2008 13:19:46 +0000 (14:19 +0100)]
Give the comments admin page a title.
Matthijs Kooijman [Fri, 14 Nov 2008 12:46:47 +0000 (13:46 +0100)]
Update translations.
Matthijs Kooijman [Fri, 14 Nov 2008 12:34:16 +0000 (13:34 +0100)]
Add Influence.todo field.
SQL: ALTER TABLE `influences_influence` ADD `todo` LONGTEXT NOT NULL AFTER `description` ;
Matthijs Kooijman [Fri, 14 Nov 2008 12:18:21 +0000 (13:18 +0100)]
Make Influence.status a CharField.
This used to be a TextField, but this forces the widget in a ModelField
to a TextArea overriding the default Select widget.
Matthijs Kooijman [Tue, 4 Nov 2008 11:01:29 +0000 (12:01 +0100)]
Make the preview consistent with normal comments.
This changes the HTML such that it looks more similar and so that the
same CSS will apply.
Matthijs Kooijman [Tue, 4 Nov 2008 11:00:46 +0000 (12:00 +0100)]
Add an explicit break before the comment textarea.
Matthijs Kooijman [Tue, 4 Nov 2008 10:55:33 +0000 (11:55 +0100)]
Add comment-related admin templates.
The change_form template adds a "comment" link to the influence admin
page, the comments template provides the content for that page.
Matthijs Kooijman [Tue, 4 Nov 2008 10:54:28 +0000 (11:54 +0100)]
Add a "new comment" email template.
Matthijs Kooijman [Tue, 4 Nov 2008 10:54:05 +0000 (11:54 +0100)]
Use the rewrap function for wrapping comments.
Matthijs Kooijman [Tue, 4 Nov 2008 10:53:45 +0000 (11:53 +0100)]
Add rewrap function for wrapping comments.
Matthijs Kooijman [Tue, 4 Nov 2008 10:53:19 +0000 (11:53 +0100)]
Left-align comments.
Matthijs Kooijman [Tue, 4 Nov 2008 10:48:16 +0000 (11:48 +0100)]
Replace CSS with a version with newlines.
Matthijs Kooijman [Fri, 31 Oct 2008 20:27:35 +0000 (21:27 +0100)]
Restyle comment display and forms.
Matthijs Kooijman [Fri, 31 Oct 2008 20:24:24 +0000 (21:24 +0100)]
Make the comment textareas 80 columns wide.
Matthijs Kooijman [Fri, 31 Oct 2008 20:23:04 +0000 (21:23 +0100)]
Send a notification on comment creation.
Matthijs Kooijman [Fri, 31 Oct 2008 20:21:01 +0000 (21:21 +0100)]
Apply wordwrapping to quoted comments.
Matthijs Kooijman [Fri, 31 Oct 2008 19:51:54 +0000 (20:51 +0100)]
Disallow staff to set the markup of new comments.
Matthijs Kooijman [Fri, 31 Oct 2008 18:53:43 +0000 (19:53 +0100)]
Allow staff to view anything on the front site.
In particular, influence_detail and character_detail no longer deny
access to staff members.
Matthijs Kooijman [Fri, 31 Oct 2008 18:52:03 +0000 (19:52 +0100)]
Remove SITE_ID from settings.
We're not using the sites app, so we don't need this.
Matthijs Kooijman [Fri, 31 Oct 2008 18:51:27 +0000 (19:51 +0100)]
Give Influence and Character an absolute_url.
This enabled the "view in site" button in the admin.
Matthijs Kooijman [Fri, 31 Oct 2008 16:51:49 +0000 (17:51 +0100)]
Don't pass base to the comment preview template.
This parameter was added to support embedding previews in the admin as
well, but we'll just keep previews in the frontend for now.
Matthijs Kooijman [Fri, 31 Oct 2008 16:48:48 +0000 (17:48 +0100)]
Add hidden "next" fields to the comment forms.
Previously, commenting would only work because the threadedcomments
application falls back to using HTTP referrer information, which is not
reliable.
Matthijs Kooijman [Fri, 31 Oct 2008 16:48:27 +0000 (17:48 +0100)]
Enable the preview buttons on comment forms.
Matthijs Kooijman [Fri, 31 Oct 2008 16:47:12 +0000 (17:47 +0100)]
Add influence_comment_preview template.
Matthijs Kooijman [Fri, 31 Oct 2008 16:46:00 +0000 (17:46 +0100)]
Use parent_id instead of edit_id.
Previously, edit_id was taken as the message to reply to, but it was
never set, nor appropriate.
Matthijs Kooijman [Fri, 31 Oct 2008 16:44:27 +0000 (17:44 +0100)]
Add a custom comment preview view for influences.
Matthijs Kooijman [Fri, 31 Oct 2008 16:42:31 +0000 (17:42 +0100)]
Give each comment form a unique prefix.
Matthijs Kooijman [Fri, 31 Oct 2008 16:30:34 +0000 (17:30 +0100)]
Add log_error decorator for debugging.
Matthijs Kooijman [Fri, 31 Oct 2008 16:07:03 +0000 (17:07 +0100)]
Enable the request context processor.
Matthijs Kooijman [Fri, 31 Oct 2008 13:55:36 +0000 (14:55 +0100)]
Introduce a comments block in the influence_detail.
This allows us to override the comments display for previewing later.
Matthijs Kooijman [Fri, 31 Oct 2008 13:53:30 +0000 (14:53 +0100)]
Move influence_detail_block into influence_detail.
The influence_detail_block template is only used in the influence_detail
template, so having it separate is not really needed. Additionally, it
turns out that overriding a block in an included template is not
possible, so moving it back in allows us to override the comments block
(which we will introduce in the next commmit).
Matthijs Kooijman [Fri, 31 Oct 2008 13:38:32 +0000 (14:38 +0100)]
Always include the showReply/hideReply functions.
Previously, these javascript functions were only defined when there were
any comments, but the "add comment" link uses them as well.
Matthijs Kooijman [Fri, 31 Oct 2008 13:25:29 +0000 (14:25 +0100)]
Move the new comment form to the right template.
The "reply to this comment" forms were already in
influence_comments_block, but the "new comment" form was not.
Matthijs Kooijman [Fri, 31 Oct 2008 11:45:38 +0000 (12:45 +0100)]
Let Influence list and annote its comments itself.
Previously, both the admin view and the influence_detail view would
create this list and annotate it with reply forms.
Matthijs Kooijman [Fri, 31 Oct 2008 10:49:14 +0000 (11:49 +0100)]
Move forms from models.py to a new file forms.py.
Matthijs Kooijman [Fri, 31 Oct 2008 10:36:30 +0000 (11:36 +0100)]
Add a comments view to the InfluenceAdmin.
Matthijs Kooijman [Fri, 31 Oct 2008 10:30:47 +0000 (11:30 +0100)]
Move the comment display into it's own template.
Matthijs Kooijman [Fri, 31 Oct 2008 10:29:31 +0000 (11:29 +0100)]
Move quote_reply out of the influence_detail function.
Matthijs Kooijman [Fri, 31 Oct 2008 10:07:05 +0000 (11:07 +0100)]
Replace STATIC_URL_PREFIX by MEDIA_URL.
STATIC_URL_PREFIX was a custom creation, but it is now clear that
MEDIA_URL is meant for exactly the same thing (and not just for uploaded
files, as I previously thought).
Matthijs Kooijman [Fri, 31 Oct 2008 09:57:44 +0000 (10:57 +0100)]
Rename the static dir to media.
Matthijs Kooijman [Fri, 31 Oct 2008 09:07:07 +0000 (10:07 +0100)]
Make the enabling of TEMPLATE_DEBUG more clear.
TEMPLATE_DEBUG used to be initialized with the value of DEBUG in
settings.py, which was confusing if you change the value of DEBUG in
localsettings.
Matthijs Kooijman [Thu, 30 Oct 2008 06:53:22 +0000 (07:53 +0100)]
Remove some deprecated options.
These options are no longer supported since Django 1.0.
Matthijs Kooijman [Wed, 29 Oct 2008 20:48:21 +0000 (21:48 +0100)]
Instantiate the new comment form class.
Previously, the class itself was passed to the template, which obviously
didn't work.
Matthijs Kooijman [Wed, 29 Oct 2008 10:38:42 +0000 (11:38 +0100)]
Wrap the free_comment view instead of the comment view.
This allows us to work with no changes to threaded_comments at all.
Matthijs Kooijman [Wed, 29 Oct 2008 10:31:19 +0000 (11:31 +0100)]
Improve influence comment handling.
This adds a number of form classes for commenting, which allow to choose
between public or private comments and can prevent the choice of markup.
Using a wrapper function, the right class can be selected depending on
the logged in user and the comment to reply to.
Each comment to display is annotated with the reply form to reply to it,
so we no longer need changes in threaded_comments to support quoted
replies.
Additionally, a new view is added that handles the selection of the
right form class when saving a comment.
Matthijs Kooijman [Wed, 29 Oct 2008 10:25:55 +0000 (11:25 +0100)]
Mark private comments using a red border.
Matthijs Kooijman [Tue, 28 Oct 2008 23:41:11 +0000 (00:41 +0100)]
Fix HTML errors.
Matthijs Kooijman [Tue, 28 Oct 2008 23:34:55 +0000 (00:34 +0100)]
Add a doctype and title tag.
Matthijs Kooijman [Tue, 28 Oct 2008 22:33:42 +0000 (23:33 +0100)]
Make ContextForm and ContextModelForm work again.
It seems like some stuff changed in django, not sure what exactly. This
commit removes changes the inheritance to inherit from Form and
ModelForm instead of avoiding that and directly inheriting from their
base classes and do some metaclass magic.