diff options
author | Evgeny Fadeev <evgeny.fadeev@gmail.com> | 2010-06-13 01:40:01 -0400 |
---|---|---|
committer | Evgeny Fadeev <evgeny.fadeev@gmail.com> | 2010-06-13 01:40:01 -0400 |
commit | 9e9f6b0a71fca40b7a118acb4db37e45609fb5b8 (patch) | |
tree | 9a9ab81940a08bfa53c485eb33dc1eda07133ff2 | |
parent | 3b6143c0ebe0fbfbcc05bd61d9c34906d55f69a7 (diff) | |
download | askbot-9e9f6b0a71fca40b7a118acb4db37e45609fb5b8.tar.gz askbot-9e9f6b0a71fca40b7a118acb4db37e45609fb5b8.tar.bz2 askbot-9e9f6b0a71fca40b7a118acb4db37e45609fb5b8.zip |
renamed main django app from forum to askbot
-rwxr-xr-x | .gitignore | 6 | ||||
-rw-r--r-- | askbot/LICENSE (renamed from forum/LICENSE) | 0 | ||||
-rw-r--r-- | askbot/__init__.py (renamed from forum/__init__.py) | 2 | ||||
-rw-r--r-- | askbot/admin.py (renamed from forum/admin.py) | 4 | ||||
-rw-r--r-- | askbot/auth.py (renamed from forum/auth.py) | 100 | ||||
-rw-r--r-- | askbot/bin/dos2unix.sh (renamed from forum/bin/dos2unix.sh) | 0 | ||||
-rwxr-xr-x | askbot/bin/rmpyc (renamed from forum/bin/rmpyc) | 0 | ||||
-rw-r--r-- | askbot/conf/README (renamed from forum/conf/README) | 0 | ||||
-rw-r--r-- | askbot/conf/__init__.py | 16 | ||||
-rw-r--r-- | askbot/conf/email.py (renamed from forum/conf/email.py) | 10 | ||||
-rw-r--r-- | askbot/conf/external_keys.py (renamed from forum/conf/external_keys.py) | 4 | ||||
-rw-r--r-- | askbot/conf/flatpages.py (renamed from forum/conf/flatpages.py) | 10 | ||||
-rw-r--r-- | askbot/conf/forum_data_rules.py (renamed from forum/conf/forum_data_rules.py) | 14 | ||||
-rw-r--r-- | askbot/conf/minimum_reputation.py (renamed from forum/conf/minimum_reputation.py) | 6 | ||||
-rw-r--r-- | askbot/conf/reputation_changes.py (renamed from forum/conf/reputation_changes.py) | 4 | ||||
-rw-r--r-- | askbot/conf/settings_wrapper.py (renamed from forum/conf/settings_wrapper.py) | 18 | ||||
-rw-r--r-- | askbot/conf/site_settings.py (renamed from forum/conf/site_settings.py) | 18 | ||||
-rw-r--r-- | askbot/conf/skin_counter_settings.py (renamed from forum/conf/skin_counter_settings.py) | 6 | ||||
-rw-r--r-- | askbot/conf/skin_general_settings.py (renamed from forum/conf/skin_general_settings.py) | 6 | ||||
-rw-r--r-- | askbot/conf/user_settings.py (renamed from forum/conf/user_settings.py) | 4 | ||||
-rw-r--r-- | askbot/conf/vote_rules.py (renamed from forum/conf/vote_rules.py) | 4 | ||||
-rw-r--r-- | askbot/const/__init__.py (renamed from forum/const/__init__.py) | 2 | ||||
-rw-r--r-- | askbot/const/message_keys.py (renamed from forum/const/message_keys.py) | 0 | ||||
-rw-r--r-- | askbot/context.py (renamed from forum/context.py) | 4 | ||||
-rw-r--r-- | askbot/cron/README (renamed from forum/cron/README) | 0 | ||||
-rw-r--r-- | askbot/cron/askbot_cron_job (renamed from forum/cron/askbot_cron_job) | 0 | ||||
-rw-r--r-- | askbot/deps/README (renamed from forum/deps/README) | 0 | ||||
-rw-r--r-- | askbot/deps/__init__.py (renamed from forum/deps/__init__.py) | 0 | ||||
-rw-r--r-- | askbot/deps/django_authopenid/README (renamed from forum/deps/django_authopenid/README) | 0 | ||||
-rw-r--r-- | askbot/deps/django_authopenid/__init__.py (renamed from forum/deps/django_authopenid/__init__.py) | 0 | ||||
-rw-r--r-- | askbot/deps/django_authopenid/admin.py (renamed from forum/deps/django_authopenid/admin.py) | 2 | ||||
-rw-r--r-- | askbot/deps/django_authopenid/forms.py (renamed from forum/deps/django_authopenid/forms.py) | 12 | ||||
-rw-r--r-- | askbot/deps/django_authopenid/middleware.py (renamed from forum/deps/django_authopenid/middleware.py) | 2 | ||||
-rw-r--r-- | askbot/deps/django_authopenid/mimeparse.py (renamed from forum/deps/django_authopenid/mimeparse.py) | 0 | ||||
-rw-r--r-- | askbot/deps/django_authopenid/models.py (renamed from forum/deps/django_authopenid/models.py) | 0 | ||||
-rw-r--r-- | askbot/deps/django_authopenid/urls.py (renamed from forum/deps/django_authopenid/urls.py) | 6 | ||||
-rw-r--r-- | askbot/deps/django_authopenid/util.py (renamed from forum/deps/django_authopenid/util.py) | 2 | ||||
-rw-r--r-- | askbot/deps/django_authopenid/views.py (renamed from forum/deps/django_authopenid/views.py) | 44 | ||||
-rw-r--r-- | askbot/deps/grapefruit.py (renamed from forum/deps/grapefruit.py) | 0 | ||||
-rw-r--r-- | askbot/deps/livesettings/README (renamed from forum/deps/livesettings/README) | 0 | ||||
-rw-r--r-- | askbot/deps/livesettings/__init__.py (renamed from forum/deps/livesettings/__init__.py) | 0 | ||||
-rw-r--r-- | askbot/deps/livesettings/forms.py (renamed from forum/deps/livesettings/forms.py) | 2 | ||||
-rw-r--r-- | askbot/deps/livesettings/functions.py (renamed from forum/deps/livesettings/functions.py) | 6 | ||||
-rw-r--r-- | askbot/deps/livesettings/locale/de/LC_MESSAGES/django.mo (renamed from forum/deps/livesettings/locale/de/LC_MESSAGES/django.mo) | bin | 706 -> 706 bytes | |||
-rw-r--r-- | askbot/deps/livesettings/locale/de/LC_MESSAGES/django.po (renamed from forum/deps/livesettings/locale/de/LC_MESSAGES/django.po) | 0 | ||||
-rw-r--r-- | askbot/deps/livesettings/locale/en/LC_MESSAGES/django.mo (renamed from forum/deps/livesettings/locale/en/LC_MESSAGES/django.mo) | bin | 367 -> 367 bytes | |||
-rw-r--r-- | askbot/deps/livesettings/locale/en/LC_MESSAGES/django.po (renamed from forum/deps/livesettings/locale/en/LC_MESSAGES/django.po) | 0 | ||||
-rw-r--r-- | askbot/deps/livesettings/locale/es/LC_MESSAGES/django.po (renamed from forum/deps/livesettings/locale/es/LC_MESSAGES/django.po) | 0 | ||||
-rw-r--r-- | askbot/deps/livesettings/locale/fr/LC_MESSAGES/django.mo (renamed from forum/deps/livesettings/locale/fr/LC_MESSAGES/django.mo) | bin | 1621 -> 1621 bytes | |||
-rw-r--r-- | askbot/deps/livesettings/locale/fr/LC_MESSAGES/django.po (renamed from forum/deps/livesettings/locale/fr/LC_MESSAGES/django.po) | 0 | ||||
-rw-r--r-- | askbot/deps/livesettings/locale/he/LC_MESSAGES/django.mo (renamed from forum/deps/livesettings/locale/he/LC_MESSAGES/django.mo) | bin | 1655 -> 1655 bytes | |||
-rw-r--r-- | askbot/deps/livesettings/locale/he/LC_MESSAGES/django.po (renamed from forum/deps/livesettings/locale/he/LC_MESSAGES/django.po) | 0 | ||||
-rw-r--r-- | askbot/deps/livesettings/locale/it/LC_MESSAGES/django.mo (renamed from forum/deps/livesettings/locale/it/LC_MESSAGES/django.mo) | bin | 1582 -> 1582 bytes | |||
-rw-r--r-- | askbot/deps/livesettings/locale/it/LC_MESSAGES/django.po (renamed from forum/deps/livesettings/locale/it/LC_MESSAGES/django.po) | 0 | ||||
-rw-r--r-- | askbot/deps/livesettings/locale/ko/LC_MESSAGES/django.mo (renamed from forum/deps/livesettings/locale/ko/LC_MESSAGES/django.mo) | bin | 1128 -> 1128 bytes | |||
-rw-r--r-- | askbot/deps/livesettings/locale/ko/LC_MESSAGES/django.po (renamed from forum/deps/livesettings/locale/ko/LC_MESSAGES/django.po) | 0 | ||||
-rw-r--r-- | askbot/deps/livesettings/locale/pl/LC_MESSAGES/django.mo (renamed from forum/deps/livesettings/locale/pl/LC_MESSAGES/django.mo) | bin | 1470 -> 1470 bytes | |||
-rw-r--r-- | askbot/deps/livesettings/locale/pl/LC_MESSAGES/django.po (renamed from forum/deps/livesettings/locale/pl/LC_MESSAGES/django.po) | 0 | ||||
-rw-r--r-- | askbot/deps/livesettings/locale/pt_BR/LC_MESSAGES/django.mo (renamed from forum/deps/livesettings/locale/pt_BR/LC_MESSAGES/django.mo) | bin | 1208 -> 1208 bytes | |||
-rw-r--r-- | askbot/deps/livesettings/locale/pt_BR/LC_MESSAGES/django.po (renamed from forum/deps/livesettings/locale/pt_BR/LC_MESSAGES/django.po) | 0 | ||||
-rw-r--r-- | askbot/deps/livesettings/locale/ru/LC_MESSAGES/django.mo (renamed from forum/deps/livesettings/locale/ru/LC_MESSAGES/django.mo) | bin | 1178 -> 1178 bytes | |||
-rw-r--r-- | askbot/deps/livesettings/locale/ru/LC_MESSAGES/django.po (renamed from forum/deps/livesettings/locale/ru/LC_MESSAGES/django.po) | 0 | ||||
-rw-r--r-- | askbot/deps/livesettings/locale/sv/LC_MESSAGES/django.mo (renamed from forum/deps/livesettings/locale/sv/LC_MESSAGES/django.mo) | bin | 1481 -> 1481 bytes | |||
-rw-r--r-- | askbot/deps/livesettings/locale/sv/LC_MESSAGES/django.po (renamed from forum/deps/livesettings/locale/sv/LC_MESSAGES/django.po) | 0 | ||||
-rw-r--r-- | askbot/deps/livesettings/locale/tr/LC_MESSAGES/django.mo (renamed from forum/deps/livesettings/locale/tr/LC_MESSAGES/django.mo) | bin | 1242 -> 1242 bytes | |||
-rw-r--r-- | askbot/deps/livesettings/locale/tr/LC_MESSAGES/django.po (renamed from forum/deps/livesettings/locale/tr/LC_MESSAGES/django.po) | 0 | ||||
-rw-r--r-- | askbot/deps/livesettings/models.py (renamed from forum/deps/livesettings/models.py) | 2 | ||||
-rw-r--r-- | askbot/deps/livesettings/overrides.py (renamed from forum/deps/livesettings/overrides.py) | 4 | ||||
-rw-r--r-- | askbot/deps/livesettings/signals.py (renamed from forum/deps/livesettings/signals.py) | 0 | ||||
-rw-r--r-- | askbot/deps/livesettings/templates/livesettings/_admin_site_views.html (renamed from forum/deps/livesettings/templates/livesettings/_admin_site_views.html) | 0 | ||||
-rw-r--r-- | askbot/deps/livesettings/templates/livesettings/group_settings.html (renamed from forum/deps/livesettings/templates/livesettings/group_settings.html) | 0 | ||||
-rw-r--r-- | askbot/deps/livesettings/templates/livesettings/site_settings.html (renamed from forum/deps/livesettings/templates/livesettings/site_settings.html) | 0 | ||||
-rw-r--r-- | askbot/deps/livesettings/templates/livesettings/text.txt (renamed from forum/deps/livesettings/templates/livesettings/text.txt) | 0 | ||||
-rw-r--r-- | askbot/deps/livesettings/templatetags/__init__.py (renamed from forum/deps/livesettings/templatetags/__init__.py) | 0 | ||||
-rw-r--r-- | askbot/deps/livesettings/templatetags/config_tags.py (renamed from forum/deps/livesettings/templatetags/config_tags.py) | 6 | ||||
-rw-r--r-- | askbot/deps/livesettings/tests.py (renamed from forum/deps/livesettings/tests.py) | 2 | ||||
-rw-r--r-- | askbot/deps/livesettings/urls.py (renamed from forum/deps/livesettings/urls.py) | 2 | ||||
-rw-r--r-- | askbot/deps/livesettings/utils.py (renamed from forum/deps/livesettings/utils.py) | 0 | ||||
-rw-r--r-- | askbot/deps/livesettings/values.py (renamed from forum/deps/livesettings/values.py) | 8 | ||||
-rw-r--r-- | askbot/deps/livesettings/views.py (renamed from forum/deps/livesettings/views.py) | 12 | ||||
-rw-r--r-- | askbot/doc/HOW_TO_DEBUG (renamed from forum/doc/HOW_TO_DEBUG) | 0 | ||||
-rw-r--r-- | askbot/doc/INSTALL (renamed from forum/doc/INSTALL) | 0 | ||||
-rw-r--r-- | askbot/doc/INSTALL.pip (renamed from forum/doc/INSTALL.pip) | 0 | ||||
-rw-r--r-- | askbot/doc/INSTALL.webfaction (renamed from forum/doc/INSTALL.webfaction) | 0 | ||||
-rw-r--r-- | askbot/doc/ROADMAP.rst (renamed from forum/doc/ROADMAP.rst) | 0 | ||||
-rw-r--r-- | askbot/doc/TODO.rst (renamed from forum/doc/TODO.rst) | 0 | ||||
-rw-r--r-- | askbot/doc/UPGRADE (renamed from forum/doc/UPGRADE) | 0 | ||||
-rw-r--r-- | askbot/doc/WISH_LIST (renamed from forum/doc/WISH_LIST) | 0 | ||||
-rw-r--r-- | askbot/doc/askbot-requirements.txt (renamed from forum/doc/askbot-requirements.txt) | 0 | ||||
-rw-r--r-- | askbot/doc/scratch (renamed from forum/doc/scratch) | 0 | ||||
-rw-r--r-- | askbot/feed.py (renamed from forum/feed.py) | 12 | ||||
-rw-r--r-- | askbot/forms.py (renamed from forum/forms.py) | 28 | ||||
-rw-r--r-- | askbot/importers/__init__.py (renamed from forum/importers/__init__.py) | 0 | ||||
-rw-r--r-- | askbot/importers/stackexchange/ANOMALIES (renamed from forum/importers/stackexchange/ANOMALIES) | 0 | ||||
-rw-r--r-- | askbot/importers/stackexchange/README (renamed from forum/importers/stackexchange/README) | 0 | ||||
-rw-r--r-- | askbot/importers/stackexchange/__init__.py (renamed from forum/importers/stackexchange/__init__.py) | 0 | ||||
-rw-r--r-- | askbot/importers/stackexchange/management/__init__.py (renamed from forum/importers/stackexchange/management/__init__.py) | 0 | ||||
-rw-r--r-- | askbot/importers/stackexchange/management/commands/__init__.py (renamed from forum/importers/stackexchange/management/commands/__init__.py) | 0 | ||||
-rw-r--r-- | askbot/importers/stackexchange/management/commands/load_stackexchange.py (renamed from forum/importers/stackexchange/management/commands/load_stackexchange.py) | 14 | ||||
-rw-r--r-- | askbot/importers/stackexchange/models.py (renamed from forum/importers/stackexchange/models.py) | 0 | ||||
-rw-r--r-- | askbot/importers/stackexchange/parse_models.py (renamed from forum/importers/stackexchange/parse_models.py) | 0 | ||||
-rw-r--r-- | askbot/locale/de/LC_MESSAGES/django.mo (renamed from forum/locale/de/LC_MESSAGES/django.mo) | bin | 80778 -> 80778 bytes | |||
-rw-r--r-- | askbot/locale/de/LC_MESSAGES/django.po (renamed from forum/locale/de/LC_MESSAGES/django.po) | 0 | ||||
-rw-r--r-- | askbot/locale/en/LC_MESSAGES/django.mo (renamed from forum/locale/en/LC_MESSAGES/django.mo) | bin | 24140 -> 24140 bytes | |||
-rw-r--r-- | askbot/locale/en/LC_MESSAGES/django.po (renamed from forum/locale/en/LC_MESSAGES/django.po) | 0 | ||||
-rw-r--r-- | askbot/locale/es/LC_MESSAGES/django.mo (renamed from forum/locale/es/LC_MESSAGES/django.mo) | bin | 43243 -> 43243 bytes | |||
-rw-r--r-- | askbot/locale/es/LC_MESSAGES/django.po (renamed from forum/locale/es/LC_MESSAGES/django.po) | 0 | ||||
-rw-r--r-- | askbot/locale/ru/LC_MESSAGES/django.mo (renamed from forum/locale/ru/LC_MESSAGES/django.mo) | bin | 88811 -> 88811 bytes | |||
-rw-r--r-- | askbot/locale/ru/LC_MESSAGES/django.po (renamed from forum/locale/ru/LC_MESSAGES/django.po) | 0 | ||||
-rw-r--r-- | askbot/locale/sr/LC_MESSAGES/django.mo (renamed from forum/locale/sr/LC_MESSAGES/django.mo) | bin | 56072 -> 56072 bytes | |||
-rw-r--r-- | askbot/locale/sr/LC_MESSAGES/django.po (renamed from forum/locale/sr/LC_MESSAGES/django.po) | 0 | ||||
-rw-r--r-- | askbot/locale/tr/LC_MESSAGES/django.mo (renamed from forum/locale/tr/LC_MESSAGES/django.mo) | bin | 52875 -> 52875 bytes | |||
-rw-r--r-- | askbot/locale/tr/LC_MESSAGES/django.po (renamed from forum/locale/tr/LC_MESSAGES/django.po) | 0 | ||||
-rw-r--r-- | askbot/locale/vi/LC_MESSAGES/django.mo (renamed from forum/locale/vi/LC_MESSAGES/django.mo) | bin | 25588 -> 25588 bytes | |||
-rw-r--r-- | askbot/locale/vi/LC_MESSAGES/django.po (renamed from forum/locale/vi/LC_MESSAGES/django.po) | 0 | ||||
-rw-r--r-- | askbot/locale/zh-cn/LC_MESSAGES/django.mo (renamed from forum/locale/zh-cn/LC_MESSAGES/django.mo) | bin | 24271 -> 24271 bytes | |||
-rw-r--r-- | askbot/locale/zh-cn/LC_MESSAGES/django.po (renamed from forum/locale/zh-cn/LC_MESSAGES/django.po) | 0 | ||||
-rw-r--r-- | askbot/management/__init__.py (renamed from forum/management/__init__.py) | 0 | ||||
-rw-r--r-- | askbot/management/commands/__init__.py (renamed from forum/management/commands/__init__.py) | 0 | ||||
-rw-r--r-- | askbot/management/commands/base_command.py (renamed from forum/management/commands/base_command.py) | 0 | ||||
-rw-r--r-- | askbot/management/commands/clean_award_badges.py (renamed from forum/management/commands/clean_award_badges.py) | 2 | ||||
-rw-r--r-- | askbot/management/commands/message_to_everyone.py (renamed from forum/management/commands/message_to_everyone.py) | 0 | ||||
-rw-r--r-- | askbot/management/commands/multi_award_badges.py (renamed from forum/management/commands/multi_award_badges.py) | 6 | ||||
-rw-r--r-- | askbot/management/commands/once_award_badges.py (renamed from forum/management/commands/once_award_badges.py) | 4 | ||||
-rw-r--r-- | askbot/management/commands/pg_base_command.py (renamed from forum/management/commands/pg_base_command.py) | 4 | ||||
-rw-r--r-- | askbot/management/commands/pg_clean_award_badges.py (renamed from forum/management/commands/pg_clean_award_badges.py) | 2 | ||||
-rw-r--r-- | askbot/management/commands/pg_multi_award_badges.py (renamed from forum/management/commands/pg_multi_award_badges.py) | 4 | ||||
-rw-r--r-- | askbot/management/commands/pg_once_award_badges.py (renamed from forum/management/commands/pg_once_award_badges.py) | 4 | ||||
-rw-r--r-- | askbot/management/commands/sample_command.py (renamed from forum/management/commands/sample_command.py) | 2 | ||||
-rw-r--r-- | askbot/management/commands/send_email_alerts.py (renamed from forum/management/commands/send_email_alerts.py) | 36 | ||||
-rw-r--r-- | askbot/management/commands/subscribe_everyone.py (renamed from forum/management/commands/subscribe_everyone.py) | 2 | ||||
-rw-r--r-- | askbot/middleware/__init__.py (renamed from forum/middleware/__init__.py) | 0 | ||||
-rw-r--r-- | askbot/middleware/anon_user.py (renamed from forum/middleware/anon_user.py) | 8 | ||||
-rw-r--r-- | askbot/middleware/cancel.py (renamed from forum/middleware/cancel.py) | 2 | ||||
-rw-r--r-- | askbot/middleware/pagesize.py (renamed from forum/middleware/pagesize.py) | 0 | ||||
-rw-r--r-- | askbot/middleware/spaceless.py (renamed from forum/middleware/spaceless.py) | 0 | ||||
-rw-r--r-- | askbot/middleware/view_log.py (renamed from forum/middleware/view_log.py) | 8 | ||||
-rw-r--r-- | askbot/migrations/0001_initial.py | 1550 | ||||
-rw-r--r-- | askbot/migrations/0002_auto__add_field_answer_text__chg_field_answer_html__add_field_question.py | 700 | ||||
-rw-r--r-- | askbot/migrations/0003_copy_denorm_text_record_to_posts_for_fulltext_search.py | 687 | ||||
-rw-r--r-- | askbot/migrations/0004_install_full_text_indexes_for_mysql.py | 720 | ||||
-rw-r--r-- | askbot/migrations/0005_install_badges.py | 751 | ||||
-rw-r--r-- | askbot/migrations/0006_add_subscription_setting_for_comments_and_mentions.py | 719 | ||||
-rw-r--r-- | askbot/migrations/0007_install_mentions_model.py | 708 | ||||
-rw-r--r-- | askbot/migrations/0008_add_html_field_to_comments.py | 708 | ||||
-rw-r--r-- | askbot/migrations/0009_calculate_html_field_for_comments.py | 854 | ||||
-rw-r--r-- | askbot/migrations/0010_add_receiving_user_to_activity_model.py (renamed from forum/migrations/0010_add_receiving_user_to_activity_model.py) | 0 | ||||
-rw-r--r-- | askbot/migrations/0011_merge_mentions_into_activity.py | 724 | ||||
-rw-r--r-- | askbot/migrations/0012_delete_some_unused_models.py | 755 | ||||
-rw-r--r-- | askbot/migrations/0013_add_response_count__to_user.py (renamed from forum/migrations/0013_add_response_count__to_user.py) | 0 | ||||
-rw-r--r-- | askbot/migrations/0014_rename_schema_from_forum_to_askbot.py | 611 | ||||
-rw-r--r-- | askbot/migrations/0015_rename_forum_contenttypes_to_askbot.py (renamed from forum/migrations/0003_copy_denorm_text_record_to_posts_for_fulltext_search.py) | 242 | ||||
-rw-r--r-- | askbot/migrations/__init__.py (renamed from forum/migrations/__init__.py) | 0 | ||||
-rw-r--r-- | askbot/models/__init__.py (renamed from forum/models/__init__.py) | 40 | ||||
-rw-r--r-- | askbot/models/answer.py (renamed from forum/models/answer.py) | 12 | ||||
-rw-r--r-- | askbot/models/base.py (renamed from forum/models/base.py) | 22 | ||||
-rw-r--r-- | askbot/models/content.py (renamed from forum/models/content.py) | 10 | ||||
-rw-r--r-- | askbot/models/meta.py (renamed from forum/models/meta.py) | 8 | ||||
-rw-r--r-- | askbot/models/question.py (renamed from forum/models/question.py) | 52 | ||||
-rw-r--r-- | askbot/models/repute.py (renamed from forum/models/repute.py) | 8 | ||||
-rw-r--r-- | askbot/models/signals.py (renamed from forum/models/signals.py) | 0 | ||||
-rw-r--r-- | askbot/models/tag.py (renamed from forum/models/tag.py) | 4 | ||||
-rw-r--r-- | askbot/models/user.py (renamed from forum/models/user.py) | 16 | ||||
-rw-r--r-- | askbot/search/README (renamed from forum/search/README) | 0 | ||||
-rw-r--r-- | askbot/search/__init__.py (renamed from forum/search/__init__.py) | 0 | ||||
-rw-r--r-- | askbot/search/indexer.py (renamed from forum/search/indexer.py) | 0 | ||||
-rw-r--r-- | askbot/search/sphinx/README (renamed from forum/search/sphinx/README) | 0 | ||||
-rw-r--r-- | askbot/search/sphinx/sphinx.conf (renamed from forum/search/sphinx/sphinx.conf) | 0 | ||||
-rw-r--r-- | askbot/search/state_manager.py (renamed from forum/search/state_manager.py) | 6 | ||||
-rw-r--r-- | askbot/settings.py (renamed from forum/settings.py) | 18 | ||||
-rw-r--r-- | askbot/sitemap.py (renamed from forum/sitemap.py) | 2 | ||||
-rwxr-xr-x | askbot/skins/README (renamed from forum/skins/README) | 0 | ||||
-rw-r--r-- | askbot/skins/__init__.py (renamed from forum/skins/__init__.py) | 0 | ||||
-rwxr-xr-x | askbot/skins/common/media/README (renamed from forum/skins/common/media/README) | 0 | ||||
-rw-r--r-- | askbot/skins/common/media/js/closure/README.rst (renamed from forum/skins/common/media/js/closure/README.rst) | 0 | ||||
-rw-r--r-- | askbot/skins/common/media/js/closure/setup-closure.sh (renamed from forum/skins/common/media/js/closure/setup-closure.sh) | 0 | ||||
-rwxr-xr-x | askbot/skins/default/media/images/blue-up-arrow-h18px.png (renamed from forum/skins/default/media/images/blue-up-arrow-h18px.png) | bin | 593 -> 593 bytes | |||
-rwxr-xr-x | askbot/skins/default/media/images/box-arrow.gif (renamed from forum/skins/default/media/images/box-arrow.gif) | bin | 69 -> 69 bytes | |||
-rwxr-xr-x | askbot/skins/default/media/images/bullet_green.gif (renamed from forum/skins/default/media/images/bullet_green.gif) | bin | 64 -> 64 bytes | |||
-rwxr-xr-x | askbot/skins/default/media/images/cc-88x31.png (renamed from forum/skins/default/media/images/cc-88x31.png) | bin | 5460 -> 5460 bytes | |||
-rwxr-xr-x | askbot/skins/default/media/images/cc-wiki.png (renamed from forum/skins/default/media/images/cc-wiki.png) | bin | 2333 -> 2333 bytes | |||
-rwxr-xr-x | askbot/skins/default/media/images/close-small-dark.png (renamed from forum/skins/default/media/images/close-small-dark.png) | bin | 226 -> 226 bytes | |||
-rwxr-xr-x | askbot/skins/default/media/images/close-small-hover.png (renamed from forum/skins/default/media/images/close-small-hover.png) | bin | 337 -> 337 bytes | |||
-rwxr-xr-x | askbot/skins/default/media/images/close-small.png (renamed from forum/skins/default/media/images/close-small.png) | bin | 293 -> 293 bytes | |||
-rwxr-xr-x | askbot/skins/default/media/images/dash.gif (renamed from forum/skins/default/media/images/dash.gif) | bin | 44 -> 44 bytes | |||
-rwxr-xr-x | askbot/skins/default/media/images/djangomade124x25_grey.gif (renamed from forum/skins/default/media/images/djangomade124x25_grey.gif) | bin | 2035 -> 2035 bytes | |||
-rwxr-xr-x | askbot/skins/default/media/images/dot-g.gif (renamed from forum/skins/default/media/images/dot-g.gif) | bin | 61 -> 61 bytes | |||
-rwxr-xr-x | askbot/skins/default/media/images/dot-list.gif (renamed from forum/skins/default/media/images/dot-list.gif) | bin | 56 -> 56 bytes | |||
-rwxr-xr-x | askbot/skins/default/media/images/edit.png (renamed from forum/skins/default/media/images/edit.png) | bin | 758 -> 758 bytes | |||
-rwxr-xr-x | askbot/skins/default/media/images/expander-arrow-hide.gif (renamed from forum/skins/default/media/images/expander-arrow-hide.gif) | bin | 126 -> 126 bytes | |||
-rwxr-xr-x | askbot/skins/default/media/images/expander-arrow-show.gif (renamed from forum/skins/default/media/images/expander-arrow-show.gif) | bin | 135 -> 135 bytes | |||
-rw-r--r-- | askbot/skins/default/media/images/favicon.gif (renamed from forum/skins/default/media/images/favicon.gif) | bin | 898 -> 898 bytes | |||
-rwxr-xr-x | askbot/skins/default/media/images/feed-icon-small.png (renamed from forum/skins/default/media/images/feed-icon-small.png) | bin | 689 -> 689 bytes | |||
-rwxr-xr-x | askbot/skins/default/media/images/gray-up-arrow-h18px.png (renamed from forum/skins/default/media/images/gray-up-arrow-h18px.png) | bin | 383 -> 383 bytes | |||
-rwxr-xr-x | askbot/skins/default/media/images/grippie.png (renamed from forum/skins/default/media/images/grippie.png) | bin | 162 -> 162 bytes | |||
-rwxr-xr-x | askbot/skins/default/media/images/indicator.gif (renamed from forum/skins/default/media/images/indicator.gif) | bin | 2545 -> 2545 bytes | |||
-rw-r--r-- | askbot/skins/default/media/images/logo.gif (renamed from forum/skins/default/media/images/logo.gif) | bin | 2272 -> 2272 bytes | |||
-rw-r--r-- | askbot/skins/default/media/images/logo.png (renamed from forum/skins/default/media/images/logo.png) | bin | 5841 -> 5841 bytes | |||
-rwxr-xr-x | askbot/skins/default/media/images/logo1.png (renamed from forum/skins/default/media/images/logo1.png) | bin | 2752 -> 2752 bytes | |||
-rwxr-xr-x | askbot/skins/default/media/images/logo2.png (renamed from forum/skins/default/media/images/logo2.png) | bin | 2124 -> 2124 bytes | |||
-rw-r--r-- | askbot/skins/default/media/images/mail-envelope-empty.png (renamed from forum/skins/default/media/images/mail-envelope-empty.png) | bin | 547 -> 547 bytes | |||
-rw-r--r-- | askbot/skins/default/media/images/mail-envelope-full.png (renamed from forum/skins/default/media/images/mail-envelope-full.png) | bin | 482 -> 482 bytes | |||
-rwxr-xr-x | askbot/skins/default/media/images/medala.gif (renamed from forum/skins/default/media/images/medala.gif) | bin | 801 -> 801 bytes | |||
-rwxr-xr-x | askbot/skins/default/media/images/medala_on.gif (renamed from forum/skins/default/media/images/medala_on.gif) | bin | 957 -> 957 bytes | |||
-rwxr-xr-x | askbot/skins/default/media/images/new.gif (renamed from forum/skins/default/media/images/new.gif) | bin | 635 -> 635 bytes | |||
-rwxr-xr-x | askbot/skins/default/media/images/nophoto.png (renamed from forum/skins/default/media/images/nophoto.png) | bin | 696 -> 696 bytes | |||
-rwxr-xr-x | askbot/skins/default/media/images/openid.gif (renamed from forum/skins/default/media/images/openid.gif) | bin | 910 -> 910 bytes | |||
-rwxr-xr-x | askbot/skins/default/media/images/openid/aol.gif (renamed from forum/skins/default/media/images/openid/aol.gif) | bin | 2205 -> 2205 bytes | |||
-rwxr-xr-x | askbot/skins/default/media/images/openid/blogger.ico (renamed from forum/skins/default/media/images/openid/blogger.ico) | bin | 3638 -> 3638 bytes | |||
-rwxr-xr-x | askbot/skins/default/media/images/openid/claimid.ico (renamed from forum/skins/default/media/images/openid/claimid.ico) | bin | 3638 -> 3638 bytes | |||
-rwxr-xr-x | askbot/skins/default/media/images/openid/facebook.gif (renamed from forum/skins/default/media/images/openid/facebook.gif) | bin | 2075 -> 2075 bytes | |||
-rwxr-xr-x | askbot/skins/default/media/images/openid/flickr.ico (renamed from forum/skins/default/media/images/openid/flickr.ico) | bin | 1150 -> 1150 bytes | |||
-rwxr-xr-x | askbot/skins/default/media/images/openid/google.gif (renamed from forum/skins/default/media/images/openid/google.gif) | bin | 1596 -> 1596 bytes | |||
-rwxr-xr-x | askbot/skins/default/media/images/openid/livejournal.ico (renamed from forum/skins/default/media/images/openid/livejournal.ico) | bin | 5222 -> 5222 bytes | |||
-rwxr-xr-x | askbot/skins/default/media/images/openid/myopenid.ico (renamed from forum/skins/default/media/images/openid/myopenid.ico) | bin | 2862 -> 2862 bytes | |||
-rwxr-xr-x | askbot/skins/default/media/images/openid/openid-inputicon.gif (renamed from forum/skins/default/media/images/openid/openid-inputicon.gif) | bin | 237 -> 237 bytes | |||
-rwxr-xr-x | askbot/skins/default/media/images/openid/openid.gif (renamed from forum/skins/default/media/images/openid/openid.gif) | bin | 740 -> 740 bytes | |||
-rwxr-xr-x | askbot/skins/default/media/images/openid/technorati.ico (renamed from forum/skins/default/media/images/openid/technorati.ico) | bin | 2294 -> 2294 bytes | |||
-rwxr-xr-x | askbot/skins/default/media/images/openid/twitter.png (renamed from forum/skins/default/media/images/openid/twitter.png) | bin | 3130 -> 3130 bytes | |||
-rwxr-xr-x | askbot/skins/default/media/images/openid/verisign.ico (renamed from forum/skins/default/media/images/openid/verisign.ico) | bin | 4710 -> 4710 bytes | |||
-rwxr-xr-x | askbot/skins/default/media/images/openid/vidoop.ico (renamed from forum/skins/default/media/images/openid/vidoop.ico) | bin | 1406 -> 1406 bytes | |||
-rwxr-xr-x | askbot/skins/default/media/images/openid/wordpress.ico (renamed from forum/skins/default/media/images/openid/wordpress.ico) | bin | 1150 -> 1150 bytes | |||
-rwxr-xr-x | askbot/skins/default/media/images/openid/yahoo.gif (renamed from forum/skins/default/media/images/openid/yahoo.gif) | bin | 1510 -> 1510 bytes | |||
-rwxr-xr-x | askbot/skins/default/media/images/quest-bg.gif (renamed from forum/skins/default/media/images/quest-bg.gif) | bin | 294 -> 294 bytes | |||
-rwxr-xr-x | askbot/skins/default/media/images/vote-accepted-on.png (renamed from forum/skins/default/media/images/vote-accepted-on.png) | bin | 1124 -> 1124 bytes | |||
-rwxr-xr-x | askbot/skins/default/media/images/vote-accepted.png (renamed from forum/skins/default/media/images/vote-accepted.png) | bin | 1058 -> 1058 bytes | |||
-rwxr-xr-x | askbot/skins/default/media/images/vote-arrow-down-on.png (renamed from forum/skins/default/media/images/vote-arrow-down-on.png) | bin | 905 -> 905 bytes | |||
-rwxr-xr-x | askbot/skins/default/media/images/vote-arrow-down.png (renamed from forum/skins/default/media/images/vote-arrow-down.png) | bin | 876 -> 876 bytes | |||
-rwxr-xr-x | askbot/skins/default/media/images/vote-arrow-up-on.png (renamed from forum/skins/default/media/images/vote-arrow-up-on.png) | bin | 906 -> 906 bytes | |||
-rwxr-xr-x | askbot/skins/default/media/images/vote-arrow-up.png (renamed from forum/skins/default/media/images/vote-arrow-up.png) | bin | 843 -> 843 bytes | |||
-rwxr-xr-x | askbot/skins/default/media/images/vote-favorite-off.png (renamed from forum/skins/default/media/images/vote-favorite-off.png) | bin | 930 -> 930 bytes | |||
-rwxr-xr-x | askbot/skins/default/media/images/vote-favorite-on.png (renamed from forum/skins/default/media/images/vote-favorite-on.png) | bin | 1023 -> 1023 bytes | |||
-rwxr-xr-x | askbot/skins/default/media/jquery-openid/images/aol.gif (renamed from forum/skins/default/media/jquery-openid/images/aol.gif) | bin | 2205 -> 2205 bytes | |||
-rwxr-xr-x | askbot/skins/default/media/jquery-openid/images/blogger-1.png (renamed from forum/skins/default/media/jquery-openid/images/blogger-1.png) | bin | 432 -> 432 bytes | |||
-rwxr-xr-x | askbot/skins/default/media/jquery-openid/images/blogger.ico (renamed from forum/skins/default/media/jquery-openid/images/blogger.ico) | bin | 3638 -> 3638 bytes | |||
-rwxr-xr-x | askbot/skins/default/media/jquery-openid/images/claimid-0.png (renamed from forum/skins/default/media/jquery-openid/images/claimid-0.png) | bin | 629 -> 629 bytes | |||
-rwxr-xr-x | askbot/skins/default/media/jquery-openid/images/claimid.ico (renamed from forum/skins/default/media/jquery-openid/images/claimid.ico) | bin | 3638 -> 3638 bytes | |||
-rwxr-xr-x | askbot/skins/default/media/jquery-openid/images/facebook.gif (renamed from forum/skins/default/media/jquery-openid/images/facebook.gif) | bin | 2075 -> 2075 bytes | |||
-rwxr-xr-x | askbot/skins/default/media/jquery-openid/images/flickr.ico (renamed from forum/skins/default/media/jquery-openid/images/flickr.ico) | bin | 1150 -> 1150 bytes | |||
-rwxr-xr-x | askbot/skins/default/media/jquery-openid/images/flickr.png (renamed from forum/skins/default/media/jquery-openid/images/flickr.png) | bin | 426 -> 426 bytes | |||
-rwxr-xr-x | askbot/skins/default/media/jquery-openid/images/google.gif (renamed from forum/skins/default/media/jquery-openid/images/google.gif) | bin | 1596 -> 1596 bytes | |||
-rwxr-xr-x | askbot/skins/default/media/jquery-openid/images/livejournal-1.png (renamed from forum/skins/default/media/jquery-openid/images/livejournal-1.png) | bin | 713 -> 713 bytes | |||
-rwxr-xr-x | askbot/skins/default/media/jquery-openid/images/livejournal.ico (renamed from forum/skins/default/media/jquery-openid/images/livejournal.ico) | bin | 5222 -> 5222 bytes | |||
-rwxr-xr-x | askbot/skins/default/media/jquery-openid/images/myopenid-2.png (renamed from forum/skins/default/media/jquery-openid/images/myopenid-2.png) | bin | 511 -> 511 bytes | |||
-rwxr-xr-x | askbot/skins/default/media/jquery-openid/images/myopenid.ico (renamed from forum/skins/default/media/jquery-openid/images/myopenid.ico) | bin | 2862 -> 2862 bytes | |||
-rwxr-xr-x | askbot/skins/default/media/jquery-openid/images/openid-inputicon.gif (renamed from forum/skins/default/media/jquery-openid/images/openid-inputicon.gif) | bin | 237 -> 237 bytes | |||
-rwxr-xr-x | askbot/skins/default/media/jquery-openid/images/openid.gif (renamed from forum/skins/default/media/jquery-openid/images/openid.gif) | bin | 740 -> 740 bytes | |||
-rwxr-xr-x | askbot/skins/default/media/jquery-openid/images/openidico.png (renamed from forum/skins/default/media/jquery-openid/images/openidico.png) | bin | 654 -> 654 bytes | |||
-rwxr-xr-x | askbot/skins/default/media/jquery-openid/images/openidico16.png (renamed from forum/skins/default/media/jquery-openid/images/openidico16.png) | bin | 554 -> 554 bytes | |||
-rwxr-xr-x | askbot/skins/default/media/jquery-openid/images/technorati-1.png (renamed from forum/skins/default/media/jquery-openid/images/technorati-1.png) | bin | 606 -> 606 bytes | |||
-rwxr-xr-x | askbot/skins/default/media/jquery-openid/images/technorati.ico (renamed from forum/skins/default/media/jquery-openid/images/technorati.ico) | bin | 2294 -> 2294 bytes | |||
-rwxr-xr-x | askbot/skins/default/media/jquery-openid/images/verisign-2.png (renamed from forum/skins/default/media/jquery-openid/images/verisign-2.png) | bin | 859 -> 859 bytes | |||
-rwxr-xr-x | askbot/skins/default/media/jquery-openid/images/verisign.ico (renamed from forum/skins/default/media/jquery-openid/images/verisign.ico) | bin | 4710 -> 4710 bytes | |||
-rwxr-xr-x | askbot/skins/default/media/jquery-openid/images/vidoop.ico (renamed from forum/skins/default/media/jquery-openid/images/vidoop.ico) | bin | 1406 -> 1406 bytes | |||
-rwxr-xr-x | askbot/skins/default/media/jquery-openid/images/vidoop.png (renamed from forum/skins/default/media/jquery-openid/images/vidoop.png) | bin | 499 -> 499 bytes | |||
-rwxr-xr-x | askbot/skins/default/media/jquery-openid/images/wordpress.ico (renamed from forum/skins/default/media/jquery-openid/images/wordpress.ico) | bin | 1150 -> 1150 bytes | |||
-rwxr-xr-x | askbot/skins/default/media/jquery-openid/images/wordpress.png (renamed from forum/skins/default/media/jquery-openid/images/wordpress.png) | bin | 566 -> 566 bytes | |||
-rwxr-xr-x | askbot/skins/default/media/jquery-openid/images/yahoo.gif (renamed from forum/skins/default/media/jquery-openid/images/yahoo.gif) | bin | 1682 -> 1682 bytes | |||
-rwxr-xr-x | askbot/skins/default/media/jquery-openid/jquery.openid.js (renamed from forum/skins/default/media/jquery-openid/jquery.openid.js) | 0 | ||||
-rwxr-xr-x | askbot/skins/default/media/jquery-openid/openid.css (renamed from forum/skins/default/media/jquery-openid/openid.css) | 0 | ||||
-rw-r--r-- | askbot/skins/default/media/js/com.cnprog.admin.js (renamed from forum/skins/default/media/js/com.cnprog.admin.js) | 0 | ||||
-rw-r--r-- | askbot/skins/default/media/js/com.cnprog.editor.js (renamed from forum/skins/default/media/js/com.cnprog.editor.js) | 0 | ||||
-rw-r--r-- | askbot/skins/default/media/js/com.cnprog.i18n.js (renamed from forum/skins/default/media/js/com.cnprog.i18n.js) | 0 | ||||
-rwxr-xr-x | askbot/skins/default/media/js/com.cnprog.post.js (renamed from forum/skins/default/media/js/com.cnprog.post.js) | 0 | ||||
-rw-r--r-- | askbot/skins/default/media/js/com.cnprog.tag_selector.js (renamed from forum/skins/default/media/js/com.cnprog.tag_selector.js) | 0 | ||||
-rw-r--r-- | askbot/skins/default/media/js/com.cnprog.utils.js (renamed from forum/skins/default/media/js/com.cnprog.utils.js) | 0 | ||||
-rwxr-xr-x | askbot/skins/default/media/js/compress.bat (renamed from forum/skins/default/media/js/compress.bat) | 0 | ||||
-rw-r--r-- | askbot/skins/default/media/js/excanvas.min.js (renamed from forum/skins/default/media/js/excanvas.min.js) | 0 | ||||
-rwxr-xr-x | askbot/skins/default/media/js/flot-build.bat (renamed from forum/skins/default/media/js/flot-build.bat) | 0 | ||||
-rw-r--r-- | askbot/skins/default/media/js/jquery-1.2.6.js (renamed from forum/skins/default/media/js/jquery-1.2.6.js) | 0 | ||||
-rw-r--r-- | askbot/skins/default/media/js/jquery-1.2.6.min.js (renamed from forum/skins/default/media/js/jquery-1.2.6.min.js) | 0 | ||||
-rw-r--r-- | askbot/skins/default/media/js/jquery.ajaxfileupload.js (renamed from forum/skins/default/media/js/jquery.ajaxfileupload.js) | 0 | ||||
-rw-r--r-- | askbot/skins/default/media/js/jquery.flot.js (renamed from forum/skins/default/media/js/jquery.flot.js) | 0 | ||||
-rw-r--r-- | askbot/skins/default/media/js/jquery.flot.min.js (renamed from forum/skins/default/media/js/jquery.flot.min.js) | 0 | ||||
-rw-r--r-- | askbot/skins/default/media/js/jquery.form.js (renamed from forum/skins/default/media/js/jquery.form.js) | 0 | ||||
-rw-r--r-- | askbot/skins/default/media/js/jquery.i18n.js (renamed from forum/skins/default/media/js/jquery.i18n.js) | 0 | ||||
-rw-r--r-- | askbot/skins/default/media/js/jquery.openid.js (renamed from forum/skins/default/media/js/jquery.openid.js) | 0 | ||||
-rw-r--r-- | askbot/skins/default/media/js/jquery.validate.pack.js (renamed from forum/skins/default/media/js/jquery.validate.pack.js) | 0 | ||||
-rw-r--r-- | askbot/skins/default/media/js/se_hilite.js (renamed from forum/skins/default/media/js/se_hilite.js) | 0 | ||||
-rw-r--r-- | askbot/skins/default/media/js/se_hilite_src.js (renamed from forum/skins/default/media/js/se_hilite_src.js) | 0 | ||||
-rwxr-xr-x | askbot/skins/default/media/js/wmd/images/wmd-buttons.png (renamed from forum/skins/default/media/js/wmd/images/wmd-buttons.png) | bin | 7465 -> 7465 bytes | |||
-rwxr-xr-x | askbot/skins/default/media/js/wmd/showdown-min.js (renamed from forum/skins/default/media/js/wmd/showdown-min.js) | 0 | ||||
-rwxr-xr-x | askbot/skins/default/media/js/wmd/showdown.js (renamed from forum/skins/default/media/js/wmd/showdown.js) | 0 | ||||
-rwxr-xr-x | askbot/skins/default/media/js/wmd/wmd-min.js (renamed from forum/skins/default/media/js/wmd/wmd-min.js) | 0 | ||||
-rwxr-xr-x | askbot/skins/default/media/js/wmd/wmd-test.html (renamed from forum/skins/default/media/js/wmd/wmd-test.html) | 0 | ||||
-rwxr-xr-x | askbot/skins/default/media/js/wmd/wmd.css (renamed from forum/skins/default/media/js/wmd/wmd.css) | 0 | ||||
-rwxr-xr-x | askbot/skins/default/media/js/wmd/wmd.js (renamed from forum/skins/default/media/js/wmd/wmd.js) | 0 | ||||
-rwxr-xr-x | askbot/skins/default/media/js/yuicompressor-2.4.2.jar (renamed from forum/skins/default/media/js/yuicompressor-2.4.2.jar) | bin | 851219 -> 851219 bytes | |||
-rwxr-xr-x | askbot/skins/default/media/style/auth.css (renamed from forum/skins/default/media/style/auth.css) | 0 | ||||
-rwxr-xr-x | askbot/skins/default/media/style/default.css (renamed from forum/skins/default/media/style/default.css) | 0 | ||||
-rwxr-xr-x | askbot/skins/default/media/style/jquery.autocomplete.css (renamed from forum/skins/default/media/style/jquery.autocomplete.css) | 0 | ||||
-rwxr-xr-x | askbot/skins/default/media/style/openid.css (renamed from forum/skins/default/media/style/openid.css) | 0 | ||||
-rwxr-xr-x | askbot/skins/default/media/style/prettify.css (renamed from forum/skins/default/media/style/prettify.css) | 0 | ||||
-rwxr-xr-x | askbot/skins/default/media/style/style.css (renamed from forum/skins/default/media/style/style.css) | 0 | ||||
-rw-r--r-- | askbot/skins/default/templates/404.html (renamed from forum/skins/default/templates/404.html) | 0 | ||||
-rw-r--r-- | askbot/skins/default/templates/500.html (renamed from forum/skins/default/templates/500.html) | 0 | ||||
-rw-r--r-- | askbot/skins/default/templates/about.html (renamed from forum/skins/default/templates/about.html) | 0 | ||||
-rw-r--r-- | askbot/skins/default/templates/account_settings.html (renamed from forum/skins/default/templates/account_settings.html) | 0 | ||||
-rw-r--r-- | askbot/skins/default/templates/answer_edit.html (renamed from forum/skins/default/templates/answer_edit.html) | 0 | ||||
-rw-r--r-- | askbot/skins/default/templates/answer_edit_tips.html (renamed from forum/skins/default/templates/answer_edit_tips.html) | 0 | ||||
-rw-r--r-- | askbot/skins/default/templates/ask.html (renamed from forum/skins/default/templates/ask.html) | 0 | ||||
-rw-r--r-- | askbot/skins/default/templates/ask_form.html (renamed from forum/skins/default/templates/ask_form.html) | 0 | ||||
-rw-r--r-- | askbot/skins/default/templates/authopenid/changeemail.html (renamed from forum/skins/default/templates/authopenid/changeemail.html) | 0 | ||||
-rw-r--r-- | askbot/skins/default/templates/authopenid/changeopenid.html (renamed from forum/skins/default/templates/authopenid/changeopenid.html) | 0 | ||||
-rw-r--r-- | askbot/skins/default/templates/authopenid/changepw.html (renamed from forum/skins/default/templates/authopenid/changepw.html) | 0 | ||||
-rw-r--r-- | askbot/skins/default/templates/authopenid/complete.html (renamed from forum/skins/default/templates/authopenid/complete.html) | 0 | ||||
-rw-r--r-- | askbot/skins/default/templates/authopenid/confirm_email.txt (renamed from forum/skins/default/templates/authopenid/confirm_email.txt) | 0 | ||||
-rw-r--r-- | askbot/skins/default/templates/authopenid/delete.html (renamed from forum/skins/default/templates/authopenid/delete.html) | 0 | ||||
-rw-r--r-- | askbot/skins/default/templates/authopenid/email_validation.txt (renamed from forum/skins/default/templates/authopenid/email_validation.txt) | 0 | ||||
-rw-r--r-- | askbot/skins/default/templates/authopenid/external_legacy_login_info.html (renamed from forum/skins/default/templates/authopenid/external_legacy_login_info.html) | 0 | ||||
-rw-r--r-- | askbot/skins/default/templates/authopenid/failure.html (renamed from forum/skins/default/templates/authopenid/failure.html) | 0 | ||||
-rw-r--r-- | askbot/skins/default/templates/authopenid/sendpw.html (renamed from forum/skins/default/templates/authopenid/sendpw.html) | 0 | ||||
-rw-r--r-- | askbot/skins/default/templates/authopenid/sendpw_email.txt (renamed from forum/skins/default/templates/authopenid/sendpw_email.txt) | 0 | ||||
-rw-r--r-- | askbot/skins/default/templates/authopenid/settings.html (renamed from forum/skins/default/templates/authopenid/settings.html) | 0 | ||||
-rwxr-xr-x | askbot/skins/default/templates/authopenid/signin.html (renamed from forum/skins/default/templates/authopenid/signin.html) | 0 | ||||
-rw-r--r-- | askbot/skins/default/templates/authopenid/signup.html (renamed from forum/skins/default/templates/authopenid/signup.html) | 0 | ||||
-rw-r--r-- | askbot/skins/default/templates/authopenid/yadis.xrdf (renamed from forum/skins/default/templates/authopenid/yadis.xrdf) | 0 | ||||
-rw-r--r-- | askbot/skins/default/templates/badge.html (renamed from forum/skins/default/templates/badge.html) | 0 | ||||
-rw-r--r-- | askbot/skins/default/templates/badges.html (renamed from forum/skins/default/templates/badges.html) | 0 | ||||
-rw-r--r-- | askbot/skins/default/templates/base.html (renamed from forum/skins/default/templates/base.html) | 0 | ||||
-rw-r--r-- | askbot/skins/default/templates/base_content.html (renamed from forum/skins/default/templates/base_content.html) | 0 | ||||
-rw-r--r-- | askbot/skins/default/templates/book.html (renamed from forum/skins/default/templates/book.html) | 0 | ||||
-rw-r--r-- | askbot/skins/default/templates/close.html (renamed from forum/skins/default/templates/close.html) | 0 | ||||
-rw-r--r-- | askbot/skins/default/templates/edit_user_email_feeds_form.html (renamed from forum/skins/default/templates/edit_user_email_feeds_form.html) | 0 | ||||
-rw-r--r-- | askbot/skins/default/templates/email_base.html (renamed from forum/skins/default/templates/email_base.html) | 0 | ||||
-rw-r--r-- | askbot/skins/default/templates/faq.html (renamed from forum/skins/default/templates/faq.html) | 0 | ||||
-rwxr-xr-x | askbot/skins/default/templates/fbconnect/xd_receiver.html (renamed from forum/skins/default/templates/fbconnect/xd_receiver.html) | 0 | ||||
-rw-r--r-- | askbot/skins/default/templates/feedback.html (renamed from forum/skins/default/templates/feedback.html) | 0 | ||||
-rw-r--r-- | askbot/skins/default/templates/feedback_email.txt (renamed from forum/skins/default/templates/feedback_email.txt) | 0 | ||||
-rwxr-xr-x | askbot/skins/default/templates/feeds/rss_description.html (renamed from forum/skins/default/templates/feeds/rss_description.html) | 0 | ||||
-rwxr-xr-x | askbot/skins/default/templates/feeds/rss_title.html (renamed from forum/skins/default/templates/feeds/rss_title.html) | 0 | ||||
-rw-r--r-- | askbot/skins/default/templates/footer.html (renamed from forum/skins/default/templates/footer.html) | 0 | ||||
-rw-r--r-- | askbot/skins/default/templates/header.html (renamed from forum/skins/default/templates/header.html) | 0 | ||||
-rw-r--r-- | askbot/skins/default/templates/input_bar.html (renamed from forum/skins/default/templates/input_bar.html) | 0 | ||||
-rw-r--r-- | askbot/skins/default/templates/instant_notification.html (renamed from forum/skins/default/templates/instant_notification.html) | 0 | ||||
-rw-r--r-- | askbot/skins/default/templates/logout.html (renamed from forum/skins/default/templates/logout.html) | 0 | ||||
-rw-r--r-- | askbot/skins/default/templates/notarobot.html (renamed from forum/skins/default/templates/notarobot.html) | 0 | ||||
-rw-r--r-- | askbot/skins/default/templates/pagesize.html (renamed from forum/skins/default/templates/pagesize.html) | 0 | ||||
-rw-r--r-- | askbot/skins/default/templates/paginator.html (renamed from forum/skins/default/templates/paginator.html) | 0 | ||||
-rw-r--r-- | askbot/skins/default/templates/post_contributor_info.html (renamed from forum/skins/default/templates/post_contributor_info.html) | 0 | ||||
-rw-r--r-- | askbot/skins/default/templates/privacy.html (renamed from forum/skins/default/templates/privacy.html) | 0 | ||||
-rw-r--r-- | askbot/skins/default/templates/question.html (renamed from forum/skins/default/templates/question.html) | 0 | ||||
-rw-r--r-- | askbot/skins/default/templates/question_counter_widget.html (renamed from forum/skins/default/templates/question_counter_widget.html) | 0 | ||||
-rw-r--r-- | askbot/skins/default/templates/question_edit.html (renamed from forum/skins/default/templates/question_edit.html) | 0 | ||||
-rw-r--r-- | askbot/skins/default/templates/question_edit_tips.html (renamed from forum/skins/default/templates/question_edit_tips.html) | 0 | ||||
-rw-r--r-- | askbot/skins/default/templates/question_list.html (renamed from forum/skins/default/templates/question_list.html) | 0 | ||||
-rw-r--r-- | askbot/skins/default/templates/question_retag.html (renamed from forum/skins/default/templates/question_retag.html) | 0 | ||||
-rw-r--r-- | askbot/skins/default/templates/question_summary_list_roll.html (renamed from forum/skins/default/templates/question_summary_list_roll.html) | 0 | ||||
-rw-r--r-- | askbot/skins/default/templates/questions.html (renamed from forum/skins/default/templates/questions.html) | 0 | ||||
-rw-r--r-- | askbot/skins/default/templates/reopen.html (renamed from forum/skins/default/templates/reopen.html) | 0 | ||||
-rw-r--r-- | askbot/skins/default/templates/revisions_answer.html (renamed from forum/skins/default/templates/revisions_answer.html) | 0 | ||||
-rw-r--r-- | askbot/skins/default/templates/revisions_question.html (renamed from forum/skins/default/templates/revisions_question.html) | 0 | ||||
-rw-r--r-- | askbot/skins/default/templates/tag_selector.html (renamed from forum/skins/default/templates/tag_selector.html) | 0 | ||||
-rw-r--r-- | askbot/skins/default/templates/tags.html (renamed from forum/skins/default/templates/tags.html) | 0 | ||||
-rw-r--r-- | askbot/skins/default/templates/user.html (renamed from forum/skins/default/templates/user.html) | 0 | ||||
-rw-r--r-- | askbot/skins/default/templates/user_edit.html (renamed from forum/skins/default/templates/user_edit.html) | 0 | ||||
-rw-r--r-- | askbot/skins/default/templates/user_email_subscriptions.html (renamed from forum/skins/default/templates/user_email_subscriptions.html) | 0 | ||||
-rw-r--r-- | askbot/skins/default/templates/user_favorites.html (renamed from forum/skins/default/templates/user_favorites.html) | 0 | ||||
-rw-r--r-- | askbot/skins/default/templates/user_footer.html (renamed from forum/skins/default/templates/user_footer.html) | 0 | ||||
-rw-r--r-- | askbot/skins/default/templates/user_info.html (renamed from forum/skins/default/templates/user_info.html) | 0 | ||||
-rw-r--r-- | askbot/skins/default/templates/user_recent.html (renamed from forum/skins/default/templates/user_recent.html) | 0 | ||||
-rw-r--r-- | askbot/skins/default/templates/user_reputation.html (renamed from forum/skins/default/templates/user_reputation.html) | 0 | ||||
-rw-r--r-- | askbot/skins/default/templates/user_responses.html (renamed from forum/skins/default/templates/user_responses.html) | 0 | ||||
-rw-r--r-- | askbot/skins/default/templates/user_stats.html (renamed from forum/skins/default/templates/user_stats.html) | 0 | ||||
-rw-r--r-- | askbot/skins/default/templates/user_tabs.html (renamed from forum/skins/default/templates/user_tabs.html) | 0 | ||||
-rw-r--r-- | askbot/skins/default/templates/user_votes.html (renamed from forum/skins/default/templates/user_votes.html) | 0 | ||||
-rw-r--r-- | askbot/skins/default/templates/users.html (renamed from forum/skins/default/templates/users.html) | 0 | ||||
-rw-r--r-- | askbot/skins/default/templates/users_questions.html (renamed from forum/skins/default/templates/users_questions.html) | 0 | ||||
-rw-r--r-- | askbot/skins/loaders.py (renamed from forum/skins/loaders.py) | 10 | ||||
-rw-r--r-- | askbot/skins/utils.py (renamed from forum/skins/utils.py) | 0 | ||||
-rw-r--r-- | askbot/sql_scripts/091111_upgrade_evgeny.sql (renamed from forum/sql_scripts/091111_upgrade_evgeny.sql) | 0 | ||||
-rw-r--r-- | askbot/sql_scripts/091208_upgrade_evgeny.sql (renamed from forum/sql_scripts/091208_upgrade_evgeny.sql) | 0 | ||||
-rw-r--r-- | askbot/sql_scripts/091208_upgrade_evgeny_1.sql (renamed from forum/sql_scripts/091208_upgrade_evgeny_1.sql) | 0 | ||||
-rw-r--r-- | askbot/sql_scripts/100108_upgrade_ef.sql (renamed from forum/sql_scripts/100108_upgrade_ef.sql) | 0 | ||||
-rw-r--r-- | askbot/sql_scripts/badges.sql (renamed from forum/sql_scripts/badges.sql) | 0 | ||||
-rw-r--r-- | askbot/sql_scripts/cnprog.xml (renamed from forum/sql_scripts/cnprog.xml) | 0 | ||||
-rw-r--r-- | askbot/sql_scripts/cnprog_new_install.sql (renamed from forum/sql_scripts/cnprog_new_install.sql) | 0 | ||||
-rw-r--r-- | askbot/sql_scripts/cnprog_new_install_2009_02_28.sql (renamed from forum/sql_scripts/cnprog_new_install_2009_02_28.sql) | 0 | ||||
-rw-r--r-- | askbot/sql_scripts/cnprog_new_install_2009_03_31.sql (renamed from forum/sql_scripts/cnprog_new_install_2009_03_31.sql) | 0 | ||||
-rw-r--r-- | askbot/sql_scripts/cnprog_new_install_2009_04_07.sql (renamed from forum/sql_scripts/cnprog_new_install_2009_04_07.sql) | 0 | ||||
-rw-r--r-- | askbot/sql_scripts/cnprog_new_install_2009_04_09.sql (renamed from forum/sql_scripts/cnprog_new_install_2009_04_09.sql) | 0 | ||||
-rw-r--r-- | askbot/sql_scripts/drop-all-tables.sh (renamed from forum/sql_scripts/drop-all-tables.sh) | 0 | ||||
-rw-r--r-- | askbot/sql_scripts/drop-auth.sql (renamed from forum/sql_scripts/drop-auth.sql) | 0 | ||||
-rw-r--r-- | askbot/sql_scripts/pg_fts_install.sql (renamed from forum/sql_scripts/pg_fts_install.sql) | 0 | ||||
-rw-r--r-- | askbot/sql_scripts/update_2009_01_13_001.sql (renamed from forum/sql_scripts/update_2009_01_13_001.sql) | 0 | ||||
-rw-r--r-- | askbot/sql_scripts/update_2009_01_13_002.sql (renamed from forum/sql_scripts/update_2009_01_13_002.sql) | 0 | ||||
-rw-r--r-- | askbot/sql_scripts/update_2009_01_18_001.sql (renamed from forum/sql_scripts/update_2009_01_18_001.sql) | 0 | ||||
-rw-r--r-- | askbot/sql_scripts/update_2009_01_24.sql (renamed from forum/sql_scripts/update_2009_01_24.sql) | 0 | ||||
-rw-r--r-- | askbot/sql_scripts/update_2009_01_25_001.sql (renamed from forum/sql_scripts/update_2009_01_25_001.sql) | 0 | ||||
-rw-r--r-- | askbot/sql_scripts/update_2009_02_26_001.sql (renamed from forum/sql_scripts/update_2009_02_26_001.sql) | 0 | ||||
-rw-r--r-- | askbot/sql_scripts/update_2009_04_10_001.sql (renamed from forum/sql_scripts/update_2009_04_10_001.sql) | 0 | ||||
-rw-r--r-- | askbot/sql_scripts/update_2009_07_05_EF.sql (renamed from forum/sql_scripts/update_2009_07_05_EF.sql) | 0 | ||||
-rw-r--r-- | askbot/sql_scripts/update_2009_12_24_001.sql (renamed from forum/sql_scripts/update_2009_12_24_001.sql) | 0 | ||||
-rw-r--r-- | askbot/sql_scripts/update_2009_12_27_001.sql (renamed from forum/sql_scripts/update_2009_12_27_001.sql) | 0 | ||||
-rw-r--r-- | askbot/sql_scripts/update_2009_12_27_002.sql (renamed from forum/sql_scripts/update_2009_12_27_002.sql) | 0 | ||||
-rw-r--r-- | askbot/sql_scripts/update_2010_02_22.sql (renamed from forum/sql_scripts/update_2010_02_22.sql) | 0 | ||||
-rw-r--r-- | askbot/templatetags/__init__.py (renamed from forum/templatetags/__init__.py) | 0 | ||||
-rw-r--r-- | askbot/templatetags/extra_filters.py (renamed from forum/templatetags/extra_filters.py) | 4 | ||||
-rw-r--r-- | askbot/templatetags/extra_tags.py (renamed from forum/templatetags/extra_tags.py) | 72 | ||||
-rw-r--r-- | askbot/templatetags/smart_if.py (renamed from forum/templatetags/smart_if.py) | 0 | ||||
-rw-r--r-- | askbot/tests.py (renamed from forum/tests.py) | 8 | ||||
-rwxr-xr-x | askbot/upfiles/README (renamed from forum/upfiles/README) | 0 | ||||
-rw-r--r-- | askbot/urls.py (renamed from forum/urls.py) | 10 | ||||
-rw-r--r-- | askbot/user_messages/__init__.py (renamed from forum/user_messages/__init__.py) | 0 | ||||
-rw-r--r-- | askbot/user_messages/context_processors.py (renamed from forum/user_messages/context_processors.py) | 2 | ||||
-rw-r--r-- | askbot/utils/__init__.py (renamed from forum/utils/__init__.py) | 0 | ||||
-rw-r--r-- | askbot/utils/cache.py (renamed from forum/utils/cache.py) | 2 | ||||
-rw-r--r-- | askbot/utils/colors.py (renamed from forum/utils/colors.py) | 2 | ||||
-rw-r--r-- | askbot/utils/decorators.py (renamed from forum/utils/decorators.py) | 0 | ||||
-rw-r--r-- | askbot/utils/diff.py (renamed from forum/utils/diff.py) | 0 | ||||
-rw-r--r-- | askbot/utils/email.py (renamed from forum/utils/email.py) | 0 | ||||
-rw-r--r-- | askbot/utils/forms.py (renamed from forum/utils/forms.py) | 6 | ||||
-rw-r--r-- | askbot/utils/functions.py (renamed from forum/utils/functions.py) | 0 | ||||
-rw-r--r-- | askbot/utils/html.py (renamed from forum/utils/html.py) | 0 | ||||
-rw-r--r-- | askbot/utils/lists.py (renamed from forum/utils/lists.py) | 0 | ||||
-rw-r--r-- | askbot/utils/markup.py (renamed from forum/utils/markup.py) | 2 | ||||
-rw-r--r-- | askbot/utils/time.py (renamed from forum/utils/time.py) | 0 | ||||
-rwxr-xr-x | askbot/views/README (renamed from forum/views/README) | 0 | ||||
-rw-r--r-- | askbot/views/__init__.py | 8 | ||||
-rw-r--r-- | askbot/views/commands.py (renamed from forum/views/commands.py) | 22 | ||||
-rw-r--r-- | askbot/views/meta.py (renamed from forum/views/meta.py) | 8 | ||||
-rw-r--r-- | askbot/views/readers.py (renamed from forum/views/readers.py) | 18 | ||||
-rw-r--r-- | askbot/views/users.py (renamed from forum/views/users.py) | 20 | ||||
-rw-r--r-- | askbot/views/writers.py (renamed from forum/views/writers.py) | 10 | ||||
-rw-r--r-- | forum/conf/__init__.py | 16 | ||||
-rw-r--r-- | forum/migrations/0001_initial.py | 780 | ||||
-rw-r--r-- | forum/migrations/0002_auto__add_field_answer_text__chg_field_answer_html__add_field_question.py | 368 | ||||
-rw-r--r-- | forum/migrations/0004_install_full_text_indexes_for_mysql.py | 389 | ||||
-rw-r--r-- | forum/migrations/0005_install_badges.py | 417 | ||||
-rw-r--r-- | forum/migrations/0006_add_subscription_setting_for_comments_and_mentions.py | 383 | ||||
-rw-r--r-- | forum/migrations/0007_install_mentions_model.py | 367 | ||||
-rw-r--r-- | forum/migrations/0008_add_html_field_to_comments.py | 365 | ||||
-rw-r--r-- | forum/migrations/0009_calculate_html_field_for_comments.py | 508 | ||||
-rw-r--r-- | forum/migrations/0011_merge_mentions_into_activity.py | 376 | ||||
-rw-r--r-- | forum/migrations/0012_delete_some_unused_models.py | 391 | ||||
-rw-r--r-- | forum/views/__init__.py | 8 | ||||
-rw-r--r-- | settings.py | 36 | ||||
-rw-r--r-- | urls.py | 2 |
438 files changed, 10062 insertions, 4963 deletions
@@ -14,6 +14,6 @@ pip-log.txt *.zip tmp/* load -forum/skins/default/media/js/flot -forum/skins/common/media/js/closure/google-closure -forum/fixtures +askbot/skins/default/media/js/flot +askbot/skins/common/media/js/closure/google-closure +askbot/fixtures diff --git a/forum/LICENSE b/askbot/LICENSE index 803781c5..803781c5 100644 --- a/forum/LICENSE +++ b/askbot/LICENSE diff --git a/forum/__init__.py b/askbot/__init__.py index d4d26875..90c491d8 100644 --- a/forum/__init__.py +++ b/askbot/__init__.py @@ -1,4 +1,4 @@ -"""aksbot forum module +"""aksbot askbot module """ __all__ = [ 'admin', diff --git a/forum/admin.py b/askbot/admin.py index c5898574..1ecfa3aa 100644 --- a/forum/admin.py +++ b/askbot/admin.py @@ -1,9 +1,9 @@ """ -linking of forum modules to admin interface +linking of askbot modules to admin interface """ # -*- coding: utf-8 -*- from django.contrib import admin -from forum import models +from askbot import models class AnonymousQuestionAdmin(admin.ModelAdmin): """AnonymousQuestion admin class""" diff --git a/forum/auth.py b/askbot/auth.py index e88c280e..55a1633f 100644 --- a/forum/auth.py +++ b/askbot/auth.py @@ -7,13 +7,13 @@ and superuser status. import datetime from django.utils.translation import ugettext as _ from django.db import transaction -from forum.models import Repute -from forum.models import Question -from forum.models import Answer -from forum.models import signals +from askbot.models import Repute +from askbot.models import Question +from askbot.models import Answer +from askbot.models import signals import logging -from forum.conf import settings as forum_settings +from askbot.conf import settings as askbot_settings def can_moderate_users(user): return user.is_superuser @@ -21,13 +21,13 @@ def can_moderate_users(user): def can_vote_up(user): """Determines if a User can vote Questions and Answers up.""" return user.is_authenticated() and ( - user.reputation >= forum_settings.MIN_REP_TO_VOTE_UP or + user.reputation >= askbot_settings.MIN_REP_TO_VOTE_UP or user.is_superuser) def can_flag_offensive(user): """Determines if a User can flag Questions and Answers as offensive.""" return user.is_authenticated() and ( - user.reputation >= forum_settings.MIN_REP_TO_FLAG_OFFENSIVE or + user.reputation >= askbot_settings.MIN_REP_TO_FLAG_OFFENSIVE or user.is_superuser) def can_add_comments(user, subject): @@ -35,7 +35,7 @@ def can_add_comments(user, subject): if user.is_authenticated(): if user.id == subject.author.id: return True - if user.reputation >= forum_settings.MIN_REP_TO_LEAVE_COMMENTS: + if user.reputation >= askbot_settings.MIN_REP_TO_LEAVE_COMMENTS: return True if user.is_superuser: return True @@ -47,7 +47,7 @@ def can_add_comments(user, subject): def can_vote_down(user): """Determines if a User can vote Questions and Answers down.""" if user.is_authenticated(): - if user.reputation >= forum_settings.MIN_REP_TO_VOTE_DOWN: + if user.reputation >= askbot_settings.MIN_REP_TO_VOTE_DOWN: return True if user.is_superuser: return True @@ -56,8 +56,8 @@ def can_vote_down(user): def can_retag_questions(user): """Determines if a User can retag Questions.""" if user.is_authenticated(): - if user.reputation >= forum_settings.MIN_REP_TO_RETAG_OTHERS_QUESTIONS: - if user.reputation < forum_settings.MIN_REP_TO_EDIT_OTHERS_POSTS: + if user.reputation >= askbot_settings.MIN_REP_TO_RETAG_OTHERS_QUESTIONS: + if user.reputation < askbot_settings.MIN_REP_TO_EDIT_OTHERS_POSTS: return True if user.is_superuser: return True @@ -69,9 +69,9 @@ def can_edit_post(user, post): if user.id == post.author_id: return True if post.wiki: - if user.reputation >= forum_settings.MIN_REP_TO_EDIT_WIKI: + if user.reputation >= askbot_settings.MIN_REP_TO_EDIT_WIKI: return True - if user.reputation >= forum_settings.MIN_REP_TO_EDIT_OTHERS_POSTS: + if user.reputation >= askbot_settings.MIN_REP_TO_EDIT_OTHERS_POSTS: return True if user.is_superuser: return True @@ -81,32 +81,32 @@ def can_delete_comment(user, comment): """Determines if a User can delete the given Comment.""" return user.is_authenticated() and ( user.id == comment.user_id or - user.reputation >= forum_settings.MIN_REP_TO_DELETE_OTHERS_COMMENTS or + user.reputation >= askbot_settings.MIN_REP_TO_DELETE_OTHERS_COMMENTS or user.is_superuser) def can_view_offensive_flags(user): """Determines if a User can view offensive flag counts.""" return user.is_authenticated() and ( - user.reputation >= forum_settings.MIN_REP_TO_VIEW_OFFENSIVE_FLAGS or + user.reputation >= askbot_settings.MIN_REP_TO_VIEW_OFFENSIVE_FLAGS or user.is_superuser) def can_close_question(user, question): """Determines if a User can close the given Question.""" return user.is_authenticated() and ( (user.id == question.author_id and - user.reputation >= forum_settings.MIN_REP_TO_CLOSE_OWN_QUESTIONS) or - user.reputation >= forum_settings.MIN_REP_TO_CLOSE_OTHERS_QUESTIONS or + user.reputation >= askbot_settings.MIN_REP_TO_CLOSE_OWN_QUESTIONS) or + user.reputation >= askbot_settings.MIN_REP_TO_CLOSE_OTHERS_QUESTIONS or user.is_superuser) def can_lock_posts(user): """Determines if a User can lock Questions or Answers.""" return user.is_authenticated() and ( - user.reputation >= forum_settings.MIN_REP_TO_LOCK_POSTS or + user.reputation >= askbot_settings.MIN_REP_TO_LOCK_POSTS or user.is_superuser) def can_follow_url(user): """Determines if the URL link can be followed by Google search engine.""" - return user.reputation >= forum_settings.MIN_REP_TO_DISABLE_URL_NOFOLLOW + return user.reputation >= askbot_settings.MIN_REP_TO_DISABLE_URL_NOFOLLOW def can_accept_answer(user, question, answer): if user.is_superuser: @@ -121,7 +121,7 @@ def can_reopen_question(user, question): if user.is_superuser: return True if user.is_authenticated() and user.id == question.author_id: - if user.reputation >= forum_settings.MIN_REP_TO_REOPEN_OWN_QUESTIONS: + if user.reputation >= askbot_settings.MIN_REP_TO_REOPEN_OWN_QUESTIONS: return True return False @@ -162,7 +162,7 @@ def can_upload_files(request_user): if request_user.is_superuser: return True if request_user.is_authenticated(): - if request_user.reputation >= forum_settings.MIN_REP_TO_UPLOAD_FILES: + if request_user.reputation >= askbot_settings.MIN_REP_TO_UPLOAD_FILES: return True return False @@ -187,7 +187,7 @@ def onFlaggedItem(item, post, user, timestamp=None): post.author.reputation = calculate_reputation( post.author.reputation, - forum_settings.REP_LOSS_FOR_RECEIVING_DOWNVOTE + askbot_settings.REP_LOSS_FOR_RECEIVING_DOWNVOTE ) post.author.save() @@ -197,7 +197,7 @@ def onFlaggedItem(item, post, user, timestamp=None): reputation = Repute( user=post.author, - negative=forum_settings.REP_LOSS_FOR_RECEIVING_DOWNVOTE, + negative=askbot_settings.REP_LOSS_FOR_RECEIVING_DOWNVOTE, question=question, reputed_at=timestamp, reputation_type=-4, reputation=post.author.reputation @@ -205,11 +205,11 @@ def onFlaggedItem(item, post, user, timestamp=None): reputation.save() #todo: These should be updated to work on same revisions. - if post.offensive_flag_count == forum_settings.MIN_FLAGS_TO_HIDE_POST: + if post.offensive_flag_count == askbot_settings.MIN_FLAGS_TO_HIDE_POST: post.author.reputation = \ calculate_reputation( post.author.reputation, - forum_settings.REP_LOSS_FOR_RECEIVING_THREE_FLAGS_PER_REVISION + askbot_settings.REP_LOSS_FOR_RECEIVING_THREE_FLAGS_PER_REVISION ) post.author.save() @@ -217,7 +217,7 @@ def onFlaggedItem(item, post, user, timestamp=None): reputation = Repute( user=post.author, negative=\ - forum_settings.REP_LOSS_FOR_RECEIVING_THREE_FLAGS_PER_REVISION, + askbot_settings.REP_LOSS_FOR_RECEIVING_THREE_FLAGS_PER_REVISION, question=question, reputed_at=timestamp, reputation_type=-6, @@ -225,11 +225,11 @@ def onFlaggedItem(item, post, user, timestamp=None): ) reputation.save() - elif post.offensive_flag_count == forum_settings.MIN_FLAGS_TO_DELETE_POST: + elif post.offensive_flag_count == askbot_settings.MIN_FLAGS_TO_DELETE_POST: post.author.reputation = \ calculate_reputation( post.author.reputation, - forum_settings.REP_LOSS_FOR_RECEIVING_FIVE_FLAGS_PER_REVISION + askbot_settings.REP_LOSS_FOR_RECEIVING_FIVE_FLAGS_PER_REVISION ) post.author.save() @@ -237,7 +237,7 @@ def onFlaggedItem(item, post, user, timestamp=None): reputation = Repute( user=post.author, negative=\ - forum_settings.REP_LOSS_FOR_RECEIVING_FIVE_FLAGS_PER_REVISION, + askbot_settings.REP_LOSS_FOR_RECEIVING_FIVE_FLAGS_PER_REVISION, question=question, reputed_at=timestamp, reputation_type=-7, @@ -268,11 +268,11 @@ def onAnswerAccept(answer, user, timestamp=None): answer.author.reputation = calculate_reputation( answer.author.reputation, - forum_settings.REP_GAIN_FOR_RECEIVING_ANSWER_ACCEPTANCE + askbot_settings.REP_GAIN_FOR_RECEIVING_ANSWER_ACCEPTANCE ) answer.author.save() reputation = Repute(user=answer.author, - positive=forum_settings.REP_GAIN_FOR_RECEIVING_ANSWER_ACCEPTANCE, + positive=askbot_settings.REP_GAIN_FOR_RECEIVING_ANSWER_ACCEPTANCE, question=answer.question, reputed_at=timestamp, reputation_type=2, @@ -280,10 +280,10 @@ def onAnswerAccept(answer, user, timestamp=None): reputation.save() user.reputation = calculate_reputation(user.reputation, - forum_settings.REP_GAIN_FOR_ACCEPTING_ANSWER) + askbot_settings.REP_GAIN_FOR_ACCEPTING_ANSWER) user.save() reputation = Repute(user=user, - positive=forum_settings.REP_GAIN_FOR_ACCEPTING_ANSWER, + positive=askbot_settings.REP_GAIN_FOR_ACCEPTING_ANSWER, question=answer.question, reputed_at=timestamp, reputation_type=3, @@ -302,13 +302,13 @@ def onAnswerAcceptCanceled(answer, user, timestamp=None): answer.author.reputation = calculate_reputation( answer.author.reputation, - forum_settings.REP_LOSS_FOR_RECEIVING_CANCELATION_OF_ANSWER_ACCEPTANCE + askbot_settings.REP_LOSS_FOR_RECEIVING_CANCELATION_OF_ANSWER_ACCEPTANCE ) answer.author.save() reputation = Repute( user=answer.author, negative=\ - forum_settings.REP_LOSS_FOR_RECEIVING_CANCELATION_OF_ANSWER_ACCEPTANCE, + askbot_settings.REP_LOSS_FOR_RECEIVING_CANCELATION_OF_ANSWER_ACCEPTANCE, question=answer.question, reputed_at=timestamp, reputation_type=-2, @@ -317,10 +317,10 @@ def onAnswerAcceptCanceled(answer, user, timestamp=None): reputation.save() user.reputation = calculate_reputation(user.reputation, - forum_settings.REP_LOSS_FOR_CANCELING_ANSWER_ACCEPTANCE) + askbot_settings.REP_LOSS_FOR_CANCELING_ANSWER_ACCEPTANCE) user.save() reputation = Repute(user=user, - negative=forum_settings.REP_LOSS_FOR_CANCELING_ANSWER_ACCEPTANCE, + negative=askbot_settings.REP_LOSS_FOR_CANCELING_ANSWER_ACCEPTANCE, question=answer.question, reputed_at=timestamp, reputation_type=-1, @@ -340,9 +340,9 @@ def onUpVoted(vote, post, user, timestamp=None): if not post.wiki: author = post.author todays_rep_gain = Repute.objects.get_reputation_by_upvoted_today(author) - if todays_rep_gain < forum_settings.MAX_REP_GAIN_PER_USER_PER_DAY: + if todays_rep_gain < askbot_settings.MAX_REP_GAIN_PER_USER_PER_DAY: author.reputation = calculate_reputation(author.reputation, - forum_settings.REP_GAIN_FOR_RECEIVING_UPVOTE) + askbot_settings.REP_GAIN_FOR_RECEIVING_UPVOTE) author.save() question = post @@ -350,7 +350,7 @@ def onUpVoted(vote, post, user, timestamp=None): question = post.question reputation = Repute(user=author, - positive=forum_settings.REP_GAIN_FOR_RECEIVING_UPVOTE, + positive=askbot_settings.REP_GAIN_FOR_RECEIVING_UPVOTE, question=question, reputed_at=timestamp, reputation_type=1, @@ -374,7 +374,7 @@ def onUpVotedCanceled(vote, post, user, timestamp=None): author.reputation = \ calculate_reputation( author.reputation, - forum_settings.REP_LOSS_FOR_RECEIVING_UPVOTE_CANCELATION + askbot_settings.REP_LOSS_FOR_RECEIVING_UPVOTE_CANCELATION ) author.save() @@ -384,7 +384,7 @@ def onUpVotedCanceled(vote, post, user, timestamp=None): reputation = Repute( user=author, - negative=forum_settings.REP_LOSS_FOR_RECEIVING_UPVOTE_CANCELATION, + negative=askbot_settings.REP_LOSS_FOR_RECEIVING_UPVOTE_CANCELATION, question=question, reputed_at=timestamp, reputation_type=-8, @@ -406,7 +406,7 @@ def onDownVoted(vote, post, user, timestamp=None): author = post.author author.reputation = calculate_reputation( author.reputation, - forum_settings.REP_LOSS_FOR_DOWNVOTING + askbot_settings.REP_LOSS_FOR_DOWNVOTING ) author.save() @@ -415,7 +415,7 @@ def onDownVoted(vote, post, user, timestamp=None): question = post.question reputation = Repute(user=author, - negative=forum_settings.REP_LOSS_FOR_DOWNVOTING, + negative=askbot_settings.REP_LOSS_FOR_DOWNVOTING, question=question, reputed_at=timestamp, reputation_type=-3, @@ -424,12 +424,12 @@ def onDownVoted(vote, post, user, timestamp=None): user.reputation = calculate_reputation( user.reputation, - forum_settings.REP_LOSS_FOR_RECEIVING_DOWNVOTE + askbot_settings.REP_LOSS_FOR_RECEIVING_DOWNVOTE ) user.save() reputation = Repute(user=user, - negative=forum_settings.REP_LOSS_FOR_RECEIVING_DOWNVOTE, + negative=askbot_settings.REP_LOSS_FOR_RECEIVING_DOWNVOTE, question=question, reputed_at=timestamp, reputation_type=-5, @@ -452,7 +452,7 @@ def onDownVotedCanceled(vote, post, user, timestamp=None): author = post.author author.reputation = calculate_reputation( author.reputation, - forum_settings.REP_GAIN_FOR_RECEIVING_DOWNVOTE_CANCELATION + askbot_settings.REP_GAIN_FOR_RECEIVING_DOWNVOTE_CANCELATION ) author.save() @@ -462,7 +462,7 @@ def onDownVotedCanceled(vote, post, user, timestamp=None): reputation = Repute(user=author, positive=\ - forum_settings.REP_GAIN_FOR_RECEIVING_DOWNVOTE_CANCELATION, + askbot_settings.REP_GAIN_FOR_RECEIVING_DOWNVOTE_CANCELATION, question=question, reputed_at=timestamp, reputation_type=4, @@ -471,11 +471,11 @@ def onDownVotedCanceled(vote, post, user, timestamp=None): reputation.save() user.reputation = calculate_reputation(user.reputation, - forum_settings.REP_GAIN_FOR_CANCELING_DOWNVOTE) + askbot_settings.REP_GAIN_FOR_CANCELING_DOWNVOTE) user.save() reputation = Repute(user=user, - positive=forum_settings.REP_GAIN_FOR_CANCELING_DOWNVOTE, + positive=askbot_settings.REP_GAIN_FOR_CANCELING_DOWNVOTE, question=question, reputed_at=timestamp, reputation_type=5, diff --git a/forum/bin/dos2unix.sh b/askbot/bin/dos2unix.sh index 2864426a..2864426a 100644 --- a/forum/bin/dos2unix.sh +++ b/askbot/bin/dos2unix.sh diff --git a/forum/bin/rmpyc b/askbot/bin/rmpyc index 014575f6..014575f6 100755 --- a/forum/bin/rmpyc +++ b/askbot/bin/rmpyc diff --git a/forum/conf/README b/askbot/conf/README index 4dd62329..4dd62329 100644 --- a/forum/conf/README +++ b/askbot/conf/README diff --git a/askbot/conf/__init__.py b/askbot/conf/__init__.py new file mode 100644 index 00000000..de52c601 --- /dev/null +++ b/askbot/conf/__init__.py @@ -0,0 +1,16 @@ +#import these to compile code and install values +import askbot.conf.minimum_reputation +import askbot.conf.vote_rules +import askbot.conf.reputation_changes +import askbot.conf.email +import askbot.conf.forum_data_rules +import askbot.conf.flatpages +import askbot.conf.site_settings +import askbot.conf.external_keys +import askbot.conf.skin_counter_settings +import askbot.conf.skin_general_settings +import askbot.conf.user_settings + +#import main settings object +from askbot.conf.settings_wrapper import settings + diff --git a/forum/conf/email.py b/askbot/conf/email.py index 2245cdce..defe86b8 100644 --- a/forum/conf/email.py +++ b/askbot/conf/email.py @@ -1,11 +1,11 @@ """ Email related settings """ -from forum.conf.settings_wrapper import settings -from forum.deps.livesettings import ConfigurationGroup, IntegerValue, BooleanValue -from forum.deps.livesettings import StringValue +from askbot.conf.settings_wrapper import settings +from askbot.deps.livesettings import ConfigurationGroup, IntegerValue, BooleanValue +from askbot.deps.livesettings import StringValue from django.utils.translation import ugettext as _ -from forum import const +from askbot import const EMAIL = ConfigurationGroup( 'EMAIL', @@ -32,7 +32,7 @@ settings.register( 'This option currently defines default frequency ' 'of emailed updates in the following five categories: ' 'questions asked by user, answered by user, individually ' - 'selected, entire forum (per person tag filter applies) ' + 'selected, entire askbot (per person tag filter applies) ' 'and posts mentioning the user and comment responses' ) ) diff --git a/forum/conf/external_keys.py b/askbot/conf/external_keys.py index 60111fdb..667a997f 100644 --- a/forum/conf/external_keys.py +++ b/askbot/conf/external_keys.py @@ -1,8 +1,8 @@ """ External service key settings """ -from forum.conf.settings_wrapper import settings -from forum.deps.livesettings import ConfigurationGroup, StringValue +from askbot.conf.settings_wrapper import settings +from askbot.deps.livesettings import ConfigurationGroup, StringValue from django.utils.translation import ugettext as _ from django.conf import settings as django_settings diff --git a/forum/conf/flatpages.py b/askbot/conf/flatpages.py index 14398431..f53694f3 100644 --- a/forum/conf/flatpages.py +++ b/askbot/conf/flatpages.py @@ -1,8 +1,8 @@ """ -Q&A forum flatpages (about, etc.) +Q&A askbot flatpages (about, etc.) """ -from forum.conf.settings_wrapper import settings -from forum.deps.livesettings import ConfigurationGroup, LongStringValue +from askbot.conf.settings_wrapper import settings +from askbot.deps.livesettings import ConfigurationGroup, LongStringValue from django.utils.translation import ugettext as _ FLATPAGES = ConfigurationGroup( @@ -14,7 +14,7 @@ settings.register( LongStringValue( FLATPAGES, 'FORUM_ABOUT', - description=_('Text the Q&A forum About page (html format)'), + description=_('Text the Q&A askbot About page (html format)'), help_text=\ _( 'Save, then <a href="http://validator.w3.org/">' @@ -27,7 +27,7 @@ settings.register( LongStringValue( FLATPAGES, 'FORUM_PRIVACY', - description=_('Text the Q&A forum Privacy Policy (html format)'), + description=_('Text the Q&A askbot Privacy Policy (html format)'), help_text=\ _( 'Save, then <a href="http://validator.w3.org/">' diff --git a/forum/conf/forum_data_rules.py b/askbot/conf/forum_data_rules.py index f9c4afda..58fedf5a 100644 --- a/forum/conf/forum_data_rules.py +++ b/askbot/conf/forum_data_rules.py @@ -1,15 +1,15 @@ """ -Settings for forum data display and entry +Settings for askbot data display and entry """ -from forum.conf.settings_wrapper import settings -from forum.deps.livesettings import ConfigurationGroup, BooleanValue, IntegerValue -from forum.deps.livesettings import StringValue +from askbot.conf.settings_wrapper import settings +from askbot.deps.livesettings import ConfigurationGroup, BooleanValue, IntegerValue +from askbot.deps.livesettings import StringValue from django.utils.translation import ugettext as _ -from forum import const +from askbot import const FORUM_DATA_RULES = ConfigurationGroup( 'FORUM_DATA_RULES', - _('Settings for forum data entry and display') + _('Settings for askbot data entry and display') ) settings.register( @@ -39,7 +39,7 @@ settings.register( ) ) -#todo: looks like there is a bug in forum.deps.livesettings +#todo: looks like there is a bug in askbot.deps.livesettings #that does not allow Integer values with defaults and choices settings.register( StringValue( diff --git a/forum/conf/minimum_reputation.py b/askbot/conf/minimum_reputation.py index ecb7f4ad..d7044911 100644 --- a/forum/conf/minimum_reputation.py +++ b/askbot/conf/minimum_reputation.py @@ -1,9 +1,9 @@ """ Settings for minimum reputation required for -a variety of actions on the askbot forum +a variety of actions on the askbot askbot """ -from forum.conf.settings_wrapper import settings -from forum.deps.livesettings import ConfigurationGroup, IntegerValue +from askbot.conf.settings_wrapper import settings +from askbot.deps.livesettings import ConfigurationGroup, IntegerValue from django.utils.translation import ugettext as _ MIN_REP = ConfigurationGroup( diff --git a/forum/conf/reputation_changes.py b/askbot/conf/reputation_changes.py index 2f0bca65..46214d57 100644 --- a/forum/conf/reputation_changes.py +++ b/askbot/conf/reputation_changes.py @@ -3,8 +3,8 @@ Settings for reputation changes that apply to user in response to various actions by the same users or others """ -from forum.conf.settings_wrapper import settings -from forum.deps.livesettings import ConfigurationGroup, IntegerValue +from askbot.conf.settings_wrapper import settings +from askbot.deps.livesettings import ConfigurationGroup, IntegerValue from django.utils.translation import ugettext as _ REP_CHANGES = ConfigurationGroup( diff --git a/forum/conf/settings_wrapper.py b/askbot/conf/settings_wrapper.py index 305c0fd3..2dbf9b74 100644 --- a/forum/conf/settings_wrapper.py +++ b/askbot/conf/settings_wrapper.py @@ -1,26 +1,26 @@ """ -Definition of a Singleton wrapper class for forum.deps.livesettings +Definition of a Singleton wrapper class for askbot.deps.livesettings with interface similar to django.conf.settings that is each setting has unique key and is accessible via dotted lookup. for example to lookup value of setting BLAH you would do -from forum.conf import settings as forum_settings +from askbot.conf import settings as askbot_settings -forum_settings.BLAH +askbot_settings.BLAH NOTE that at the moment there is distinction between settings -(django settings) and forum_settings (forum.deps.livesettings) +(django settings) and askbot_settings (forum.deps.livesettings) -the value will be taken from forum.deps.livesettings database or cache +the value will be taken from askbot.deps.livesettings database or cache note that during compilation phase database is not accessible for the most part, so actual values are reliably available only at run time -forum.deps.livesettings is a module developed for satchmo project +askbot.deps.livesettings is a module developed for satchmo project """ -from forum.deps.livesettings import SortedDotDict, config_register +from askbot.deps.livesettings import SortedDotDict, config_register class ConfigSettings(object): """A very simple Singleton wrapper for settings @@ -41,13 +41,13 @@ class ConfigSettings(object): """value lookup returns the actual value of setting not the object - this way only very minimal modifications will be required in code to convert an app - depending on django.conf.settings to forum.deps.livesettings + depending on django.conf.settings to askbot.deps.livesettings """ return getattr(self.__instance, key).value def register(self, value): """registers the setting - value must be a subclass of forum.deps.livesettings.Value + value must be a subclass of askbot.deps.livesettings.Value """ key = value.key group_key = value.group.key diff --git a/forum/conf/site_settings.py b/askbot/conf/site_settings.py index a4f864b8..8bd4590a 100644 --- a/forum/conf/site_settings.py +++ b/askbot/conf/site_settings.py @@ -2,15 +2,15 @@ Q&A website settings - title, desctiption, basic urls keywords """ -from forum.conf.settings_wrapper import settings -from forum.deps.livesettings import ConfigurationGroup, StringValue +from askbot.conf.settings_wrapper import settings +from askbot.deps.livesettings import ConfigurationGroup, StringValue from django.utils.translation import ugettext as _ from django.utils.html import escape -from forum import const +from askbot import const QA_SITE_SETTINGS = ConfigurationGroup( 'QA_SITE_SETTINGS', - _('Q&A forum website parameters and urls') + _('Q&A askbot website parameters and urls') ) settings.register( @@ -18,7 +18,7 @@ settings.register( QA_SITE_SETTINGS, 'APP_TITLE', default=u'ASKBOT: Open Source Q&A Forum', - description=_('Site title for the Q&A forum') + description=_('Site title for the Q&A askbot') ) ) @@ -26,7 +26,7 @@ settings.register( StringValue( QA_SITE_SETTINGS, 'APP_KEYWORDS', - default=u'ASKBOT,CNPROG,forum,community', + default=u'ASKBOT,CNPROG,askbot,community', description=_('Comma separated list of Q&A site keywords') ) ) @@ -44,7 +44,7 @@ settings.register( StringValue( QA_SITE_SETTINGS, 'APP_DESCRIPTION', - default='Open source question and answer forum written in Python and Django', + default='Open source question and answer askbot written in Python and Django', description=_('Site description for the search engines') ) ) @@ -55,7 +55,7 @@ settings.register( 'APP_SHORT_NAME', default=_('Askbot'), hidden=True, - description=_('Short name for your Q&A forum') + description=_('Short name for your Q&A askbot') ) ) @@ -64,7 +64,7 @@ settings.register( QA_SITE_SETTINGS, 'APP_URL', default='http://askbot.org', - description=_('Base URL for your Q&A forum, must start with http or https'), + description=_('Base URL for your Q&A askbot, must start with http or https'), ) ) diff --git a/forum/conf/skin_counter_settings.py b/askbot/conf/skin_counter_settings.py index e5998433..d7037693 100644 --- a/forum/conf/skin_counter_settings.py +++ b/askbot/conf/skin_counter_settings.py @@ -1,10 +1,10 @@ """ Skin settings to color view, vote and answer counters """ -from forum.conf.settings_wrapper import settings -from forum.deps.livesettings import ConfigurationGroup, IntegerValue, StringValue +from askbot.conf.settings_wrapper import settings +from askbot.deps.livesettings import ConfigurationGroup, IntegerValue, StringValue from django.utils.translation import ugettext as _ -from forum.deps.grapefruit import Color +from askbot.deps.grapefruit import Color SKIN_COUNTER_SETTINGS = ConfigurationGroup( 'SKIN_COUNTER_SETTINGS', diff --git a/forum/conf/skin_general_settings.py b/askbot/conf/skin_general_settings.py index 3c74a593..b96f3424 100644 --- a/forum/conf/skin_general_settings.py +++ b/askbot/conf/skin_general_settings.py @@ -1,10 +1,10 @@ """ General skin settings """ -from forum.conf.settings_wrapper import settings -from forum.deps.livesettings import ConfigurationGroup, StringValue, IntegerValue +from askbot.conf.settings_wrapper import settings +from askbot.deps.livesettings import ConfigurationGroup, StringValue, IntegerValue from django.utils.translation import ugettext as _ -from forum.skins.utils import get_skin_choices +from askbot.skins.utils import get_skin_choices GENERAL_SKIN_SETTINGS = ConfigurationGroup( 'GENERAL_SKIN_SETTINGS', diff --git a/forum/conf/user_settings.py b/askbot/conf/user_settings.py index a1c09d65..9add71b1 100644 --- a/forum/conf/user_settings.py +++ b/askbot/conf/user_settings.py @@ -1,8 +1,8 @@ """ User policy settings """ -from forum.conf.settings_wrapper import settings -from forum.deps.livesettings import ConfigurationGroup, BooleanValue, IntegerValue +from askbot.conf.settings_wrapper import settings +from askbot.deps.livesettings import ConfigurationGroup, BooleanValue, IntegerValue from django.utils.translation import ugettext as _ USER_SETTINGS = ConfigurationGroup( diff --git a/forum/conf/vote_rules.py b/askbot/conf/vote_rules.py index 04332bb7..a8b7d5f5 100644 --- a/forum/conf/vote_rules.py +++ b/askbot/conf/vote_rules.py @@ -4,8 +4,8 @@ and offensive flags. For example number of times a person can vote each day, etc. """ -from forum.conf.settings_wrapper import settings -from forum.deps.livesettings import ConfigurationGroup, IntegerValue +from askbot.conf.settings_wrapper import settings +from askbot.deps.livesettings import ConfigurationGroup, IntegerValue from django.utils.translation import ugettext as _ VOTE_RULES = ConfigurationGroup( diff --git a/forum/const/__init__.py b/askbot/const/__init__.py index d77ba6b7..e813a4d8 100644 --- a/forum/const/__init__.py +++ b/askbot/const/__init__.py @@ -208,4 +208,4 @@ TWITTER_STYLE_MENTION_TERMINATION_CHARS = '\n ;,.!?<>' COMMENT_HARD_MAX_LENGTH = 2048 #an exception import * because that file has only strings -from forum.const.message_keys import * +from askbot.const.message_keys import * diff --git a/forum/const/message_keys.py b/askbot/const/message_keys.py index f7f8e8e3..f7f8e8e3 100644 --- a/forum/const/message_keys.py +++ b/askbot/const/message_keys.py diff --git a/forum/context.py b/askbot/context.py index b590e9de..3d246dd2 100644 --- a/forum/context.py +++ b/askbot/context.py @@ -1,7 +1,7 @@ from django.conf import settings -from forum.conf import settings as forum_settings +from askbot.conf import settings as askbot_settings def application_settings(context): - my_settings = forum_settings.as_dict() + my_settings = askbot_settings.as_dict() my_settings['LANGUAGE_CODE'] = settings.LANGUAGE_CODE my_settings['FORUM_SCRIPT_ALIAS'] = settings.FORUM_SCRIPT_ALIAS #print '\n'.join(sorted(my_settings.keys())) diff --git a/forum/cron/README b/askbot/cron/README index d5573150..d5573150 100644 --- a/forum/cron/README +++ b/askbot/cron/README diff --git a/forum/cron/askbot_cron_job b/askbot/cron/askbot_cron_job index 71910f27..71910f27 100644 --- a/forum/cron/askbot_cron_job +++ b/askbot/cron/askbot_cron_job diff --git a/forum/deps/README b/askbot/deps/README index 2dfee4dd..2dfee4dd 100644 --- a/forum/deps/README +++ b/askbot/deps/README diff --git a/forum/deps/__init__.py b/askbot/deps/__init__.py index e69de29b..e69de29b 100644 --- a/forum/deps/__init__.py +++ b/askbot/deps/__init__.py diff --git a/forum/deps/django_authopenid/README b/askbot/deps/django_authopenid/README index 67c33d60..67c33d60 100644 --- a/forum/deps/django_authopenid/README +++ b/askbot/deps/django_authopenid/README diff --git a/forum/deps/django_authopenid/__init__.py b/askbot/deps/django_authopenid/__init__.py index ff040ed7..ff040ed7 100644 --- a/forum/deps/django_authopenid/__init__.py +++ b/askbot/deps/django_authopenid/__init__.py diff --git a/forum/deps/django_authopenid/admin.py b/askbot/deps/django_authopenid/admin.py index fa6fcbb9..38bb85c3 100644 --- a/forum/deps/django_authopenid/admin.py +++ b/askbot/deps/django_authopenid/admin.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- from django.contrib import admin -from forum.deps.django_authopenid.models import UserAssociation +from askbot.deps.django_authopenid.models import UserAssociation class UserAssociationAdmin(admin.ModelAdmin): diff --git a/forum/deps/django_authopenid/forms.py b/askbot/deps/django_authopenid/forms.py index dd66591e..8a997c2d 100644 --- a/forum/deps/django_authopenid/forms.py +++ b/askbot/deps/django_authopenid/forms.py @@ -35,12 +35,12 @@ from django.contrib.auth.models import User from django.contrib.auth import authenticate from django.utils.translation import ugettext as _ from django.conf import settings -from forum.conf import settings as forum_settings +from askbot.conf import settings as askbot_settings import types import re from django.utils.safestring import mark_safe from recaptcha_django import ReCaptchaField -from forum.utils.forms import NextUrlField, UserNameField, UserEmailField, SetPasswordForm +from askbot.utils.forms import NextUrlField, UserNameField, UserEmailField, SetPasswordForm EXTERNAL_LOGIN_APP = settings.LOAD_EXTERNAL_LOGIN_APP() # needed for some linux distributions like debian @@ -49,8 +49,8 @@ try: except ImportError: from yadis import xri -from forum.utils.forms import clean_next -from forum.deps.django_authopenid.models import ExternalLoginData +from askbot.utils.forms import clean_next +from askbot.deps.django_authopenid.models import ExternalLoginData __all__ = ['OpenidSigninForm', 'ClassicLoginForm', 'OpenidVerifyForm', 'OpenidRegisterForm', 'ClassicRegisterForm', 'ChangePasswordForm', @@ -132,7 +132,7 @@ class ClassicLoginForm(forms.Form): openid_logins = user.userassociation_set.all() if len(openid_logins) > 0: - msg1 = _('Account with this name already exists on the forum') + msg1 = _('Account with this name already exists on the askbot') msg2 = _('can\'t have two logins to the same account yet, sorry.') error_list.append(msg1) error_list.append(msg2) @@ -255,7 +255,7 @@ class ChangeEmailForm(forms.Form): def clean_email(self): """ check if email don't exist """ if 'email' in self.cleaned_data: - if forum_settings.EMAIL_UNIQUE == True: + if askbot_settings.EMAIL_UNIQUE == True: try: user = User.objects.get(email = self.cleaned_data['email']) if self.user and self.user == user: diff --git a/forum/deps/django_authopenid/middleware.py b/askbot/deps/django_authopenid/middleware.py index d3da56da..2101813c 100644 --- a/forum/deps/django_authopenid/middleware.py +++ b/askbot/deps/django_authopenid/middleware.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -from forum.deps.django_authopenid import mimeparse +from askbot.deps.django_authopenid import mimeparse from django.http import HttpResponseRedirect from django.core.urlresolvers import reverse from django.conf import settings diff --git a/forum/deps/django_authopenid/mimeparse.py b/askbot/deps/django_authopenid/mimeparse.py index ab02eab0..ab02eab0 100644 --- a/forum/deps/django_authopenid/mimeparse.py +++ b/askbot/deps/django_authopenid/mimeparse.py diff --git a/forum/deps/django_authopenid/models.py b/askbot/deps/django_authopenid/models.py index a12c2fec..a12c2fec 100644 --- a/forum/deps/django_authopenid/models.py +++ b/askbot/deps/django_authopenid/models.py diff --git a/forum/deps/django_authopenid/urls.py b/askbot/deps/django_authopenid/urls.py index 97032b28..b4293031 100644 --- a/forum/deps/django_authopenid/urls.py +++ b/askbot/deps/django_authopenid/urls.py @@ -16,7 +16,7 @@ from django.conf import settings #settings.EXTERNAL_LOGIN_APP.views.signup_view() #print settings.EXTERNAL_LOGIN_APP.__dict__.keys() -urlpatterns = patterns('forum.deps.django_authopenid.views', +urlpatterns = patterns('askbot.deps.django_authopenid.views', # yadis rdf url(r'^yadis.xrdf$', 'xrdf', name='yadis_xrdf'), # manage account registration @@ -45,11 +45,11 @@ urlpatterns = patterns('forum.deps.django_authopenid.views', #todo move these out of this file completely if settings.USE_EXTERNAL_LEGACY_LOGIN: - from forum.forms import NotARobotForm + from askbot.forms import NotARobotForm EXTERNAL_LOGIN_APP = settings.LOAD_EXTERNAL_LOGIN_APP() urlpatterns += patterns('', url('^%s$' % _('external-login/forgot-password/'),\ - 'forum.deps.django_authopenid.views.external_legacy_login_info', \ + 'askbot.deps.django_authopenid.views.external_legacy_login_info', \ name='user_external_legacy_login_issues'), url('^%s$' % _('external-login/signup/'), \ EXTERNAL_LOGIN_APP.views.signup,\ diff --git a/forum/deps/django_authopenid/util.py b/askbot/deps/django_authopenid/util.py index cd2c2e2c..7de38d79 100644 --- a/forum/deps/django_authopenid/util.py +++ b/askbot/deps/django_authopenid/util.py @@ -15,7 +15,7 @@ except: from yadis import xri import time, base64, hashlib, operator, logging -from forum.utils.forms import clean_next, get_next_url +from askbot.utils.forms import clean_next, get_next_url from models import Association, Nonce diff --git a/forum/deps/django_authopenid/views.py b/askbot/deps/django_authopenid/views.py index 52809f01..83b360d9 100644 --- a/forum/deps/django_authopenid/views.py +++ b/askbot/deps/django_authopenid/views.py @@ -35,7 +35,7 @@ from django.http import HttpResponseRedirect, get_host, Http404, \ from django.shortcuts import render_to_response from django.template import RequestContext, loader, Context from django.conf import settings -from forum.conf import settings as forum_settings +from askbot.conf import settings as askbot_settings from django.contrib.auth.models import User from django.contrib.auth.decorators import login_required from django.contrib.auth import authenticate @@ -61,21 +61,21 @@ except ImportError: import re import urllib -from forum.forms import SimpleEmailSubscribeForm -from forum.deps.django_authopenid.util import OpenID, DjangoOpenIDStore, from_openid_response -from forum.deps.django_authopenid.models import UserAssociation, UserPasswordQueue, ExternalLoginData -from forum.deps.django_authopenid.forms import OpenidSigninForm, ClassicLoginForm, OpenidRegisterForm, \ +from askbot.forms import SimpleEmailSubscribeForm +from askbot.deps.django_authopenid.util import OpenID, DjangoOpenIDStore, from_openid_response +from askbot.deps.django_authopenid.models import UserAssociation, UserPasswordQueue, ExternalLoginData +from askbot.deps.django_authopenid.forms import OpenidSigninForm, ClassicLoginForm, OpenidRegisterForm, \ OpenidVerifyForm, ClassicRegisterForm, ChangePasswordForm, ChangeEmailForm, \ ChangeopenidForm, DeleteForm, EmailPasswordForm import logging -from forum.utils.forms import get_next_url +from askbot.utils.forms import get_next_url EXTERNAL_LOGIN_APP = settings.LOAD_EXTERNAL_LOGIN_APP() -#todo: decouple from forum +#todo: decouple from askbot def login(request,user): from django.contrib.auth import login as _login - from forum.models import signals + from askbot.models import signals if settings.USE_EXTERNAL_LEGACY_LOGIN == True: EXTERNAL_LOGIN_APP.api.login(request,user) @@ -98,7 +98,7 @@ def login(request,user): #todo: move to auth app signals.user_logged_in.send(user=user,session_key=session_key,sender=None) -#todo: uncouple this from forum +#todo: uncouple this from askbot def logout(request): from django.contrib.auth import logout as _logout#for login I've added wrapper below - called login if 'search_state' in request.session: @@ -155,7 +155,7 @@ def complete(request, on_success=None, on_failure=None, return_to=None): on_success = on_success or default_on_success on_failure = on_failure or default_on_failure - logging.debug('in forum.deps.django_authopenid.complete') + logging.debug('in askbot.deps.django_authopenid.complete') consumer = Consumer(request.session, DjangoOpenIDStore()) # make sure params are encoded in utf8 @@ -343,7 +343,7 @@ def signin(request,newquestion=False,newanswer=False): logging.debug('request method was GET') question = None if newquestion == True: - from forum.models import AnonymousQuestion as AQ + from askbot.models import AnonymousQuestion as AQ session_key = request.session.session_key logging.debug('retrieving anonymously posted question associated with session %s' % session_key) qlist = AQ.objects.filter(session_key=session_key).order_by('-added_at') @@ -351,7 +351,7 @@ def signin(request,newquestion=False,newanswer=False): question = qlist[0] answer = None if newanswer == True: - from forum.models import AnonymousAnswer as AA + from askbot.models import AnonymousAnswer as AA session_key = request.session.session_key logging.debug('retrieving posted answer associated with session %s' % session_key) alist = AA.objects.filter(session_key=session_key).order_by('-added_at') @@ -366,7 +366,7 @@ def signin(request,newquestion=False,newanswer=False): 'form2': form_signin, 'msg': request.GET.get('msg',''), 'sendpw_url': reverse('user_sendpw'), - 'fb_api_key': forum_settings.FB_API_KEY, + 'fb_api_key': askbot_settings.FB_API_KEY, }, context_instance=RequestContext(request)) def complete_signin(request): @@ -509,7 +509,7 @@ def register(request): #if user just logged in and did not need to create the new account if user_ != None: - if forum_settings.EMAIL_VALIDATION == True: + if askbot_settings.EMAIL_VALIDATION == True: logging.debug('sending email validation') send_new_email_key(user_,nomessage=True) output = validation_email_sent(request) @@ -618,7 +618,7 @@ def signup(request): 'authopenid/confirm_email.txt' ) message_context = Context({ - 'signup_url': forum_settings.APP_URL + reverse('user_signin'), + 'signup_url': askbot_settings.APP_URL + reverse('user_signin'), 'username': username, 'password': password, }) @@ -751,7 +751,7 @@ def set_new_email(user, new_email, nomessage=False): user.email = new_email user.email_isvalid = False user.save() - if forum_settings.EMAIL_VALIDATION == True: + if askbot_settings.EMAIL_VALIDATION == True: send_new_email_key(user,nomessage=nomessage) def _send_email_key(user): @@ -762,7 +762,7 @@ def _send_email_key(user): message_template = loader.get_template('authopenid/email_validation.txt') import settings message_context = Context({ - 'validation_link': forum_settings.APP_URL + reverse('user_verifyemail', kwargs={'id':user.id,'key':user.email_key}) + 'validation_link': askbot_settings.APP_URL + reverse('user_verifyemail', kwargs={'id':user.id,'key':user.email_key}) }) message = message_template.render(message_context) send_mail(subject, message, settings.DEFAULT_FROM_EMAIL, [user.email]) @@ -789,7 +789,7 @@ def send_email_key(request): authopenid/changeemail.html template """ - if forum_settings.EMAIL_VALIDATION == True: + if askbot_settings.EMAIL_VALIDATION == True: if request.user.email_isvalid: return render_to_response('authopenid/changeemail.html', { 'email': request.user.email, @@ -819,7 +819,7 @@ def verifyemail(request,id=None,key=None): url = /email/verify/{{user.id}}/{{user.email_key}}/ """ logging.debug('') - if forum.settings.EMAIL_VALIDATION == True: + if askbot.settings.EMAIL_VALIDATION == True: user = User.objects.get(id=id) if user: if user.email_key == key: @@ -856,7 +856,7 @@ def changeemail(request, action='change'): if form.is_valid(): new_email = form.cleaned_data['email'] if new_email != user_.email: - if forum_settings.EMAIL_VALIDATION == True: + if askbot_settings.EMAIL_VALIDATION == True: action = 'validate' else: action = 'done_novalidate' @@ -1120,10 +1120,10 @@ def sendpw(request): subject = _("Request for new password") message_template = loader.get_template( 'authopenid/sendpw_email.txt') - key_link = forum_settings.APP_URL + reverse('user_confirmchangepw') + '?key=' + confirm_key + key_link = askbot_settings.APP_URL + reverse('user_confirmchangepw') + '?key=' + confirm_key logging.debug('emailing new password for %s' % form.user_cache.username) message_context = Context({ - 'site_url': forum_settings.APP_URL + reverse('index'), + 'site_url': askbot_settings.APP_URL + reverse('index'), 'key_link': key_link, 'username': form.user_cache.username, 'password': new_pw, diff --git a/forum/deps/grapefruit.py b/askbot/deps/grapefruit.py index ca684745..ca684745 100644 --- a/forum/deps/grapefruit.py +++ b/askbot/deps/grapefruit.py diff --git a/forum/deps/livesettings/README b/askbot/deps/livesettings/README index 6fe70cc5..6fe70cc5 100644 --- a/forum/deps/livesettings/README +++ b/askbot/deps/livesettings/README diff --git a/forum/deps/livesettings/__init__.py b/askbot/deps/livesettings/__init__.py index 49aaacc9..49aaacc9 100644 --- a/forum/deps/livesettings/__init__.py +++ b/askbot/deps/livesettings/__init__.py diff --git a/forum/deps/livesettings/forms.py b/askbot/deps/livesettings/forms.py index f8d40895..ed4a7e5a 100644 --- a/forum/deps/livesettings/forms.py +++ b/askbot/deps/livesettings/forms.py @@ -1,5 +1,5 @@ from django import forms -from forum.deps.livesettings import * +from askbot.deps.livesettings import * import logging log = logging.getLogger('configuration') diff --git a/forum/deps/livesettings/functions.py b/askbot/deps/livesettings/functions.py index 4c2073ea..99e5cc87 100644 --- a/forum/deps/livesettings/functions.py +++ b/askbot/deps/livesettings/functions.py @@ -1,7 +1,7 @@ from django.utils.translation import ugettext -from forum.deps.livesettings import values -from forum.deps.livesettings.models import SettingNotSet -from forum.deps.livesettings.utils import is_string_like +from askbot.deps.livesettings import values +from askbot.deps.livesettings.models import SettingNotSet +from askbot.deps.livesettings.utils import is_string_like import logging diff --git a/forum/deps/livesettings/locale/de/LC_MESSAGES/django.mo b/askbot/deps/livesettings/locale/de/LC_MESSAGES/django.mo Binary files differindex e176bc53..e176bc53 100644 --- a/forum/deps/livesettings/locale/de/LC_MESSAGES/django.mo +++ b/askbot/deps/livesettings/locale/de/LC_MESSAGES/django.mo diff --git a/forum/deps/livesettings/locale/de/LC_MESSAGES/django.po b/askbot/deps/livesettings/locale/de/LC_MESSAGES/django.po index 1cef701b..1cef701b 100644 --- a/forum/deps/livesettings/locale/de/LC_MESSAGES/django.po +++ b/askbot/deps/livesettings/locale/de/LC_MESSAGES/django.po diff --git a/forum/deps/livesettings/locale/en/LC_MESSAGES/django.mo b/askbot/deps/livesettings/locale/en/LC_MESSAGES/django.mo Binary files differindex c2bc0b94..c2bc0b94 100644 --- a/forum/deps/livesettings/locale/en/LC_MESSAGES/django.mo +++ b/askbot/deps/livesettings/locale/en/LC_MESSAGES/django.mo diff --git a/forum/deps/livesettings/locale/en/LC_MESSAGES/django.po b/askbot/deps/livesettings/locale/en/LC_MESSAGES/django.po index 45eb23a5..45eb23a5 100644 --- a/forum/deps/livesettings/locale/en/LC_MESSAGES/django.po +++ b/askbot/deps/livesettings/locale/en/LC_MESSAGES/django.po diff --git a/forum/deps/livesettings/locale/es/LC_MESSAGES/django.po b/askbot/deps/livesettings/locale/es/LC_MESSAGES/django.po index e69de29b..e69de29b 100644 --- a/forum/deps/livesettings/locale/es/LC_MESSAGES/django.po +++ b/askbot/deps/livesettings/locale/es/LC_MESSAGES/django.po diff --git a/forum/deps/livesettings/locale/fr/LC_MESSAGES/django.mo b/askbot/deps/livesettings/locale/fr/LC_MESSAGES/django.mo Binary files differindex dd872edd..dd872edd 100644 --- a/forum/deps/livesettings/locale/fr/LC_MESSAGES/django.mo +++ b/askbot/deps/livesettings/locale/fr/LC_MESSAGES/django.mo diff --git a/forum/deps/livesettings/locale/fr/LC_MESSAGES/django.po b/askbot/deps/livesettings/locale/fr/LC_MESSAGES/django.po index 90475585..90475585 100644 --- a/forum/deps/livesettings/locale/fr/LC_MESSAGES/django.po +++ b/askbot/deps/livesettings/locale/fr/LC_MESSAGES/django.po diff --git a/forum/deps/livesettings/locale/he/LC_MESSAGES/django.mo b/askbot/deps/livesettings/locale/he/LC_MESSAGES/django.mo Binary files differindex 04270a04..04270a04 100644 --- a/forum/deps/livesettings/locale/he/LC_MESSAGES/django.mo +++ b/askbot/deps/livesettings/locale/he/LC_MESSAGES/django.mo diff --git a/forum/deps/livesettings/locale/he/LC_MESSAGES/django.po b/askbot/deps/livesettings/locale/he/LC_MESSAGES/django.po index 362f5612..362f5612 100644 --- a/forum/deps/livesettings/locale/he/LC_MESSAGES/django.po +++ b/askbot/deps/livesettings/locale/he/LC_MESSAGES/django.po diff --git a/forum/deps/livesettings/locale/it/LC_MESSAGES/django.mo b/askbot/deps/livesettings/locale/it/LC_MESSAGES/django.mo Binary files differindex 05c50952..05c50952 100644 --- a/forum/deps/livesettings/locale/it/LC_MESSAGES/django.mo +++ b/askbot/deps/livesettings/locale/it/LC_MESSAGES/django.mo diff --git a/forum/deps/livesettings/locale/it/LC_MESSAGES/django.po b/askbot/deps/livesettings/locale/it/LC_MESSAGES/django.po index 66401866..66401866 100644 --- a/forum/deps/livesettings/locale/it/LC_MESSAGES/django.po +++ b/askbot/deps/livesettings/locale/it/LC_MESSAGES/django.po diff --git a/forum/deps/livesettings/locale/ko/LC_MESSAGES/django.mo b/askbot/deps/livesettings/locale/ko/LC_MESSAGES/django.mo Binary files differindex e0738605..e0738605 100644 --- a/forum/deps/livesettings/locale/ko/LC_MESSAGES/django.mo +++ b/askbot/deps/livesettings/locale/ko/LC_MESSAGES/django.mo diff --git a/forum/deps/livesettings/locale/ko/LC_MESSAGES/django.po b/askbot/deps/livesettings/locale/ko/LC_MESSAGES/django.po index 0dbd2d4d..0dbd2d4d 100644 --- a/forum/deps/livesettings/locale/ko/LC_MESSAGES/django.po +++ b/askbot/deps/livesettings/locale/ko/LC_MESSAGES/django.po diff --git a/forum/deps/livesettings/locale/pl/LC_MESSAGES/django.mo b/askbot/deps/livesettings/locale/pl/LC_MESSAGES/django.mo Binary files differindex f45e49ed..f45e49ed 100644 --- a/forum/deps/livesettings/locale/pl/LC_MESSAGES/django.mo +++ b/askbot/deps/livesettings/locale/pl/LC_MESSAGES/django.mo diff --git a/forum/deps/livesettings/locale/pl/LC_MESSAGES/django.po b/askbot/deps/livesettings/locale/pl/LC_MESSAGES/django.po index 1e7b4199..1e7b4199 100644 --- a/forum/deps/livesettings/locale/pl/LC_MESSAGES/django.po +++ b/askbot/deps/livesettings/locale/pl/LC_MESSAGES/django.po diff --git a/forum/deps/livesettings/locale/pt_BR/LC_MESSAGES/django.mo b/askbot/deps/livesettings/locale/pt_BR/LC_MESSAGES/django.mo Binary files differindex a8bfb8b2..a8bfb8b2 100644 --- a/forum/deps/livesettings/locale/pt_BR/LC_MESSAGES/django.mo +++ b/askbot/deps/livesettings/locale/pt_BR/LC_MESSAGES/django.mo diff --git a/forum/deps/livesettings/locale/pt_BR/LC_MESSAGES/django.po b/askbot/deps/livesettings/locale/pt_BR/LC_MESSAGES/django.po index 72d49df7..72d49df7 100644 --- a/forum/deps/livesettings/locale/pt_BR/LC_MESSAGES/django.po +++ b/askbot/deps/livesettings/locale/pt_BR/LC_MESSAGES/django.po diff --git a/forum/deps/livesettings/locale/ru/LC_MESSAGES/django.mo b/askbot/deps/livesettings/locale/ru/LC_MESSAGES/django.mo Binary files differindex 42e6074a..42e6074a 100644 --- a/forum/deps/livesettings/locale/ru/LC_MESSAGES/django.mo +++ b/askbot/deps/livesettings/locale/ru/LC_MESSAGES/django.mo diff --git a/forum/deps/livesettings/locale/ru/LC_MESSAGES/django.po b/askbot/deps/livesettings/locale/ru/LC_MESSAGES/django.po index a0db054b..a0db054b 100644 --- a/forum/deps/livesettings/locale/ru/LC_MESSAGES/django.po +++ b/askbot/deps/livesettings/locale/ru/LC_MESSAGES/django.po diff --git a/forum/deps/livesettings/locale/sv/LC_MESSAGES/django.mo b/askbot/deps/livesettings/locale/sv/LC_MESSAGES/django.mo Binary files differindex caed0ab9..caed0ab9 100644 --- a/forum/deps/livesettings/locale/sv/LC_MESSAGES/django.mo +++ b/askbot/deps/livesettings/locale/sv/LC_MESSAGES/django.mo diff --git a/forum/deps/livesettings/locale/sv/LC_MESSAGES/django.po b/askbot/deps/livesettings/locale/sv/LC_MESSAGES/django.po index 6b096f6b..6b096f6b 100644 --- a/forum/deps/livesettings/locale/sv/LC_MESSAGES/django.po +++ b/askbot/deps/livesettings/locale/sv/LC_MESSAGES/django.po diff --git a/forum/deps/livesettings/locale/tr/LC_MESSAGES/django.mo b/askbot/deps/livesettings/locale/tr/LC_MESSAGES/django.mo Binary files differindex d56ad423..d56ad423 100644 --- a/forum/deps/livesettings/locale/tr/LC_MESSAGES/django.mo +++ b/askbot/deps/livesettings/locale/tr/LC_MESSAGES/django.mo diff --git a/forum/deps/livesettings/locale/tr/LC_MESSAGES/django.po b/askbot/deps/livesettings/locale/tr/LC_MESSAGES/django.po index bb2a1506..bb2a1506 100644 --- a/forum/deps/livesettings/locale/tr/LC_MESSAGES/django.po +++ b/askbot/deps/livesettings/locale/tr/LC_MESSAGES/django.po diff --git a/forum/deps/livesettings/models.py b/askbot/deps/livesettings/models.py index 5d27033c..1a57dfc5 100644 --- a/forum/deps/livesettings/models.py +++ b/askbot/deps/livesettings/models.py @@ -5,7 +5,7 @@ from django.db.models import loading from django.utils.translation import ugettext_lazy as _ from keyedcache import cache_key, cache_get, cache_set, NotCachedError from keyedcache.models import CachedObjectMixin -from forum.deps.livesettings.overrides import get_overrides +from askbot.deps.livesettings.overrides import get_overrides import logging log = logging.getLogger('configuration.models') diff --git a/forum/deps/livesettings/overrides.py b/askbot/deps/livesettings/overrides.py index 58c1079b..3d8404ef 100644 --- a/forum/deps/livesettings/overrides.py +++ b/askbot/deps/livesettings/overrides.py @@ -1,4 +1,4 @@ -"""Allows forum.deps.livesettings to be "locked down" and no longer use the settings page or the database +"""Allows askbot.deps.livesettings to be "locked down" and no longer use the settings page or the database for settings retrieval. """ @@ -20,7 +20,7 @@ def _safe_get_siteid(site): return siteid def get_overrides(siteid=-1): - """Check to see if forum.deps.livesettings is allowed to use the database. If not, then + """Check to see if askbot.deps.livesettings is allowed to use the database. If not, then it will only use the values in the dictionary, LIVESETTINGS_OPTIONS[SITEID]['SETTINGS'], this allows 'lockdown' of a live site. diff --git a/forum/deps/livesettings/signals.py b/askbot/deps/livesettings/signals.py index ddea31f5..ddea31f5 100644 --- a/forum/deps/livesettings/signals.py +++ b/askbot/deps/livesettings/signals.py diff --git a/forum/deps/livesettings/templates/livesettings/_admin_site_views.html b/askbot/deps/livesettings/templates/livesettings/_admin_site_views.html index 17d08f58..17d08f58 100644 --- a/forum/deps/livesettings/templates/livesettings/_admin_site_views.html +++ b/askbot/deps/livesettings/templates/livesettings/_admin_site_views.html diff --git a/forum/deps/livesettings/templates/livesettings/group_settings.html b/askbot/deps/livesettings/templates/livesettings/group_settings.html index e56f764f..e56f764f 100644 --- a/forum/deps/livesettings/templates/livesettings/group_settings.html +++ b/askbot/deps/livesettings/templates/livesettings/group_settings.html diff --git a/forum/deps/livesettings/templates/livesettings/site_settings.html b/askbot/deps/livesettings/templates/livesettings/site_settings.html index 35333778..35333778 100644 --- a/forum/deps/livesettings/templates/livesettings/site_settings.html +++ b/askbot/deps/livesettings/templates/livesettings/site_settings.html diff --git a/forum/deps/livesettings/templates/livesettings/text.txt b/askbot/deps/livesettings/templates/livesettings/text.txt index d57a57e3..d57a57e3 100644 --- a/forum/deps/livesettings/templates/livesettings/text.txt +++ b/askbot/deps/livesettings/templates/livesettings/text.txt diff --git a/forum/deps/livesettings/templatetags/__init__.py b/askbot/deps/livesettings/templatetags/__init__.py index e69de29b..e69de29b 100644 --- a/forum/deps/livesettings/templatetags/__init__.py +++ b/askbot/deps/livesettings/templatetags/__init__.py diff --git a/forum/deps/livesettings/templatetags/config_tags.py b/askbot/deps/livesettings/templatetags/config_tags.py index 140014ba..ab5cf6b4 100644 --- a/forum/deps/livesettings/templatetags/config_tags.py +++ b/askbot/deps/livesettings/templatetags/config_tags.py @@ -1,8 +1,8 @@ from django import template from django.contrib.sites.models import Site from django.core import urlresolvers -from forum.deps.livesettings import config_value -from forum.deps.livesettings.utils import url_join +from askbot.deps.livesettings import config_value +from askbot.deps.livesettings.utils import url_join import logging log = logging.getLogger('configuration.config_tags') @@ -88,4 +88,4 @@ def admin_site_views(view): return ret -register.inclusion_tag('forum.deps.livesettings/_admin_site_views.html')(admin_site_views) +register.inclusion_tag('askbot.deps.livesettings/_admin_site_views.html')(admin_site_views) diff --git a/forum/deps/livesettings/tests.py b/askbot/deps/livesettings/tests.py index f604af99..aab61f4a 100644 --- a/forum/deps/livesettings/tests.py +++ b/askbot/deps/livesettings/tests.py @@ -1,7 +1,7 @@ from django.conf import settings as djangosettings from django.test import TestCase import keyedcache -from forum.deps.livesettings import * +from askbot.deps.livesettings import * import logging log = logging.getLogger('test'); diff --git a/forum/deps/livesettings/urls.py b/askbot/deps/livesettings/urls.py index 4d2bf0f2..b608bf1f 100644 --- a/forum/deps/livesettings/urls.py +++ b/askbot/deps/livesettings/urls.py @@ -1,6 +1,6 @@ from django.conf.urls.defaults import * -urlpatterns = patterns('forum.deps.livesettings.views', +urlpatterns = patterns('askbot.deps.livesettings.views', url(r'^$', 'site_settings', {}, name='site_settings'), url(r'^export/$', 'export_as_python', {}, name='settings_export'), url(r'^(?P<group>[^/]+)/$', 'group_settings', name='group_settings'), diff --git a/forum/deps/livesettings/utils.py b/askbot/deps/livesettings/utils.py index c0e0e293..c0e0e293 100644 --- a/forum/deps/livesettings/utils.py +++ b/askbot/deps/livesettings/utils.py diff --git a/forum/deps/livesettings/values.py b/askbot/deps/livesettings/values.py index f00fdc97..6bde7f5a 100644 --- a/forum/deps/livesettings/values.py +++ b/askbot/deps/livesettings/values.py @@ -9,9 +9,9 @@ from django.utils import simplejson from django.utils.datastructures import SortedDict from django.utils.encoding import smart_str from django.utils.translation import gettext, ugettext_lazy as _ -from forum.deps.livesettings.models import find_setting, LongSetting, Setting, SettingNotSet -from forum.deps.livesettings.overrides import get_overrides -from forum.deps.livesettings.utils import load_module, is_string_like, is_list_or_tuple +from askbot.deps.livesettings.models import find_setting, LongSetting, Setting, SettingNotSet +from askbot.deps.livesettings.overrides import get_overrides +from askbot.deps.livesettings.utils import load_module, is_string_like, is_list_or_tuple import datetime import logging import signals @@ -344,7 +344,7 @@ class Value(object): return True else: - log.debug('not updating setting %s.%s - forum.deps.livesettings db is disabled',self.group.key, self.key) + log.debug('not updating setting %s.%s - askbot.deps.livesettings db is disabled',self.group.key, self.key) return False diff --git a/forum/deps/livesettings/views.py b/askbot/deps/livesettings/views.py index ae78ca3f..000a7bbd 100644 --- a/forum/deps/livesettings/views.py +++ b/askbot/deps/livesettings/views.py @@ -4,13 +4,13 @@ from django.shortcuts import render_to_response from django.template import RequestContext from django.contrib.admin.views.decorators import staff_member_required from django.views.decorators.cache import never_cache -from forum.deps.livesettings import ConfigurationSettings, forms -from forum.deps.livesettings.overrides import get_overrides +from askbot.deps.livesettings import ConfigurationSettings, forms +from askbot.deps.livesettings.overrides import get_overrides import logging log = logging.getLogger('configuration.views') -def group_settings(request, group, template='forum.deps.livesettings/group_settings.html'): +def group_settings(request, group, template='askbot.deps.livesettings/group_settings.html'): # Determine what set of settings this editor is used for use_db, overrides = get_overrides(); @@ -62,12 +62,12 @@ def site_settings(request): mgr = ConfigurationSettings() default_group= mgr.groups()[0].key return HttpResponseRedirect(reverse('group_settings', args=[default_group])) - #return group_settings(request, group=None, template='forum.deps.livesettings/site_settings.html') + #return group_settings(request, group=None, template='askbot.deps.livesettings/site_settings.html') def export_as_python(request): """Export site settings as a dictionary of dictionaries""" - from forum.deps.livesettings.models import Setting, LongSetting + from askbot.deps.livesettings.models import Setting, LongSetting import pprint work = {} @@ -88,6 +88,6 @@ def export_as_python(request): pp = pprint.PrettyPrinter(indent=4) pretty = pp.pformat(work) - return render_to_response('forum.deps.livesettings/text.txt', { 'text' : pretty }, mimetype='text/plain') + return render_to_response('askbot.deps.livesettings/text.txt', { 'text' : pretty }, mimetype='text/plain') export_as_python = never_cache(staff_member_required(export_as_python)) diff --git a/forum/doc/HOW_TO_DEBUG b/askbot/doc/HOW_TO_DEBUG index fbbdb1f7..fbbdb1f7 100644 --- a/forum/doc/HOW_TO_DEBUG +++ b/askbot/doc/HOW_TO_DEBUG diff --git a/forum/doc/INSTALL b/askbot/doc/INSTALL index 55b8614d..55b8614d 100644 --- a/forum/doc/INSTALL +++ b/askbot/doc/INSTALL diff --git a/forum/doc/INSTALL.pip b/askbot/doc/INSTALL.pip index 2f817ff8..2f817ff8 100644 --- a/forum/doc/INSTALL.pip +++ b/askbot/doc/INSTALL.pip diff --git a/forum/doc/INSTALL.webfaction b/askbot/doc/INSTALL.webfaction index a449ffe6..a449ffe6 100644 --- a/forum/doc/INSTALL.webfaction +++ b/askbot/doc/INSTALL.webfaction diff --git a/forum/doc/ROADMAP.rst b/askbot/doc/ROADMAP.rst index c79e0ae4..c79e0ae4 100644 --- a/forum/doc/ROADMAP.rst +++ b/askbot/doc/ROADMAP.rst diff --git a/forum/doc/TODO.rst b/askbot/doc/TODO.rst index b89013b0..b89013b0 100644 --- a/forum/doc/TODO.rst +++ b/askbot/doc/TODO.rst diff --git a/forum/doc/UPGRADE b/askbot/doc/UPGRADE index 538b75a0..538b75a0 100644 --- a/forum/doc/UPGRADE +++ b/askbot/doc/UPGRADE diff --git a/forum/doc/WISH_LIST b/askbot/doc/WISH_LIST index 2b53662c..2b53662c 100644 --- a/forum/doc/WISH_LIST +++ b/askbot/doc/WISH_LIST diff --git a/forum/doc/askbot-requirements.txt b/askbot/doc/askbot-requirements.txt index 66a37fbe..66a37fbe 100644 --- a/forum/doc/askbot-requirements.txt +++ b/askbot/doc/askbot-requirements.txt diff --git a/forum/doc/scratch b/askbot/doc/scratch index 948055fa..948055fa 100644 --- a/forum/doc/scratch +++ b/askbot/doc/scratch diff --git a/forum/feed.py b/askbot/feed.py index 779049c7..a204b98d 100644 --- a/forum/feed.py +++ b/askbot/feed.py @@ -14,16 +14,16 @@ #encoding:utf-8 from django.contrib.syndication.feeds import Feed, FeedDoesNotExist from django.utils.translation import ugettext as _ -from forum.models import Question -from forum.conf import settings as forum_settings +from askbot.models import Question +from askbot.conf import settings as askbot_settings class RssLastestQuestionsFeed(Feed): """rss feed class for the latest questions """ - title = forum_settings.APP_TITLE + _(' - ')+ _('latest questions') - link = forum_settings.APP_URL - description = forum_settings.APP_DESCRIPTION + title = askbot_settings.APP_TITLE + _(' - ')+ _('latest questions') + link = askbot_settings.APP_URL + description = askbot_settings.APP_DESCRIPTION #ttl = 10 - copyright = forum_settings.APP_COPYRIGHT + copyright = askbot_settings.APP_COPYRIGHT def item_link(self, item): """get full url to the item diff --git a/forum/forms.py b/askbot/forms.py index 38f8f2fd..dabb80b6 100644 --- a/forum/forms.py +++ b/askbot/forms.py @@ -1,14 +1,14 @@ import re from django import forms -from forum import models -from forum import const +from askbot import models +from askbot import const from django.utils.translation import ugettext as _ from django.utils.translation import ungettext from django.contrib.auth.models import User from django.contrib.contenttypes.models import ContentType -from forum.utils.forms import NextUrlField, UserNameField +from askbot.utils.forms import NextUrlField, UserNameField from recaptcha_django import ReCaptchaField -from forum.conf import settings as forum_settings +from askbot.conf import settings as askbot_settings import logging @@ -65,8 +65,8 @@ class TagNamesField(forms.CharField): tag_strings = split_re.split(data) out_tag_list = [] tag_count = len(tag_strings) - if tag_count > forum_settings.MAX_TAGS_PER_POST: - max_tags = forum_settings.MAX_TAGS_PER_POST + if tag_count > askbot_settings.MAX_TAGS_PER_POST: + max_tags = askbot_settings.MAX_TAGS_PER_POST msg = ungettext( 'please use %(tag_count)d tag or less', 'please use %(tag_count)d tags or less', @@ -74,7 +74,7 @@ class TagNamesField(forms.CharField): raise forms.ValidationError(msg) for tag in tag_strings: tag_length = len(tag) - if tag_length > forum_settings.MAX_TAG_LENGTH: + if tag_length > askbot_settings.MAX_TAG_LENGTH: #singular form is odd in english, but required for pluralization #in other languages msg = ungettext('each tag must be shorter than %(max_chars)d character',#odd but added for completeness @@ -98,7 +98,7 @@ class WikiField(forms.BooleanField): self.label = _('community wiki') self.help_text = _('if you choose community wiki option, the question and answer do not generate points and name of author will not be shown') def clean(self, value): - return value and forum_settings.WIKI_ON + return value and askbot_settings.WIKI_ON class EmailNotifyField(forms.BooleanField): def __init__(self, *args, **kwargs): @@ -232,7 +232,7 @@ class AnswerForm(forms.Form): def __init__(self, question, user, *args, **kwargs): super(AnswerForm, self).__init__(*args, **kwargs) self.fields['email_notify'].widget.attrs['id'] = 'question-subscribe-updates' - if question.wiki and forum_settings.WIKI_ON: + if question.wiki and askbot_settings.WIKI_ON: self.fields['wiki'].initial = True if user.is_authenticated(): if user in question.followed_by.all(): @@ -293,7 +293,7 @@ class EditAnswerForm(forms.Form): class EditUserForm(forms.Form): email = forms.EmailField(label=u'Email', help_text=_('this email does not have to be linked to gravatar'), required=True, max_length=255, widget=forms.TextInput(attrs={'size' : 35})) - if forum_settings.EDITABLE_SCREEN_NAME: + if askbot_settings.EDITABLE_SCREEN_NAME: username = UserNameField(label=_('Screen name')) realname = forms.CharField(label=_('Real name'), required=False, max_length=255, widget=forms.TextInput(attrs={'size' : 35})) website = forms.URLField(label=_('Website'), required=False, max_length=255, widget=forms.TextInput(attrs={'size' : 35})) @@ -304,7 +304,7 @@ class EditUserForm(forms.Form): def __init__(self, user, *args, **kwargs): super(EditUserForm, self).__init__(*args, **kwargs) logging.debug('initializing the form') - if forum_settings.EDITABLE_SCREEN_NAME: + if askbot_settings.EDITABLE_SCREEN_NAME: self.fields['username'].initial = user.username self.fields['username'].user_instance = user self.fields['email'].initial = user.email @@ -323,7 +323,7 @@ class EditUserForm(forms.Form): """For security reason one unique email in database""" if self.user.email != self.cleaned_data['email']: #todo dry it, there is a similar thing in openidauth - if forum_settings.EMAIL_UNIQUE == True: + if askbot_settings.EMAIL_UNIQUE == True: if 'email' in self.cleaned_data: try: User.objects.get(email = self.cleaned_data['email']) @@ -355,7 +355,7 @@ class TagFilterSelectionForm(forms.ModelForm): class EmailFeedSettingField(forms.ChoiceField): def __init__(self, *arg, **kwarg): kwarg['choices'] = const.NOTIFICATION_DELIVERY_SCHEDULE_CHOICES - kwarg['initial'] = forum_settings.DEFAULT_NOTIFICATION_DELIVERY_SCHEDULE + kwarg['initial'] = askbot_settings.DEFAULT_NOTIFICATION_DELIVERY_SCHEDULE kwarg['widget'] = forms.RadioSelect super(EmailFeedSettingField, self).__init__(*arg, **kwarg) @@ -385,7 +385,7 @@ class EditUserEmailFeedsForm(forms.Form): label=_('Individually selected') ) all_questions = EmailFeedSettingField( - label=_('Entire forum (tag filtered)'), + label=_('Entire askbot (tag filtered)'), ) mentions_and_comments = EmailFeedSettingField( diff --git a/forum/importers/__init__.py b/askbot/importers/__init__.py index e69de29b..e69de29b 100644 --- a/forum/importers/__init__.py +++ b/askbot/importers/__init__.py diff --git a/forum/importers/stackexchange/ANOMALIES b/askbot/importers/stackexchange/ANOMALIES index 05a7dbdb..05a7dbdb 100644 --- a/forum/importers/stackexchange/ANOMALIES +++ b/askbot/importers/stackexchange/ANOMALIES diff --git a/forum/importers/stackexchange/README b/askbot/importers/stackexchange/README index 598a8555..598a8555 100644 --- a/forum/importers/stackexchange/README +++ b/askbot/importers/stackexchange/README diff --git a/forum/importers/stackexchange/__init__.py b/askbot/importers/stackexchange/__init__.py index e69de29b..e69de29b 100644 --- a/forum/importers/stackexchange/__init__.py +++ b/askbot/importers/stackexchange/__init__.py diff --git a/forum/importers/stackexchange/management/__init__.py b/askbot/importers/stackexchange/management/__init__.py index e69de29b..e69de29b 100644 --- a/forum/importers/stackexchange/management/__init__.py +++ b/askbot/importers/stackexchange/management/__init__.py diff --git a/forum/importers/stackexchange/management/commands/__init__.py b/askbot/importers/stackexchange/management/commands/__init__.py index e69de29b..e69de29b 100644 --- a/forum/importers/stackexchange/management/commands/__init__.py +++ b/askbot/importers/stackexchange/management/commands/__init__.py diff --git a/forum/importers/stackexchange/management/commands/load_stackexchange.py b/askbot/importers/stackexchange/management/commands/load_stackexchange.py index 2c73c5a6..031a2d79 100644 --- a/forum/importers/stackexchange/management/commands/load_stackexchange.py +++ b/askbot/importers/stackexchange/management/commands/load_stackexchange.py @@ -4,14 +4,14 @@ from django.template.defaultfilters import slugify #todo: adopt unicode-aware sl import os import re import sys -import forum.importers.stackexchange.parse_models as se_parser +import askbot.importers.stackexchange.parse_models as se_parser from xml.etree import ElementTree as et from django.db import models -import forum.models as askbot -import forum.deps.django_authopenid.models as askbot_openid -import forum.importers.stackexchange.models as se -from forum.forms import EditUserEmailFeedsForm -from forum.conf import settings as forum_settings +import askbot.models as askbot +import askbot.deps.django_authopenid.models as askbot_openid +import askbot.importers.stackexchange.models as se +from askbot.forms import EditUserEmailFeedsForm +from askbot.conf import settings as askbot_settings from django.contrib.auth.models import Message as DjangoMessage from django.utils.translation import ugettext as _ #from markdown2 import Markdown @@ -209,7 +209,7 @@ class X(object):# @classmethod def get_email(cls, email):#todo: fix fringe case - user did not give email! if email is None: - return forum_settings.ANONYMOUS_USER_EMAIL + return askbot_settings.ANONYMOUS_USER_EMAIL else: assert(email != '') return email diff --git a/forum/importers/stackexchange/models.py b/askbot/importers/stackexchange/models.py index a30a9859..a30a9859 100644 --- a/forum/importers/stackexchange/models.py +++ b/askbot/importers/stackexchange/models.py diff --git a/forum/importers/stackexchange/parse_models.py b/askbot/importers/stackexchange/parse_models.py index 64796e57..64796e57 100644 --- a/forum/importers/stackexchange/parse_models.py +++ b/askbot/importers/stackexchange/parse_models.py diff --git a/forum/locale/de/LC_MESSAGES/django.mo b/askbot/locale/de/LC_MESSAGES/django.mo Binary files differindex fd451a6d..fd451a6d 100644 --- a/forum/locale/de/LC_MESSAGES/django.mo +++ b/askbot/locale/de/LC_MESSAGES/django.mo diff --git a/forum/locale/de/LC_MESSAGES/django.po b/askbot/locale/de/LC_MESSAGES/django.po index b5de1030..b5de1030 100644 --- a/forum/locale/de/LC_MESSAGES/django.po +++ b/askbot/locale/de/LC_MESSAGES/django.po diff --git a/forum/locale/en/LC_MESSAGES/django.mo b/askbot/locale/en/LC_MESSAGES/django.mo Binary files differindex eacc102a..eacc102a 100644 --- a/forum/locale/en/LC_MESSAGES/django.mo +++ b/askbot/locale/en/LC_MESSAGES/django.mo diff --git a/forum/locale/en/LC_MESSAGES/django.po b/askbot/locale/en/LC_MESSAGES/django.po index 3da33966..3da33966 100644 --- a/forum/locale/en/LC_MESSAGES/django.po +++ b/askbot/locale/en/LC_MESSAGES/django.po diff --git a/forum/locale/es/LC_MESSAGES/django.mo b/askbot/locale/es/LC_MESSAGES/django.mo Binary files differindex 27fb5837..27fb5837 100644 --- a/forum/locale/es/LC_MESSAGES/django.mo +++ b/askbot/locale/es/LC_MESSAGES/django.mo diff --git a/forum/locale/es/LC_MESSAGES/django.po b/askbot/locale/es/LC_MESSAGES/django.po index 5d5019d5..5d5019d5 100644 --- a/forum/locale/es/LC_MESSAGES/django.po +++ b/askbot/locale/es/LC_MESSAGES/django.po diff --git a/forum/locale/ru/LC_MESSAGES/django.mo b/askbot/locale/ru/LC_MESSAGES/django.mo Binary files differindex c7d6035c..c7d6035c 100644 --- a/forum/locale/ru/LC_MESSAGES/django.mo +++ b/askbot/locale/ru/LC_MESSAGES/django.mo diff --git a/forum/locale/ru/LC_MESSAGES/django.po b/askbot/locale/ru/LC_MESSAGES/django.po index 110460d6..110460d6 100644 --- a/forum/locale/ru/LC_MESSAGES/django.po +++ b/askbot/locale/ru/LC_MESSAGES/django.po diff --git a/forum/locale/sr/LC_MESSAGES/django.mo b/askbot/locale/sr/LC_MESSAGES/django.mo Binary files differindex bdc63f43..bdc63f43 100644 --- a/forum/locale/sr/LC_MESSAGES/django.mo +++ b/askbot/locale/sr/LC_MESSAGES/django.mo diff --git a/forum/locale/sr/LC_MESSAGES/django.po b/askbot/locale/sr/LC_MESSAGES/django.po index d4980ec9..d4980ec9 100644 --- a/forum/locale/sr/LC_MESSAGES/django.po +++ b/askbot/locale/sr/LC_MESSAGES/django.po diff --git a/forum/locale/tr/LC_MESSAGES/django.mo b/askbot/locale/tr/LC_MESSAGES/django.mo Binary files differindex 66384a39..66384a39 100644 --- a/forum/locale/tr/LC_MESSAGES/django.mo +++ b/askbot/locale/tr/LC_MESSAGES/django.mo diff --git a/forum/locale/tr/LC_MESSAGES/django.po b/askbot/locale/tr/LC_MESSAGES/django.po index 6a4e438c..6a4e438c 100644 --- a/forum/locale/tr/LC_MESSAGES/django.po +++ b/askbot/locale/tr/LC_MESSAGES/django.po diff --git a/forum/locale/vi/LC_MESSAGES/django.mo b/askbot/locale/vi/LC_MESSAGES/django.mo Binary files differindex 67785c70..67785c70 100644 --- a/forum/locale/vi/LC_MESSAGES/django.mo +++ b/askbot/locale/vi/LC_MESSAGES/django.mo diff --git a/forum/locale/vi/LC_MESSAGES/django.po b/askbot/locale/vi/LC_MESSAGES/django.po index 0c8cb9af..0c8cb9af 100644 --- a/forum/locale/vi/LC_MESSAGES/django.po +++ b/askbot/locale/vi/LC_MESSAGES/django.po diff --git a/forum/locale/zh-cn/LC_MESSAGES/django.mo b/askbot/locale/zh-cn/LC_MESSAGES/django.mo Binary files differindex a73a9675..a73a9675 100644 --- a/forum/locale/zh-cn/LC_MESSAGES/django.mo +++ b/askbot/locale/zh-cn/LC_MESSAGES/django.mo diff --git a/forum/locale/zh-cn/LC_MESSAGES/django.po b/askbot/locale/zh-cn/LC_MESSAGES/django.po index e08a05d2..e08a05d2 100644 --- a/forum/locale/zh-cn/LC_MESSAGES/django.po +++ b/askbot/locale/zh-cn/LC_MESSAGES/django.po diff --git a/forum/management/__init__.py b/askbot/management/__init__.py index e69de29b..e69de29b 100644 --- a/forum/management/__init__.py +++ b/askbot/management/__init__.py diff --git a/forum/management/commands/__init__.py b/askbot/management/commands/__init__.py index e69de29b..e69de29b 100644 --- a/forum/management/commands/__init__.py +++ b/askbot/management/commands/__init__.py diff --git a/forum/management/commands/base_command.py b/askbot/management/commands/base_command.py index 46a2d7a7..46a2d7a7 100644 --- a/forum/management/commands/base_command.py +++ b/askbot/management/commands/base_command.py diff --git a/forum/management/commands/clean_award_badges.py b/askbot/management/commands/clean_award_badges.py index 2aab8bda..49e79fca 100644 --- a/forum/management/commands/clean_award_badges.py +++ b/askbot/management/commands/clean_award_badges.py @@ -16,7 +16,7 @@ from django.core.management.base import NoArgsCommand from django.db import connection from django.contrib.contenttypes.models import ContentType -from forum import models +from askbot import models class Command(NoArgsCommand): def handle_noargs(self, **options): diff --git a/forum/management/commands/message_to_everyone.py b/askbot/management/commands/message_to_everyone.py index c020c178..c020c178 100644 --- a/forum/management/commands/message_to_everyone.py +++ b/askbot/management/commands/message_to_everyone.py diff --git a/forum/management/commands/multi_award_badges.py b/askbot/management/commands/multi_award_badges.py index 1ef40835..430c6364 100644 --- a/forum/management/commands/multi_award_badges.py +++ b/askbot/management/commands/multi_award_badges.py @@ -18,9 +18,9 @@ from django.db import connection from django.shortcuts import get_object_or_404 from django.contrib.contenttypes.models import ContentType -from forum.models import Badge, User, Award, Question, Answer, Tag -from forum import const -from forum.management.commands.base_command import BaseCommand +from askbot.models import Badge, User, Award, Question, Answer, Tag +from askbot import const +from askbot.management.commands.base_command import BaseCommand class Command(BaseCommand): def handle_noargs(self, **options): diff --git a/forum/management/commands/once_award_badges.py b/askbot/management/commands/once_award_badges.py index ea04c11d..6351ac9a 100644 --- a/forum/management/commands/once_award_badges.py +++ b/askbot/management/commands/once_award_badges.py @@ -17,8 +17,8 @@ from django.db import connection from django.shortcuts import get_object_or_404 from django.contrib.contenttypes.models import ContentType -from forum.models import User, Activity, Badge, Award, Question, Answer -from forum import const +from askbot.models import User, Activity, Badge, Award, Question, Answer +from askbot import const from base_command import BaseCommand """ (1, '炼狱法师', 3, '炼狱法师', '删除自己有3个以上赞成票的帖子', 1, 0), diff --git a/forum/management/commands/pg_base_command.py b/askbot/management/commands/pg_base_command.py index b3167dcf..3ff7853d 100644 --- a/forum/management/commands/pg_base_command.py +++ b/askbot/management/commands/pg_base_command.py @@ -18,8 +18,8 @@ from django.db import connection from django.shortcuts import get_object_or_404 from django.contrib.contenttypes.models import ContentType -from forum.models import * -from forum.const import * +from askbot.models import * +from askbot.const import * class BaseCommand(NoArgsCommand): def update_activities_auditted(self, cursor, activity_ids): diff --git a/forum/management/commands/pg_clean_award_badges.py b/askbot/management/commands/pg_clean_award_badges.py index b3925a68..934d1f1d 100644 --- a/forum/management/commands/pg_clean_award_badges.py +++ b/askbot/management/commands/pg_clean_award_badges.py @@ -16,7 +16,7 @@ from django.db import connection from django.shortcuts import get_object_or_404 from django.contrib.contenttypes.models import ContentType -from forum.models import * +from askbot.models import * class Command(NoArgsCommand): def handle_noargs(self, **options): diff --git a/forum/management/commands/pg_multi_award_badges.py b/askbot/management/commands/pg_multi_award_badges.py index 75f84bfe..6a4ef2f6 100644 --- a/forum/management/commands/pg_multi_award_badges.py +++ b/askbot/management/commands/pg_multi_award_badges.py @@ -18,8 +18,8 @@ from django.db import connection from django.shortcuts import get_object_or_404 from django.contrib.contenttypes.models import ContentType -from forum.models import * -from forum.const import * +from askbot.models import * +from askbot.const import * from pg_base_command import BaseCommand """ (1, '????', 3, '????', '?????3?????????', 1, 0), diff --git a/forum/management/commands/pg_once_award_badges.py b/askbot/management/commands/pg_once_award_badges.py index b2f79363..7decbc2d 100644 --- a/forum/management/commands/pg_once_award_badges.py +++ b/askbot/management/commands/pg_once_award_badges.py @@ -17,8 +17,8 @@ from django.db import connection from django.shortcuts import get_object_or_404 from django.contrib.contenttypes.models import ContentType -from forum.models import * -from forum.const import * +from askbot.models import * +from askbot.const import * from pg_base_command import BaseCommand """ (1, '????', 3, '????', '?????3?????????', 1, 0), diff --git a/forum/management/commands/sample_command.py b/askbot/management/commands/sample_command.py index 55e67235..bcdcb58e 100644 --- a/forum/management/commands/sample_command.py +++ b/askbot/management/commands/sample_command.py @@ -1,5 +1,5 @@ from django.core.management.base import NoArgsCommand -from forum.models import Comment +from askbot.models import Comment class Command(NoArgsCommand): def handle_noargs(self, **options): diff --git a/forum/management/commands/send_email_alerts.py b/askbot/management/commands/send_email_alerts.py index 2c39311f..94474963 100644 --- a/forum/management/commands/send_email_alerts.py +++ b/askbot/management/commands/send_email_alerts.py @@ -1,18 +1,18 @@ from django.core.management.base import NoArgsCommand from django.db import connection from django.db.models import Q, F -from forum.models import User, Question, Answer, Tag, QuestionRevision -from forum.models import AnswerRevision, Activity, EmailFeedSetting -from forum.models import Comment +from askbot.models import User, Question, Answer, Tag, QuestionRevision +from askbot.models import AnswerRevision, Activity, EmailFeedSetting +from askbot.models import Comment from django.core.mail import EmailMessage from django.utils.translation import ugettext as _ from django.utils.translation import ungettext import datetime from django.conf import settings -from forum.conf import settings as forum_settings +from askbot.conf import settings as askbot_settings from django.utils.datastructures import SortedDict from django.contrib.contenttypes.models import ContentType -from forum import const +from askbot import const DEBUG_THIS_COMMAND = False @@ -33,7 +33,7 @@ def extend_question_list(src, dst, limit=False, add_mention=False): """ if src is None:#is not QuerySet return #will not do anything if subscription of this type is not used - if limit and len(dst.keys()) >= forum_settings.MAX_ALERTS_PER_EMAIL: + if limit and len(dst.keys()) >= askbot_settings.MAX_ALERTS_PER_EMAIL: return cutoff_time = src.cutoff_time#todo: this limits use of function to query sets #but sometimes we have a list on the input (like in the case of comment) @@ -170,11 +170,11 @@ class Command(NoArgsCommand): elif feed.feed_type == 'q_ans': q_ans_A = Q_set_A.filter(answers__author=user) - q_ans_A = q_ans_A[:forum_settings.MAX_ALERTS_PER_EMAIL] + q_ans_A = q_ans_A[:askbot_settings.MAX_ALERTS_PER_EMAIL] q_ans_A.cutoff_time = cutoff_time q_ans_B = Q_set_B.filter(answers__author=user) - q_ans_B = q_ans_B[:forum_settings.MAX_ALERTS_PER_EMAIL] + q_ans_B = q_ans_B[:askbot_settings.MAX_ALERTS_PER_EMAIL] q_ans_B.cutoff_time = cutoff_time elif feed.feed_type == 'q_all': @@ -196,8 +196,8 @@ class Command(NoArgsCommand): q_all_A = Q_set_A.filter( tags__in=selected_tags ) q_all_B = Q_set_B.filter( tags__in=selected_tags ) - q_all_A = q_all_A[:forum_settings.MAX_ALERTS_PER_EMAIL] - q_all_B = q_all_B[:forum_settings.MAX_ALERTS_PER_EMAIL] + q_all_A = q_all_A[:askbot_settings.MAX_ALERTS_PER_EMAIL] + q_all_B = q_all_B[:askbot_settings.MAX_ALERTS_PER_EMAIL] q_all_A.cutoff_time = cutoff_time q_all_B.cutoff_time = cutoff_time @@ -384,7 +384,7 @@ class Command(NoArgsCommand): else: num_q += 1 if num_q > 0: - url_prefix = forum_settings.APP_URL + url_prefix = askbot_settings.APP_URL subject = _('email update message subject') print 'have %d updated questions for %s' % (num_q, user.username) text = ungettext('%(name)s, this is an update message header for %(num)d question', @@ -398,7 +398,7 @@ class Command(NoArgsCommand): act_list = [] if meta_data['skip']: continue - if items_added >= forum_settings.MAX_ALERTS_PER_EMAIL: + if items_added >= askbot_settings.MAX_ALERTS_PER_EMAIL: items_unreported = num_q - items_added #may be inaccurate actually, but it's ok else: @@ -413,15 +413,15 @@ class Command(NoArgsCommand): % (url_prefix + q.get_absolute_url(), q.title, act_token) text += '</ul>' text += '<p></p>' - #if len(q_list.keys()) >= forum_settings.MAX_ALERTS_PER_EMAIL: + #if len(q_list.keys()) >= askbot_settings.MAX_ALERTS_PER_EMAIL: # text += _('There may be more questions updated since ' # 'you have logged in last time as this list is ' # 'abridged for your convinience. Please visit ' - # 'the forum and see what\'s new!<br>' + # 'the askbot and see what\'s new!<br>' # ) text += _( - 'Please visit the forum and see what\'s new! ' + 'Please visit the askbot and see what\'s new! ' 'Could you spread the word about it - ' 'can somebody you know help answering those questions or ' 'benefit from posting one?' @@ -436,12 +436,12 @@ class Command(NoArgsCommand): text += _('Your most frequent subscription setting is \'daily\' ' 'on selected questions. If you are receiving more than one ' 'email per day' - 'please tell about this issue to the forum administrator.' + 'please tell about this issue to the askbot administrator.' ) elif 'w' in feed_freq: text += _('Your most frequent subscription setting is \'weekly\' ' 'if you are receiving this email more than once a week ' - 'please report this issue to the forum administrator.' + 'please report this issue to the askbot administrator.' ) text += ' ' text += _( @@ -456,7 +456,7 @@ class Command(NoArgsCommand): # 'There are also %(num)d more questions which were recently updated '\ # +'but you might not have seen their latest version.',num_moot) \ # % {'num':num_moot,} - # text += _('Perhaps you could look up previously sent forum reminders in your mailbox.') + # text += _('Perhaps you could look up previously sent askbot reminders in your mailbox.') # text += '</p>' link = url_prefix + user.get_profile_url() + '?sort=email_subscriptions' diff --git a/forum/management/commands/subscribe_everyone.py b/askbot/management/commands/subscribe_everyone.py index fac4168f..d45d33ec 100644 --- a/forum/management/commands/subscribe_everyone.py +++ b/askbot/management/commands/subscribe_everyone.py @@ -1,6 +1,6 @@ from django.core.management.base import NoArgsCommand from django.db import connection -from forum.models import EmailFeedSetting, User +from askbot.models import EmailFeedSetting, User from django.core.mail import EmailMessage class Command(NoArgsCommand): diff --git a/forum/middleware/__init__.py b/askbot/middleware/__init__.py index e69de29b..e69de29b 100644 --- a/forum/middleware/__init__.py +++ b/askbot/middleware/__init__.py diff --git a/forum/middleware/anon_user.py b/askbot/middleware/anon_user.py index 24eff0a2..06e9dfd0 100644 --- a/forum/middleware/anon_user.py +++ b/askbot/middleware/anon_user.py @@ -1,7 +1,7 @@ from django.utils.translation import ugettext as _ -from forum.user_messages import create_message, get_and_delete_messages -from forum.conf import settings as forum_settings -from forum import const +from askbot.user_messages import create_message, get_and_delete_messages +from askbot.conf import settings as askbot_settings +from askbot import const class AnonymousMessageManager(object): def __init__(self, request): @@ -32,5 +32,5 @@ class ConnectToSessionMessagesMiddleware(object): if 'greeting_set' not in request.session: request.session['greeting_set'] = True msg = _(const.GREETING_FOR_ANONYMOUS_USER) \ - % forum_settings.GREETING_URL + % askbot_settings.GREETING_URL request.user.message_set.create(message=msg) diff --git a/forum/middleware/cancel.py b/askbot/middleware/cancel.py index 15a4371d..45764d82 100644 --- a/forum/middleware/cancel.py +++ b/askbot/middleware/cancel.py @@ -1,5 +1,5 @@ from django.http import HttpResponseRedirect -from forum.utils.forms import get_next_url +from askbot.utils.forms import get_next_url import logging class CancelActionMiddleware(object): def process_view(self, request, view_func, view_args, view_kwargs): diff --git a/forum/middleware/pagesize.py b/askbot/middleware/pagesize.py index 20af6aa6..20af6aa6 100644 --- a/forum/middleware/pagesize.py +++ b/askbot/middleware/pagesize.py diff --git a/forum/middleware/spaceless.py b/askbot/middleware/spaceless.py index 16b11522..16b11522 100644 --- a/forum/middleware/spaceless.py +++ b/askbot/middleware/spaceless.py diff --git a/forum/middleware/view_log.py b/askbot/middleware/view_log.py index f6112547..fa38f29a 100644 --- a/forum/middleware/view_log.py +++ b/askbot/middleware/view_log.py @@ -1,10 +1,10 @@ import logging from django.conf import settings -from forum.views.readers import questions as questions_view -from forum.views.commands import vote +from askbot.views.readers import questions as questions_view +from askbot.views.commands import vote from django.views.static import serve -from forum.views.writers import delete_comment, question_comments, answer_comments -from forum.views.readers import question_revisions, answer_revisions +from askbot.views.writers import delete_comment, question_comments, answer_comments +from askbot.views.readers import question_revisions, answer_revisions #todo: the list is getting bigger and bigger - maybe there is a better way to #trigger reset of sarch state? diff --git a/askbot/migrations/0001_initial.py b/askbot/migrations/0001_initial.py new file mode 100644 index 00000000..31f6827b --- /dev/null +++ b/askbot/migrations/0001_initial.py @@ -0,0 +1,1550 @@ +# encoding: utf-8 +import os +import datetime +from south.db import db +from south.v2 import SchemaMigration +from django.db import models + +app_dir_name = os.path.basename(os.path.dirname(os.path.dirname(__file__))) + +class Migration(SchemaMigration): + + def forwards(self, orm): + + # Adding model 'Vote' + if app_dir_name == 'forum': + db.create_table(u'vote', ( + ('object_id', self.gf('django.db.models.fields.PositiveIntegerField')()), + ('voted_at', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)), + ('user', self.gf('django.db.models.fields.related.ForeignKey')(related_name='votes', to=orm['auth.User'])), + ('content_type', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['contenttypes.ContentType'])), + ('vote', self.gf('django.db.models.fields.SmallIntegerField')()), + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + )) + db.send_create_signal('forum', ['Vote']) + + # Adding unique constraint on 'Vote', fields ['content_type', 'object_id', 'user'] + db.create_unique(u'vote', ['content_type_id', 'object_id', 'user_id']) + + # Adding model 'FlaggedItem' + db.create_table(u'flagged_item', ( + ('object_id', self.gf('django.db.models.fields.PositiveIntegerField')()), + ('flagged_at', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)), + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('content_type', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['contenttypes.ContentType'])), + ('user', self.gf('django.db.models.fields.related.ForeignKey')(related_name='flaggeditems', to=orm['auth.User'])), + )) + db.send_create_signal('forum', ['FlaggedItem']) + + # Adding unique constraint on 'FlaggedItem', fields ['content_type', 'object_id', 'user'] + db.create_unique(u'flagged_item', ['content_type_id', 'object_id', 'user_id']) + + # Adding model 'Comment' + db.create_table(u'comment', ( + ('comment', self.gf('django.db.models.fields.CharField')(max_length=300)), + ('object_id', self.gf('django.db.models.fields.PositiveIntegerField')()), + ('added_at', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)), + ('content_type', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['contenttypes.ContentType'])), + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('user', self.gf('django.db.models.fields.related.ForeignKey')(related_name='comments', to=orm['auth.User'])), + )) + db.send_create_signal('forum', ['Comment']) + + # Adding model 'Tag' + db.create_table(u'tag', ( + ('name', self.gf('django.db.models.fields.CharField')(unique=True, max_length=255)), + ('deleted', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True)), + ('created_by', self.gf('django.db.models.fields.related.ForeignKey')(related_name='created_tags', to=orm['auth.User'])), + ('deleted_by', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='deleted_tags', null=True, to=orm['auth.User'])), + ('used_count', self.gf('django.db.models.fields.PositiveIntegerField')(default=0)), + ('deleted_at', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True)), + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + )) + db.send_create_signal('forum', ['Tag']) + + # Adding model 'MarkedTag' + db.create_table('forum_markedtag', ( + ('reason', self.gf('django.db.models.fields.CharField')(max_length=16)), + ('tag', self.gf('django.db.models.fields.related.ForeignKey')(related_name='user_selections', to=orm['forum.Tag'])), + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('user', self.gf('django.db.models.fields.related.ForeignKey')(related_name='tag_selections', to=orm['auth.User'])), + )) + db.send_create_signal('forum', ['MarkedTag']) + + # Adding model 'Question' + db.create_table(u'question', ( + ('wiki', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True)), + ('vote_up_count', self.gf('django.db.models.fields.IntegerField')(default=0)), + ('answer_accepted', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True)), + ('offensive_flag_count', self.gf('django.db.models.fields.SmallIntegerField')(default=0)), + ('closed_at', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True)), + ('deleted_at', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True)), + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('last_activity_by', self.gf('django.db.models.fields.related.ForeignKey')(related_name='last_active_in_questions', to=orm['auth.User'])), + ('view_count', self.gf('django.db.models.fields.PositiveIntegerField')(default=0)), + ('locked_at', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True)), + ('score', self.gf('django.db.models.fields.IntegerField')(default=0)), + ('author', self.gf('django.db.models.fields.related.ForeignKey')(related_name='questions', to=orm['auth.User'])), + ('comment_count', self.gf('django.db.models.fields.PositiveIntegerField')(default=0)), + ('html', self.gf('django.db.models.fields.TextField')()), + ('vote_down_count', self.gf('django.db.models.fields.IntegerField')(default=0)), + ('closed', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True)), + ('last_edited_by', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='last_edited_questions', null=True, to=orm['auth.User'])), + ('favourite_count', self.gf('django.db.models.fields.PositiveIntegerField')(default=0)), + ('deleted', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True)), + ('summary', self.gf('django.db.models.fields.CharField')(max_length=180)), + ('answer_count', self.gf('django.db.models.fields.PositiveIntegerField')(default=0)), + ('last_activity_at', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)), + ('closed_by', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='closed_questions', null=True, to=orm['auth.User'])), + ('close_reason', self.gf('django.db.models.fields.SmallIntegerField')(null=True, blank=True)), + ('locked', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True)), + ('tagnames', self.gf('django.db.models.fields.CharField')(max_length=125)), + ('locked_by', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='locked_questions', null=True, to=orm['auth.User'])), + ('added_at', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)), + ('deleted_by', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='deleted_questions', null=True, to=orm['auth.User'])), + ('wikified_at', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True)), + ('title', self.gf('django.db.models.fields.CharField')(max_length=300)), + ('last_edited_at', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True)), + )) + db.send_create_signal('forum', ['Question']) + + # Adding M2M table for field followed_by on 'Question' + db.create_table(u'question_followed_by', ( + ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), + ('question', models.ForeignKey(orm['forum.question'], null=False)), + ('user', models.ForeignKey(orm['auth.user'], null=False)) + )) + db.create_unique(u'question_followed_by', ['question_id', 'user_id']) + + # Adding M2M table for field tags on 'Question' + db.create_table(u'question_tags', ( + ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), + ('question', models.ForeignKey(orm['forum.question'], null=False)), + ('tag', models.ForeignKey(orm['forum.tag'], null=False)) + )) + db.create_unique(u'question_tags', ['question_id', 'tag_id']) + + # Adding model 'QuestionView' + db.create_table('forum_questionview', ( + ('when', self.gf('django.db.models.fields.DateTimeField')()), + ('who', self.gf('django.db.models.fields.related.ForeignKey')(related_name='question_views', to=orm['auth.User'])), + ('question', self.gf('django.db.models.fields.related.ForeignKey')(related_name='viewed', to=orm['forum.Question'])), + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + )) + db.send_create_signal('forum', ['QuestionView']) + + # Adding model 'FavoriteQuestion' + db.create_table(u'favorite_question', ( + ('question', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['forum.Question'])), + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('added_at', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)), + ('user', self.gf('django.db.models.fields.related.ForeignKey')(related_name='user_favorite_questions', to=orm['auth.User'])), + )) + db.send_create_signal('forum', ['FavoriteQuestion']) + + # Adding model 'QuestionRevision' + db.create_table(u'question_revision', ( + ('author', self.gf('django.db.models.fields.related.ForeignKey')(related_name='questionrevisions', to=orm['auth.User'])), + ('tagnames', self.gf('django.db.models.fields.CharField')(max_length=125)), + ('text', self.gf('django.db.models.fields.TextField')()), + ('title', self.gf('django.db.models.fields.CharField')(max_length=300)), + ('question', self.gf('django.db.models.fields.related.ForeignKey')(related_name='revisions', to=orm['forum.Question'])), + ('revised_at', self.gf('django.db.models.fields.DateTimeField')()), + ('summary', self.gf('django.db.models.fields.CharField')(max_length=300, blank=True)), + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('revision', self.gf('django.db.models.fields.PositiveIntegerField')()), + )) + db.send_create_signal('forum', ['QuestionRevision']) + + # Adding model 'AnonymousQuestion' + db.create_table('forum_anonymousquestion', ( + ('wiki', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True)), + ('ip_addr', self.gf('django.db.models.fields.IPAddressField')(max_length=15)), + ('author', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'], null=True)), + ('tagnames', self.gf('django.db.models.fields.CharField')(max_length=125)), + ('text', self.gf('django.db.models.fields.TextField')()), + ('title', self.gf('django.db.models.fields.CharField')(max_length=300)), + ('added_at', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)), + ('summary', self.gf('django.db.models.fields.CharField')(max_length=180)), + ('session_key', self.gf('django.db.models.fields.CharField')(max_length=40)), + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + )) + db.send_create_signal('forum', ['AnonymousQuestion']) + + # Adding model 'Answer' + db.create_table(u'answer', ( + ('wiki', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True)), + ('vote_up_count', self.gf('django.db.models.fields.IntegerField')(default=0)), + ('offensive_flag_count', self.gf('django.db.models.fields.SmallIntegerField')(default=0)), + ('deleted_at', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True)), + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('locked_at', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True)), + ('score', self.gf('django.db.models.fields.IntegerField')(default=0)), + ('author', self.gf('django.db.models.fields.related.ForeignKey')(related_name='answers', to=orm['auth.User'])), + ('question', self.gf('django.db.models.fields.related.ForeignKey')(related_name='answers', to=orm['forum.Question'])), + ('comment_count', self.gf('django.db.models.fields.PositiveIntegerField')(default=0)), + ('html', self.gf('django.db.models.fields.TextField')()), + ('vote_down_count', self.gf('django.db.models.fields.IntegerField')(default=0)), + ('last_edited_by', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='last_edited_answers', null=True, to=orm['auth.User'])), + ('accepted_at', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True)), + ('deleted', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True)), + ('accepted', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True)), + ('locked', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True)), + ('locked_by', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='locked_answers', null=True, to=orm['auth.User'])), + ('added_at', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)), + ('deleted_by', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='deleted_answers', null=True, to=orm['auth.User'])), + ('wikified_at', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True)), + ('last_edited_at', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True)), + )) + db.send_create_signal('forum', ['Answer']) + + # Adding model 'AnswerRevision' + db.create_table(u'answer_revision', ( + ('author', self.gf('django.db.models.fields.related.ForeignKey')(related_name='answerrevisions', to=orm['auth.User'])), + ('text', self.gf('django.db.models.fields.TextField')()), + ('revised_at', self.gf('django.db.models.fields.DateTimeField')()), + ('summary', self.gf('django.db.models.fields.CharField')(max_length=300, blank=True)), + ('answer', self.gf('django.db.models.fields.related.ForeignKey')(related_name='revisions', to=orm['forum.Answer'])), + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('revision', self.gf('django.db.models.fields.PositiveIntegerField')()), + )) + db.send_create_signal('forum', ['AnswerRevision']) + + # Adding model 'AnonymousAnswer' + db.create_table('forum_anonymousanswer', ( + ('wiki', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True)), + ('ip_addr', self.gf('django.db.models.fields.IPAddressField')(max_length=15)), + ('author', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'], null=True)), + ('text', self.gf('django.db.models.fields.TextField')()), + ('question', self.gf('django.db.models.fields.related.ForeignKey')(related_name='anonymous_answers', to=orm['forum.Question'])), + ('added_at', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)), + ('summary', self.gf('django.db.models.fields.CharField')(max_length=180)), + ('session_key', self.gf('django.db.models.fields.CharField')(max_length=40)), + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + )) + db.send_create_signal('forum', ['AnonymousAnswer']) + + # Adding model 'Activity' + db.create_table(u'activity', ( + ('is_auditted', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True)), + ('object_id', self.gf('django.db.models.fields.PositiveIntegerField')()), + ('user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'])), + ('content_type', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['contenttypes.ContentType'])), + ('active_at', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)), + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('activity_type', self.gf('django.db.models.fields.SmallIntegerField')()), + )) + db.send_create_signal('forum', ['Activity']) + + # Adding model 'EmailFeedSetting' + db.create_table('forum_emailfeedsetting', ( + ('reported_at', self.gf('django.db.models.fields.DateTimeField')(null=True)), + ('added_at', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)), + ('subscriber', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'])), + ('feed_type', self.gf('django.db.models.fields.CharField')(max_length=16)), + ('frequency', self.gf('django.db.models.fields.CharField')(default='n', max_length=8)), + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + )) + db.send_create_signal('forum', ['EmailFeedSetting']) + + # Adding model 'ValidationHash' + db.create_table('forum_validationhash', ( + ('hash_code', self.gf('django.db.models.fields.CharField')(unique=True, max_length=255)), + ('seed', self.gf('django.db.models.fields.CharField')(max_length=12)), + ('expiration', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime(2010, 4, 25, 13, 14, 41, 581000))), + ('type', self.gf('django.db.models.fields.CharField')(max_length=12)), + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'])), + )) + db.send_create_signal('forum', ['ValidationHash']) + + # Adding unique constraint on 'ValidationHash', fields ['user', 'type'] + db.create_unique('forum_validationhash', ['user_id', 'type']) + + # Adding model 'AuthKeyUserAssociation' + db.create_table('forum_authkeyuserassociation', ( + ('added_at', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)), + ('user', self.gf('django.db.models.fields.related.ForeignKey')(related_name='auth_keys', to=orm['auth.User'])), + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('key', self.gf('django.db.models.fields.CharField')(unique=True, max_length=255)), + ('provider', self.gf('django.db.models.fields.CharField')(max_length=64)), + )) + db.send_create_signal('forum', ['AuthKeyUserAssociation']) + + # Adding model 'Badge' + db.create_table(u'badge', ( + ('multiple', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True)), + ('description', self.gf('django.db.models.fields.CharField')(max_length=300)), + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('awarded_count', self.gf('django.db.models.fields.PositiveIntegerField')(default=0)), + ('type', self.gf('django.db.models.fields.SmallIntegerField')()), + ('slug', self.gf('django.db.models.fields.SlugField')(db_index=True, max_length=50, blank=True)), + ('name', self.gf('django.db.models.fields.CharField')(max_length=50)), + )) + db.send_create_signal('forum', ['Badge']) + + # Adding unique constraint on 'Badge', fields ['name', 'type'] + db.create_unique(u'badge', ['name', 'type']) + + # Adding model 'Award' + db.create_table(u'award', ( + ('awarded_at', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)), + ('notified', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True)), + ('object_id', self.gf('django.db.models.fields.PositiveIntegerField')()), + ('user', self.gf('django.db.models.fields.related.ForeignKey')(related_name='award_user', to=orm['auth.User'])), + ('content_type', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['contenttypes.ContentType'])), + ('badge', self.gf('django.db.models.fields.related.ForeignKey')(related_name='award_badge', to=orm['forum.Badge'])), + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + )) + db.send_create_signal('forum', ['Award']) + + # Adding model 'Repute' + db.create_table(u'repute', ( + ('positive', self.gf('django.db.models.fields.SmallIntegerField')(default=0)), + ('question', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['forum.Question'])), + ('negative', self.gf('django.db.models.fields.SmallIntegerField')(default=0)), + ('reputation_type', self.gf('django.db.models.fields.SmallIntegerField')()), + ('user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'])), + ('reputed_at', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)), + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('reputation', self.gf('django.db.models.fields.IntegerField')(default=1)), + )) + db.send_create_signal('forum', ['Repute']) + + # Adding model 'Book' + db.create_table(u'book', ( + ('publication', self.gf('django.db.models.fields.CharField')(max_length=255)), + ('short_name', self.gf('django.db.models.fields.CharField')(max_length=255)), + ('author', self.gf('django.db.models.fields.CharField')(max_length=255)), + ('cover_img', self.gf('django.db.models.fields.CharField')(max_length=255)), + ('price', self.gf('django.db.models.fields.DecimalField')(max_digits=6, decimal_places=2)), + ('title', self.gf('django.db.models.fields.CharField')(max_length=255)), + ('added_at', self.gf('django.db.models.fields.DateTimeField')()), + ('pages', self.gf('django.db.models.fields.SmallIntegerField')()), + ('tagnames', self.gf('django.db.models.fields.CharField')(max_length=125)), + ('published_at', self.gf('django.db.models.fields.DateTimeField')()), + ('user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'])), + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('last_edited_at', self.gf('django.db.models.fields.DateTimeField')()), + )) + db.send_create_signal('forum', ['Book']) + + # Adding M2M table for field questions on 'Book' + db.create_table('book_question', ( + ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), + ('book', models.ForeignKey(orm['forum.book'], null=False)), + ('question', models.ForeignKey(orm['forum.question'], null=False)) + )) + db.create_unique('book_question', ['book_id', 'question_id']) + + # Adding model 'BookAuthorInfo' + db.create_table(u'book_author_info', ( + ('added_at', self.gf('django.db.models.fields.DateTimeField')()), + ('book', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['forum.Book'])), + ('user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'])), + ('blog_url', self.gf('django.db.models.fields.CharField')(max_length=255)), + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('last_edited_at', self.gf('django.db.models.fields.DateTimeField')()), + )) + db.send_create_signal('forum', ['BookAuthorInfo']) + + # Adding model 'BookAuthorRss' + db.create_table(u'book_author_rss', ( + ('title', self.gf('django.db.models.fields.CharField')(max_length=255)), + ('url', self.gf('django.db.models.fields.CharField')(max_length=255)), + ('added_at', self.gf('django.db.models.fields.DateTimeField')()), + ('book', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['forum.Book'])), + ('user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'])), + ('rss_created_at', self.gf('django.db.models.fields.DateTimeField')()), + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + )) + db.send_create_signal('forum', ['BookAuthorRss']) + else: + db.create_table(u'vote', ( + ('object_id', self.gf('django.db.models.fields.PositiveIntegerField')()), + ('voted_at', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)), + ('user', self.gf('django.db.models.fields.related.ForeignKey')(related_name='votes', to=orm['auth.User'])), + ('content_type', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['contenttypes.ContentType'])), + ('vote', self.gf('django.db.models.fields.SmallIntegerField')()), + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + )) + db.send_create_signal('askbot', ['Vote']) + + # Adding unique constraint on 'Vote', fields ['content_type', 'object_id', 'user'] + db.create_unique(u'vote', ['content_type_id', 'object_id', 'user_id']) + + # Adding model 'FlaggedItem' + db.create_table(u'flagged_item', ( + ('object_id', self.gf('django.db.models.fields.PositiveIntegerField')()), + ('flagged_at', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)), + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('content_type', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['contenttypes.ContentType'])), + ('user', self.gf('django.db.models.fields.related.ForeignKey')(related_name='flaggeditems', to=orm['auth.User'])), + )) + db.send_create_signal('askbot', ['FlaggedItem']) + + # Adding unique constraint on 'FlaggedItem', fields ['content_type', 'object_id', 'user'] + db.create_unique(u'flagged_item', ['content_type_id', 'object_id', 'user_id']) + + # Adding model 'Comment' + db.create_table(u'comment', ( + ('comment', self.gf('django.db.models.fields.CharField')(max_length=300)), + ('object_id', self.gf('django.db.models.fields.PositiveIntegerField')()), + ('added_at', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)), + ('content_type', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['contenttypes.ContentType'])), + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('user', self.gf('django.db.models.fields.related.ForeignKey')(related_name='comments', to=orm['auth.User'])), + )) + db.send_create_signal('askbot', ['Comment']) + + # Adding model 'Tag' + db.create_table(u'tag', ( + ('name', self.gf('django.db.models.fields.CharField')(unique=True, max_length=255)), + ('deleted', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True)), + ('created_by', self.gf('django.db.models.fields.related.ForeignKey')(related_name='created_tags', to=orm['auth.User'])), + ('deleted_by', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='deleted_tags', null=True, to=orm['auth.User'])), + ('used_count', self.gf('django.db.models.fields.PositiveIntegerField')(default=0)), + ('deleted_at', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True)), + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + )) + db.send_create_signal('askbot', ['Tag']) + + # Adding model 'MarkedTag' + db.create_table('askbot_markedtag', ( + ('reason', self.gf('django.db.models.fields.CharField')(max_length=16)), + ('tag', self.gf('django.db.models.fields.related.ForeignKey')(related_name='user_selections', to=orm['askbot.Tag'])), + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('user', self.gf('django.db.models.fields.related.ForeignKey')(related_name='tag_selections', to=orm['auth.User'])), + )) + db.send_create_signal('askbot', ['MarkedTag']) + + # Adding model 'Question' + db.create_table(u'question', ( + ('wiki', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True)), + ('vote_up_count', self.gf('django.db.models.fields.IntegerField')(default=0)), + ('answer_accepted', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True)), + ('offensive_flag_count', self.gf('django.db.models.fields.SmallIntegerField')(default=0)), + ('closed_at', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True)), + ('deleted_at', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True)), + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('last_activity_by', self.gf('django.db.models.fields.related.ForeignKey')(related_name='last_active_in_questions', to=orm['auth.User'])), + ('view_count', self.gf('django.db.models.fields.PositiveIntegerField')(default=0)), + ('locked_at', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True)), + ('score', self.gf('django.db.models.fields.IntegerField')(default=0)), + ('author', self.gf('django.db.models.fields.related.ForeignKey')(related_name='questions', to=orm['auth.User'])), + ('comment_count', self.gf('django.db.models.fields.PositiveIntegerField')(default=0)), + ('html', self.gf('django.db.models.fields.TextField')()), + ('vote_down_count', self.gf('django.db.models.fields.IntegerField')(default=0)), + ('closed', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True)), + ('last_edited_by', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='last_edited_questions', null=True, to=orm['auth.User'])), + ('favourite_count', self.gf('django.db.models.fields.PositiveIntegerField')(default=0)), + ('deleted', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True)), + ('summary', self.gf('django.db.models.fields.CharField')(max_length=180)), + ('answer_count', self.gf('django.db.models.fields.PositiveIntegerField')(default=0)), + ('last_activity_at', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)), + ('closed_by', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='closed_questions', null=True, to=orm['auth.User'])), + ('close_reason', self.gf('django.db.models.fields.SmallIntegerField')(null=True, blank=True)), + ('locked', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True)), + ('tagnames', self.gf('django.db.models.fields.CharField')(max_length=125)), + ('locked_by', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='locked_questions', null=True, to=orm['auth.User'])), + ('added_at', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)), + ('deleted_by', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='deleted_questions', null=True, to=orm['auth.User'])), + ('wikified_at', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True)), + ('title', self.gf('django.db.models.fields.CharField')(max_length=300)), + ('last_edited_at', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True)), + )) + db.send_create_signal('askbot', ['Question']) + + # Adding M2M table for field followed_by on 'Question' + db.create_table(u'question_followed_by', ( + ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), + ('question', models.ForeignKey(orm['askbot.question'], null=False)), + ('user', models.ForeignKey(orm['auth.user'], null=False)) + )) + db.create_unique(u'question_followed_by', ['question_id', 'user_id']) + + # Adding M2M table for field tags on 'Question' + db.create_table(u'question_tags', ( + ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), + ('question', models.ForeignKey(orm['askbot.question'], null=False)), + ('tag', models.ForeignKey(orm['askbot.tag'], null=False)) + )) + db.create_unique(u'question_tags', ['question_id', 'tag_id']) + + # Adding model 'QuestionView' + db.create_table('askbot_questionview', ( + ('when', self.gf('django.db.models.fields.DateTimeField')()), + ('who', self.gf('django.db.models.fields.related.ForeignKey')(related_name='question_views', to=orm['auth.User'])), + ('question', self.gf('django.db.models.fields.related.ForeignKey')(related_name='viewed', to=orm['askbot.Question'])), + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + )) + db.send_create_signal('askbot', ['QuestionView']) + + # Adding model 'FavoriteQuestion' + db.create_table(u'favorite_question', ( + ('question', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['askbot.Question'])), + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('added_at', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)), + ('user', self.gf('django.db.models.fields.related.ForeignKey')(related_name='user_favorite_questions', to=orm['auth.User'])), + )) + db.send_create_signal('askbot', ['FavoriteQuestion']) + + # Adding model 'QuestionRevision' + db.create_table(u'question_revision', ( + ('author', self.gf('django.db.models.fields.related.ForeignKey')(related_name='questionrevisions', to=orm['auth.User'])), + ('tagnames', self.gf('django.db.models.fields.CharField')(max_length=125)), + ('text', self.gf('django.db.models.fields.TextField')()), + ('title', self.gf('django.db.models.fields.CharField')(max_length=300)), + ('question', self.gf('django.db.models.fields.related.ForeignKey')(related_name='revisions', to=orm['askbot.Question'])), + ('revised_at', self.gf('django.db.models.fields.DateTimeField')()), + ('summary', self.gf('django.db.models.fields.CharField')(max_length=300, blank=True)), + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('revision', self.gf('django.db.models.fields.PositiveIntegerField')()), + )) + db.send_create_signal('askbot', ['QuestionRevision']) + + # Adding model 'AnonymousQuestion' + db.create_table('askbot_anonymousquestion', ( + ('wiki', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True)), + ('ip_addr', self.gf('django.db.models.fields.IPAddressField')(max_length=15)), + ('author', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'], null=True)), + ('tagnames', self.gf('django.db.models.fields.CharField')(max_length=125)), + ('text', self.gf('django.db.models.fields.TextField')()), + ('title', self.gf('django.db.models.fields.CharField')(max_length=300)), + ('added_at', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)), + ('summary', self.gf('django.db.models.fields.CharField')(max_length=180)), + ('session_key', self.gf('django.db.models.fields.CharField')(max_length=40)), + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + )) + db.send_create_signal('askbot', ['AnonymousQuestion']) + + # Adding model 'Answer' + db.create_table(u'answer', ( + ('wiki', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True)), + ('vote_up_count', self.gf('django.db.models.fields.IntegerField')(default=0)), + ('offensive_flag_count', self.gf('django.db.models.fields.SmallIntegerField')(default=0)), + ('deleted_at', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True)), + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('locked_at', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True)), + ('score', self.gf('django.db.models.fields.IntegerField')(default=0)), + ('author', self.gf('django.db.models.fields.related.ForeignKey')(related_name='answers', to=orm['auth.User'])), + ('question', self.gf('django.db.models.fields.related.ForeignKey')(related_name='answers', to=orm['askbot.Question'])), + ('comment_count', self.gf('django.db.models.fields.PositiveIntegerField')(default=0)), + ('html', self.gf('django.db.models.fields.TextField')()), + ('vote_down_count', self.gf('django.db.models.fields.IntegerField')(default=0)), + ('last_edited_by', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='last_edited_answers', null=True, to=orm['auth.User'])), + ('accepted_at', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True)), + ('deleted', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True)), + ('accepted', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True)), + ('locked', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True)), + ('locked_by', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='locked_answers', null=True, to=orm['auth.User'])), + ('added_at', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)), + ('deleted_by', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='deleted_answers', null=True, to=orm['auth.User'])), + ('wikified_at', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True)), + ('last_edited_at', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True)), + )) + db.send_create_signal('askbot', ['Answer']) + + # Adding model 'AnswerRevision' + db.create_table(u'answer_revision', ( + ('author', self.gf('django.db.models.fields.related.ForeignKey')(related_name='answerrevisions', to=orm['auth.User'])), + ('text', self.gf('django.db.models.fields.TextField')()), + ('revised_at', self.gf('django.db.models.fields.DateTimeField')()), + ('summary', self.gf('django.db.models.fields.CharField')(max_length=300, blank=True)), + ('answer', self.gf('django.db.models.fields.related.ForeignKey')(related_name='revisions', to=orm['askbot.Answer'])), + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('revision', self.gf('django.db.models.fields.PositiveIntegerField')()), + )) + db.send_create_signal('askbot', ['AnswerRevision']) + + # Adding model 'AnonymousAnswer' + db.create_table('askbot_anonymousanswer', ( + ('wiki', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True)), + ('ip_addr', self.gf('django.db.models.fields.IPAddressField')(max_length=15)), + ('author', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'], null=True)), + ('text', self.gf('django.db.models.fields.TextField')()), + ('question', self.gf('django.db.models.fields.related.ForeignKey')(related_name='anonymous_answers', to=orm['askbot.Question'])), + ('added_at', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)), + ('summary', self.gf('django.db.models.fields.CharField')(max_length=180)), + ('session_key', self.gf('django.db.models.fields.CharField')(max_length=40)), + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + )) + db.send_create_signal('askbot', ['AnonymousAnswer']) + + # Adding model 'Activity' + db.create_table(u'activity', ( + ('is_auditted', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True)), + ('object_id', self.gf('django.db.models.fields.PositiveIntegerField')()), + ('user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'])), + ('content_type', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['contenttypes.ContentType'])), + ('active_at', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)), + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('activity_type', self.gf('django.db.models.fields.SmallIntegerField')()), + )) + db.send_create_signal('askbot', ['Activity']) + + # Adding model 'EmailFeedSetting' + db.create_table('askbot_emailfeedsetting', ( + ('reported_at', self.gf('django.db.models.fields.DateTimeField')(null=True)), + ('added_at', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)), + ('subscriber', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'])), + ('feed_type', self.gf('django.db.models.fields.CharField')(max_length=16)), + ('frequency', self.gf('django.db.models.fields.CharField')(default='n', max_length=8)), + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + )) + db.send_create_signal('askbot', ['EmailFeedSetting']) + + # Adding model 'ValidationHash' + db.create_table('askbot_validationhash', ( + ('hash_code', self.gf('django.db.models.fields.CharField')(unique=True, max_length=255)), + ('seed', self.gf('django.db.models.fields.CharField')(max_length=12)), + ('expiration', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime(2010, 4, 25, 13, 14, 41, 581000))), + ('type', self.gf('django.db.models.fields.CharField')(max_length=12)), + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'])), + )) + db.send_create_signal('askbot', ['ValidationHash']) + + # Adding unique constraint on 'ValidationHash', fields ['user', 'type'] + db.create_unique('askbot_validationhash', ['user_id', 'type']) + + # Adding model 'AuthKeyUserAssociation' + db.create_table('askbot_authkeyuserassociation', ( + ('added_at', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)), + ('user', self.gf('django.db.models.fields.related.ForeignKey')(related_name='auth_keys', to=orm['auth.User'])), + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('key', self.gf('django.db.models.fields.CharField')(unique=True, max_length=255)), + ('provider', self.gf('django.db.models.fields.CharField')(max_length=64)), + )) + db.send_create_signal('askbot', ['AuthKeyUserAssociation']) + + # Adding model 'Badge' + db.create_table(u'badge', ( + ('multiple', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True)), + ('description', self.gf('django.db.models.fields.CharField')(max_length=300)), + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('awarded_count', self.gf('django.db.models.fields.PositiveIntegerField')(default=0)), + ('type', self.gf('django.db.models.fields.SmallIntegerField')()), + ('slug', self.gf('django.db.models.fields.SlugField')(db_index=True, max_length=50, blank=True)), + ('name', self.gf('django.db.models.fields.CharField')(max_length=50)), + )) + db.send_create_signal('askbot', ['Badge']) + + # Adding unique constraint on 'Badge', fields ['name', 'type'] + db.create_unique(u'badge', ['name', 'type']) + + # Adding model 'Award' + db.create_table(u'award', ( + ('awarded_at', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)), + ('notified', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True)), + ('object_id', self.gf('django.db.models.fields.PositiveIntegerField')()), + ('user', self.gf('django.db.models.fields.related.ForeignKey')(related_name='award_user', to=orm['auth.User'])), + ('content_type', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['contenttypes.ContentType'])), + ('badge', self.gf('django.db.models.fields.related.ForeignKey')(related_name='award_badge', to=orm['askbot.Badge'])), + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + )) + db.send_create_signal('askbot', ['Award']) + + # Adding model 'Repute' + db.create_table(u'repute', ( + ('positive', self.gf('django.db.models.fields.SmallIntegerField')(default=0)), + ('question', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['askbot.Question'])), + ('negative', self.gf('django.db.models.fields.SmallIntegerField')(default=0)), + ('reputation_type', self.gf('django.db.models.fields.SmallIntegerField')()), + ('user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'])), + ('reputed_at', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)), + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('reputation', self.gf('django.db.models.fields.IntegerField')(default=1)), + )) + db.send_create_signal('askbot', ['Repute']) + + # Adding model 'Book' + db.create_table(u'book', ( + ('publication', self.gf('django.db.models.fields.CharField')(max_length=255)), + ('short_name', self.gf('django.db.models.fields.CharField')(max_length=255)), + ('author', self.gf('django.db.models.fields.CharField')(max_length=255)), + ('cover_img', self.gf('django.db.models.fields.CharField')(max_length=255)), + ('price', self.gf('django.db.models.fields.DecimalField')(max_digits=6, decimal_places=2)), + ('title', self.gf('django.db.models.fields.CharField')(max_length=255)), + ('added_at', self.gf('django.db.models.fields.DateTimeField')()), + ('pages', self.gf('django.db.models.fields.SmallIntegerField')()), + ('tagnames', self.gf('django.db.models.fields.CharField')(max_length=125)), + ('published_at', self.gf('django.db.models.fields.DateTimeField')()), + ('user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'])), + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('last_edited_at', self.gf('django.db.models.fields.DateTimeField')()), + )) + db.send_create_signal('askbot', ['Book']) + + # Adding M2M table for field questions on 'Book' + db.create_table('book_question', ( + ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), + ('book', models.ForeignKey(orm['askbot.book'], null=False)), + ('question', models.ForeignKey(orm['askbot.question'], null=False)) + )) + db.create_unique('book_question', ['book_id', 'question_id']) + + # Adding model 'BookAuthorInfo' + db.create_table(u'book_author_info', ( + ('added_at', self.gf('django.db.models.fields.DateTimeField')()), + ('book', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['askbot.Book'])), + ('user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'])), + ('blog_url', self.gf('django.db.models.fields.CharField')(max_length=255)), + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('last_edited_at', self.gf('django.db.models.fields.DateTimeField')()), + )) + db.send_create_signal('askbot', ['BookAuthorInfo']) + + # Adding model 'BookAuthorRss' + db.create_table(u'book_author_rss', ( + ('title', self.gf('django.db.models.fields.CharField')(max_length=255)), + ('url', self.gf('django.db.models.fields.CharField')(max_length=255)), + ('added_at', self.gf('django.db.models.fields.DateTimeField')()), + ('book', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['askbot.Book'])), + ('user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'])), + ('rss_created_at', self.gf('django.db.models.fields.DateTimeField')()), + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + )) + db.send_create_signal('askbot', ['BookAuthorRss']) + + + def backwards(self, orm): + + if app_dir_name == 'forum': + # Deleting model 'Vote' + db.delete_table(u'vote') + + # Removing unique constraint on 'Vote', fields ['content_type', 'object_id', 'user'] + db.delete_unique(u'vote', ['content_type_id', 'object_id', 'user_id']) + + # Deleting model 'FlaggedItem' + db.delete_table(u'flagged_item') + + # Removing unique constraint on 'FlaggedItem', fields ['content_type', 'object_id', 'user'] + db.delete_unique(u'flagged_item', ['content_type_id', 'object_id', 'user_id']) + + # Deleting model 'Comment' + db.delete_table(u'comment') + + # Deleting model 'Tag' + db.delete_table(u'tag') + + # Deleting model 'MarkedTag' + db.delete_table('forum_markedtag') + + # Deleting model 'Question' + db.delete_table(u'question') + + # Removing M2M table for field followed_by on 'Question' + db.delete_table('question_followed_by') + + # Removing M2M table for field tags on 'Question' + db.delete_table('question_tags') + + # Deleting model 'QuestionView' + db.delete_table('forum_questionview') + + # Deleting model 'FavoriteQuestion' + db.delete_table(u'favorite_question') + + # Deleting model 'QuestionRevision' + db.delete_table(u'question_revision') + + # Deleting model 'AnonymousQuestion' + db.delete_table('forum_anonymousquestion') + + # Deleting model 'Answer' + db.delete_table(u'answer') + + # Deleting model 'AnswerRevision' + db.delete_table(u'answer_revision') + + # Deleting model 'AnonymousAnswer' + db.delete_table('forum_anonymousanswer') + + # Deleting model 'Activity' + db.delete_table(u'activity') + + # Deleting model 'EmailFeedSetting' + db.delete_table('forum_emailfeedsetting') + + # Deleting model 'ValidationHash' + db.delete_table('forum_validationhash') + + # Removing unique constraint on 'ValidationHash', fields ['user', 'type'] + db.delete_unique('forum_validationhash', ['user_id', 'type']) + + # Deleting model 'AuthKeyUserAssociation' + db.delete_table('forum_authkeyuserassociation') + + # Deleting model 'Badge' + db.delete_table(u'badge') + + # Removing unique constraint on 'Badge', fields ['name', 'type'] + db.delete_unique(u'badge', ['name', 'type']) + + # Deleting model 'Award' + db.delete_table(u'award') + + # Deleting model 'Repute' + db.delete_table(u'repute') + + # Deleting model 'Book' + db.delete_table(u'book') + + # Removing M2M table for field questions on 'Book' + db.delete_table('book_question') + + # Deleting model 'BookAuthorInfo' + db.delete_table(u'book_author_info') + + # Deleting model 'BookAuthorRss' + db.delete_table(u'book_author_rss') + else: + # Deleting model 'Vote' + db.delete_table(u'vote') + + # Removing unique constraint on 'Vote', fields ['content_type', 'object_id', 'user'] + db.delete_unique(u'vote', ['content_type_id', 'object_id', 'user_id']) + + # Deleting model 'FlaggedItem' + db.delete_table(u'flagged_item') + + # Removing unique constraint on 'FlaggedItem', fields ['content_type', 'object_id', 'user'] + db.delete_unique(u'flagged_item', ['content_type_id', 'object_id', 'user_id']) + + # Deleting model 'Comment' + db.delete_table(u'comment') + + # Deleting model 'Tag' + db.delete_table(u'tag') + + # Deleting model 'MarkedTag' + db.delete_table('askbot_markedtag') + + # Deleting model 'Question' + db.delete_table(u'question') + + # Removing M2M table for field followed_by on 'Question' + db.delete_table('question_followed_by') + + # Removing M2M table for field tags on 'Question' + db.delete_table('question_tags') + + # Deleting model 'QuestionView' + db.delete_table('askbot_questionview') + + # Deleting model 'FavoriteQuestion' + db.delete_table(u'favorite_question') + + # Deleting model 'QuestionRevision' + db.delete_table(u'question_revision') + + # Deleting model 'AnonymousQuestion' + db.delete_table('askbot_anonymousquestion') + + # Deleting model 'Answer' + db.delete_table(u'answer') + + # Deleting model 'AnswerRevision' + db.delete_table(u'answer_revision') + + # Deleting model 'AnonymousAnswer' + db.delete_table('askbot_anonymousanswer') + + # Deleting model 'Activity' + db.delete_table(u'activity') + + # Deleting model 'EmailFeedSetting' + db.delete_table('askbot_emailfeedsetting') + + # Deleting model 'ValidationHash' + db.delete_table('askbot_validationhash') + + # Removing unique constraint on 'ValidationHash', fields ['user', 'type'] + db.delete_unique('askbot_validationhash', ['user_id', 'type']) + + # Deleting model 'AuthKeyUserAssociation' + db.delete_table('askbot_authkeyuserassociation') + + # Deleting model 'Badge' + db.delete_table(u'badge') + + # Removing unique constraint on 'Badge', fields ['name', 'type'] + db.delete_unique(u'badge', ['name', 'type']) + + # Deleting model 'Award' + db.delete_table(u'award') + + # Deleting model 'Repute' + db.delete_table(u'repute') + + # Deleting model 'Book' + db.delete_table(u'book') + + # Removing M2M table for field questions on 'Book' + db.delete_table('book_question') + + # Deleting model 'BookAuthorInfo' + db.delete_table(u'book_author_info') + + # Deleting model 'BookAuthorRss' + db.delete_table(u'book_author_rss') + + + if app_dir_name == 'forum': + models = { + 'auth.group': { + 'Meta': {'object_name': 'Group'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), + 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'blank': 'True'}) + }, + 'auth.permission': { + 'Meta': {'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, + 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + }, + 'auth.user': { + 'Meta': {'object_name': 'User'}, + 'about': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'bronze': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'date_of_birth': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), + 'email_isvalid': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'email_key': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), + 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'gold': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'gravatar': ('django.db.models.fields.CharField', [], {'max_length': '32'}), + 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'blank': 'True'}), + 'hide_ignored_questions': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}), + 'is_approved': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'last_seen': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'location': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), + 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), + 'questions_per_page': ('django.db.models.fields.SmallIntegerField', [], {'default': '10'}), + 'real_name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), + 'reputation': ('django.db.models.fields.PositiveIntegerField', [], {'default': '1'}), + 'silver': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'tag_filter_setting': ('django.db.models.fields.CharField', [], {'default': "'ignored'", 'max_length': '16'}), + 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'blank': 'True'}), + 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), + 'website': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}) + }, + 'contenttypes.contenttype': { + 'Meta': {'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, + 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + 'forum.activity': { + 'Meta': {'object_name': 'Activity', 'db_table': "u'activity'"}, + 'active_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'activity_type': ('django.db.models.fields.SmallIntegerField', [], {}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_auditted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'forum.anonymousanswer': { + 'Meta': {'object_name': 'AnonymousAnswer'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ip_addr': ('django.db.models.fields.IPAddressField', [], {'max_length': '15'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'anonymous_answers'", 'to': "orm['forum.Question']"}), + 'session_key': ('django.db.models.fields.CharField', [], {'max_length': '40'}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), + 'text': ('django.db.models.fields.TextField', [], {}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}) + }, + 'forum.anonymousquestion': { + 'Meta': {'object_name': 'AnonymousQuestion'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ip_addr': ('django.db.models.fields.IPAddressField', [], {'max_length': '15'}), + 'session_key': ('django.db.models.fields.CharField', [], {'max_length': '40'}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'text': ('django.db.models.fields.TextField', [], {}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}) + }, + 'forum.answer': { + 'Meta': {'object_name': 'Answer', 'db_table': "u'answer'"}, + 'accepted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'accepted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answers'", 'to': "orm['auth.User']"}), + 'comment_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_answers'", 'null': 'True', 'to': "orm['auth.User']"}), + 'html': ('django.db.models.fields.TextField', [], {}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'last_edited_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'last_edited_answers'", 'null': 'True', 'to': "orm['auth.User']"}), + 'locked': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'locked_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'locked_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'locked_answers'", 'null': 'True', 'to': "orm['auth.User']"}), + 'offensive_flag_count': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answers'", 'to': "orm['forum.Question']"}), + 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'vote_down_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'vote_up_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'wikified_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}) + }, + 'forum.answerrevision': { + 'Meta': {'object_name': 'AnswerRevision', 'db_table': "u'answer_revision'"}, + 'answer': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'revisions'", 'to': "orm['forum.Answer']"}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answerrevisions'", 'to': "orm['auth.User']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'revised_at': ('django.db.models.fields.DateTimeField', [], {}), + 'revision': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}), + 'text': ('django.db.models.fields.TextField', [], {}) + }, + 'forum.authkeyuserassociation': { + 'Meta': {'object_name': 'AuthKeyUserAssociation'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'key': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'provider': ('django.db.models.fields.CharField', [], {'max_length': '64'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'auth_keys'", 'to': "orm['auth.User']"}) + }, + 'forum.award': { + 'Meta': {'object_name': 'Award', 'db_table': "u'award'"}, + 'awarded_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'badge': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'award_badge'", 'to': "orm['forum.Badge']"}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'notified': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'award_user'", 'to': "orm['auth.User']"}) + }, + 'forum.badge': { + 'Meta': {'unique_together': "(('name', 'type'),)", 'object_name': 'Badge', 'db_table': "u'badge'"}, + 'awarded_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'awarded_to': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'badges'", 'through': "'Award'", 'to': "orm['auth.User']"}), + 'description': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'multiple': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}), + 'slug': ('django.db.models.fields.SlugField', [], {'db_index': 'True', 'max_length': '50', 'blank': 'True'}), + 'type': ('django.db.models.fields.SmallIntegerField', [], {}) + }, + 'forum.book': { + 'Meta': {'object_name': 'Book', 'db_table': "u'book'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {}), + 'author': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'cover_img': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {}), + 'pages': ('django.db.models.fields.SmallIntegerField', [], {}), + 'price': ('django.db.models.fields.DecimalField', [], {'max_digits': '6', 'decimal_places': '2'}), + 'publication': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'published_at': ('django.db.models.fields.DateTimeField', [], {}), + 'questions': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'book'", 'db_table': "'book_question'", 'to': "orm['forum.Question']"}), + 'short_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'forum.bookauthorinfo': { + 'Meta': {'object_name': 'BookAuthorInfo', 'db_table': "u'book_author_info'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {}), + 'blog_url': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'book': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Book']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'forum.bookauthorrss': { + 'Meta': {'object_name': 'BookAuthorRss', 'db_table': "u'book_author_rss'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {}), + 'book': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Book']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'rss_created_at': ('django.db.models.fields.DateTimeField', [], {}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'url': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'forum.comment': { + 'Meta': {'object_name': 'Comment', 'db_table': "u'comment'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'comment': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'comments'", 'to': "orm['auth.User']"}) + }, + 'forum.emailfeedsetting': { + 'Meta': {'object_name': 'EmailFeedSetting'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'feed_type': ('django.db.models.fields.CharField', [], {'max_length': '16'}), + 'frequency': ('django.db.models.fields.CharField', [], {'default': "'n'", 'max_length': '8'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'reported_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}), + 'subscriber': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'forum.favoritequestion': { + 'Meta': {'object_name': 'FavoriteQuestion', 'db_table': "u'favorite_question'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Question']"}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'user_favorite_questions'", 'to': "orm['auth.User']"}) + }, + 'forum.flaggeditem': { + 'Meta': {'unique_together': "(('content_type', 'object_id', 'user'),)", 'object_name': 'FlaggedItem', 'db_table': "u'flagged_item'"}, + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'flagged_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'flaggeditems'", 'to': "orm['auth.User']"}) + }, + 'forum.markedtag': { + 'Meta': {'object_name': 'MarkedTag'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'reason': ('django.db.models.fields.CharField', [], {'max_length': '16'}), + 'tag': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'user_selections'", 'to': "orm['forum.Tag']"}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'tag_selections'", 'to': "orm['auth.User']"}) + }, + 'forum.question': { + 'Meta': {'object_name': 'Question', 'db_table': "u'question'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'answer_accepted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'answer_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'questions'", 'to': "orm['auth.User']"}), + 'close_reason': ('django.db.models.fields.SmallIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'closed': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'closed_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'closed_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'closed_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'comment_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'favorited_by': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'favorite_questions'", 'through': "'FavoriteQuestion'", 'to': "orm['auth.User']"}), + 'favourite_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'followed_by': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'followed_questions'", 'to': "orm['auth.User']"}), + 'html': ('django.db.models.fields.TextField', [], {}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_activity_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_activity_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'last_active_in_questions'", 'to': "orm['auth.User']"}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'last_edited_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'last_edited_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'locked': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'locked_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'locked_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'locked_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'offensive_flag_count': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'tags': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'questions'", 'to': "orm['forum.Tag']"}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'view_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'vote_down_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'vote_up_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'wikified_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}) + }, + 'forum.questionrevision': { + 'Meta': {'object_name': 'QuestionRevision', 'db_table': "u'question_revision'"}, + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'questionrevisions'", 'to': "orm['auth.User']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'revisions'", 'to': "orm['forum.Question']"}), + 'revised_at': ('django.db.models.fields.DateTimeField', [], {}), + 'revision': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'text': ('django.db.models.fields.TextField', [], {}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}) + }, + 'forum.questionview': { + 'Meta': {'object_name': 'QuestionView'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'viewed'", 'to': "orm['forum.Question']"}), + 'when': ('django.db.models.fields.DateTimeField', [], {}), + 'who': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'question_views'", 'to': "orm['auth.User']"}) + }, + 'forum.repute': { + 'Meta': {'object_name': 'Repute', 'db_table': "u'repute'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'negative': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'positive': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Question']"}), + 'reputation': ('django.db.models.fields.IntegerField', [], {'default': '1'}), + 'reputation_type': ('django.db.models.fields.SmallIntegerField', [], {}), + 'reputed_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'forum.tag': { + 'Meta': {'object_name': 'Tag', 'db_table': "u'tag'"}, + 'created_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'created_tags'", 'to': "orm['auth.User']"}), + 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_tags'", 'null': 'True', 'to': "orm['auth.User']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'used_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}) + }, + 'forum.validationhash': { + 'Meta': {'unique_together': "(('user', 'type'),)", 'object_name': 'ValidationHash'}, + 'expiration': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2010, 4, 25, 13, 14, 41, 714642)'}), + 'hash_code': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'seed': ('django.db.models.fields.CharField', [], {'max_length': '12'}), + 'type': ('django.db.models.fields.CharField', [], {'max_length': '12'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'forum.vote': { + 'Meta': {'unique_together': "(('content_type', 'object_id', 'user'),)", 'object_name': 'Vote', 'db_table': "u'vote'"}, + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'votes'", 'to': "orm['auth.User']"}), + 'vote': ('django.db.models.fields.SmallIntegerField', [], {}), + 'voted_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}) + } + } + else: + models = { + 'auth.group': { + 'Meta': {'object_name': 'Group'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), + 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'blank': 'True'}) + }, + 'auth.permission': { + 'Meta': {'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, + 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + }, + 'auth.user': { + 'Meta': {'object_name': 'User'}, + 'about': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'bronze': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'date_of_birth': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), + 'email_isvalid': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'email_key': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), + 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'gold': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'gravatar': ('django.db.models.fields.CharField', [], {'max_length': '32'}), + 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'blank': 'True'}), + 'hide_ignored_questions': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}), + 'is_approved': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'last_seen': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'location': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), + 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), + 'questions_per_page': ('django.db.models.fields.SmallIntegerField', [], {'default': '10'}), + 'real_name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), + 'reputation': ('django.db.models.fields.PositiveIntegerField', [], {'default': '1'}), + 'silver': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'tag_filter_setting': ('django.db.models.fields.CharField', [], {'default': "'ignored'", 'max_length': '16'}), + 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'blank': 'True'}), + 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), + 'website': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}) + }, + 'contenttypes.contenttype': { + 'Meta': {'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, + 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + 'askbot.activity': { + 'Meta': {'object_name': 'Activity', 'db_table': "u'activity'"}, + 'active_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'activity_type': ('django.db.models.fields.SmallIntegerField', [], {}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_auditted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'askbot.anonymousanswer': { + 'Meta': {'object_name': 'AnonymousAnswer'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ip_addr': ('django.db.models.fields.IPAddressField', [], {'max_length': '15'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'anonymous_answers'", 'to': "orm['askbot.Question']"}), + 'session_key': ('django.db.models.fields.CharField', [], {'max_length': '40'}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), + 'text': ('django.db.models.fields.TextField', [], {}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}) + }, + 'askbot.anonymousquestion': { + 'Meta': {'object_name': 'AnonymousQuestion'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ip_addr': ('django.db.models.fields.IPAddressField', [], {'max_length': '15'}), + 'session_key': ('django.db.models.fields.CharField', [], {'max_length': '40'}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'text': ('django.db.models.fields.TextField', [], {}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}) + }, + 'askbot.answer': { + 'Meta': {'object_name': 'Answer', 'db_table': "u'answer'"}, + 'accepted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'accepted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answers'", 'to': "orm['auth.User']"}), + 'comment_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_answers'", 'null': 'True', 'to': "orm['auth.User']"}), + 'html': ('django.db.models.fields.TextField', [], {}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'last_edited_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'last_edited_answers'", 'null': 'True', 'to': "orm['auth.User']"}), + 'locked': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'locked_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'locked_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'locked_answers'", 'null': 'True', 'to': "orm['auth.User']"}), + 'offensive_flag_count': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answers'", 'to': "orm['askbot.Question']"}), + 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'vote_down_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'vote_up_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'wikified_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}) + }, + 'askbot.answerrevision': { + 'Meta': {'object_name': 'AnswerRevision', 'db_table': "u'answer_revision'"}, + 'answer': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'revisions'", 'to': "orm['askbot.Answer']"}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answerrevisions'", 'to': "orm['auth.User']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'revised_at': ('django.db.models.fields.DateTimeField', [], {}), + 'revision': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}), + 'text': ('django.db.models.fields.TextField', [], {}) + }, + 'askbot.authkeyuserassociation': { + 'Meta': {'object_name': 'AuthKeyUserAssociation'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'key': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'provider': ('django.db.models.fields.CharField', [], {'max_length': '64'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'auth_keys'", 'to': "orm['auth.User']"}) + }, + 'askbot.award': { + 'Meta': {'object_name': 'Award', 'db_table': "u'award'"}, + 'awarded_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'badge': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'award_badge'", 'to': "orm['askbot.Badge']"}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'notified': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'award_user'", 'to': "orm['auth.User']"}) + }, + 'askbot.badge': { + 'Meta': {'unique_together': "(('name', 'type'),)", 'object_name': 'Badge', 'db_table': "u'badge'"}, + 'awarded_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'awarded_to': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'badges'", 'through': "'Award'", 'to': "orm['auth.User']"}), + 'description': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'multiple': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}), + 'slug': ('django.db.models.fields.SlugField', [], {'db_index': 'True', 'max_length': '50', 'blank': 'True'}), + 'type': ('django.db.models.fields.SmallIntegerField', [], {}) + }, + 'askbot.book': { + 'Meta': {'object_name': 'Book', 'db_table': "u'book'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {}), + 'author': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'cover_img': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {}), + 'pages': ('django.db.models.fields.SmallIntegerField', [], {}), + 'price': ('django.db.models.fields.DecimalField', [], {'max_digits': '6', 'decimal_places': '2'}), + 'publication': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'published_at': ('django.db.models.fields.DateTimeField', [], {}), + 'questions': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'book'", 'db_table': "'book_question'", 'to': "orm['askbot.Question']"}), + 'short_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'askbot.bookauthorinfo': { + 'Meta': {'object_name': 'BookAuthorInfo', 'db_table': "u'book_author_info'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {}), + 'blog_url': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'book': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['askbot.Book']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'askbot.bookauthorrss': { + 'Meta': {'object_name': 'BookAuthorRss', 'db_table': "u'book_author_rss'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {}), + 'book': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['askbot.Book']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'rss_created_at': ('django.db.models.fields.DateTimeField', [], {}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'url': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'askbot.comment': { + 'Meta': {'object_name': 'Comment', 'db_table': "u'comment'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'comment': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'comments'", 'to': "orm['auth.User']"}) + }, + 'askbot.emailfeedsetting': { + 'Meta': {'object_name': 'EmailFeedSetting'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'feed_type': ('django.db.models.fields.CharField', [], {'max_length': '16'}), + 'frequency': ('django.db.models.fields.CharField', [], {'default': "'n'", 'max_length': '8'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'reported_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}), + 'subscriber': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'askbot.favoritequestion': { + 'Meta': {'object_name': 'FavoriteQuestion', 'db_table': "u'favorite_question'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['askbot.Question']"}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'user_favorite_questions'", 'to': "orm['auth.User']"}) + }, + 'askbot.flaggeditem': { + 'Meta': {'unique_together': "(('content_type', 'object_id', 'user'),)", 'object_name': 'FlaggedItem', 'db_table': "u'flagged_item'"}, + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'flagged_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'flaggeditems'", 'to': "orm['auth.User']"}) + }, + 'askbot.markedtag': { + 'Meta': {'object_name': 'MarkedTag'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'reason': ('django.db.models.fields.CharField', [], {'max_length': '16'}), + 'tag': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'user_selections'", 'to': "orm['askbot.Tag']"}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'tag_selections'", 'to': "orm['auth.User']"}) + }, + 'askbot.question': { + 'Meta': {'object_name': 'Question', 'db_table': "u'question'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'answer_accepted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'answer_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'questions'", 'to': "orm['auth.User']"}), + 'close_reason': ('django.db.models.fields.SmallIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'closed': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'closed_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'closed_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'closed_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'comment_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'favorited_by': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'favorite_questions'", 'through': "'FavoriteQuestion'", 'to': "orm['auth.User']"}), + 'favourite_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'followed_by': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'followed_questions'", 'to': "orm['auth.User']"}), + 'html': ('django.db.models.fields.TextField', [], {}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_activity_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_activity_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'last_active_in_questions'", 'to': "orm['auth.User']"}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'last_edited_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'last_edited_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'locked': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'locked_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'locked_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'locked_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'offensive_flag_count': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'tags': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'questions'", 'to': "orm['askbot.Tag']"}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'view_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'vote_down_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'vote_up_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'wikified_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}) + }, + 'askbot.questionrevision': { + 'Meta': {'object_name': 'QuestionRevision', 'db_table': "u'question_revision'"}, + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'questionrevisions'", 'to': "orm['auth.User']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'revisions'", 'to': "orm['askbot.Question']"}), + 'revised_at': ('django.db.models.fields.DateTimeField', [], {}), + 'revision': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'text': ('django.db.models.fields.TextField', [], {}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}) + }, + 'askbot.questionview': { + 'Meta': {'object_name': 'QuestionView'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'viewed'", 'to': "orm['askbot.Question']"}), + 'when': ('django.db.models.fields.DateTimeField', [], {}), + 'who': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'question_views'", 'to': "orm['auth.User']"}) + }, + 'askbot.repute': { + 'Meta': {'object_name': 'Repute', 'db_table': "u'repute'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'negative': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'positive': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['askbot.Question']"}), + 'reputation': ('django.db.models.fields.IntegerField', [], {'default': '1'}), + 'reputation_type': ('django.db.models.fields.SmallIntegerField', [], {}), + 'reputed_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'askbot.tag': { + 'Meta': {'object_name': 'Tag', 'db_table': "u'tag'"}, + 'created_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'created_tags'", 'to': "orm['auth.User']"}), + 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_tags'", 'null': 'True', 'to': "orm['auth.User']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'used_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}) + }, + 'askbot.validationhash': { + 'Meta': {'unique_together': "(('user', 'type'),)", 'object_name': 'ValidationHash'}, + 'expiration': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2010, 4, 25, 13, 14, 41, 714642)'}), + 'hash_code': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'seed': ('django.db.models.fields.CharField', [], {'max_length': '12'}), + 'type': ('django.db.models.fields.CharField', [], {'max_length': '12'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'askbot.vote': { + 'Meta': {'unique_together': "(('content_type', 'object_id', 'user'),)", 'object_name': 'Vote', 'db_table': "u'vote'"}, + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'votes'", 'to': "orm['auth.User']"}), + 'vote': ('django.db.models.fields.SmallIntegerField', [], {}), + 'voted_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}) + } + } + + complete_apps = [app_dir_name] diff --git a/askbot/migrations/0002_auto__add_field_answer_text__chg_field_answer_html__add_field_question.py b/askbot/migrations/0002_auto__add_field_answer_text__chg_field_answer_html__add_field_question.py new file mode 100644 index 00000000..9b8cdab7 --- /dev/null +++ b/askbot/migrations/0002_auto__add_field_answer_text__chg_field_answer_html__add_field_question.py @@ -0,0 +1,700 @@ +# encoding: utf-8 +import os +import datetime +from south.db import db +from south.v2 import SchemaMigration +from django.db import models + +class Migration(SchemaMigration): + + def forwards(self, orm): + + # Adding field 'Answer.text' + db.add_column(u'answer', 'text', self.gf('django.db.models.fields.TextField')(null=True), keep_default=False) + + # Changing field 'Answer.html' + db.alter_column(u'answer', 'html', self.gf('django.db.models.fields.TextField')(null=True)) + + # Adding field 'Question.text' + db.add_column(u'question', 'text', self.gf('django.db.models.fields.TextField')(null=True), keep_default=False) + + # Changing field 'Question.html' + db.alter_column(u'question', 'html', self.gf('django.db.models.fields.TextField')(null=True)) + + + def backwards(self, orm): + + # Deleting field 'Answer.text' + db.delete_column(u'answer', 'text') + + # Changing field 'Answer.html' + db.alter_column(u'answer', 'html', self.gf('django.db.models.fields.TextField')()) + + # Deleting field 'Question.text' + db.delete_column(u'question', 'text') + + # Changing field 'Question.html' + db.alter_column(u'question', 'html', self.gf('django.db.models.fields.TextField')()) + + app_dir_name = os.path.basename(os.path.dirname(os.path.dirname(__file__))) + + if app_dir_name == 'forum': + models = { + 'auth.group': { + 'Meta': {'object_name': 'Group'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), + 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'blank': 'True'}) + }, + 'auth.permission': { + 'Meta': {'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, + 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + }, + 'auth.user': { + 'Meta': {'object_name': 'User'}, + 'about': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'bronze': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'date_of_birth': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), + 'email_isvalid': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'email_key': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), + 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'gold': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'gravatar': ('django.db.models.fields.CharField', [], {'max_length': '32'}), + 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'blank': 'True'}), + 'hide_ignored_questions': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}), + 'is_approved': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'last_seen': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'location': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), + 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), + 'questions_per_page': ('django.db.models.fields.SmallIntegerField', [], {'default': '10'}), + 'real_name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), + 'reputation': ('django.db.models.fields.PositiveIntegerField', [], {'default': '1'}), + 'silver': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'tag_filter_setting': ('django.db.models.fields.CharField', [], {'default': "'ignored'", 'max_length': '16'}), + 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'blank': 'True'}), + 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), + 'website': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}) + }, + 'contenttypes.contenttype': { + 'Meta': {'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, + 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + 'forum.activity': { + 'Meta': {'object_name': 'Activity', 'db_table': "u'activity'"}, + 'active_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'activity_type': ('django.db.models.fields.SmallIntegerField', [], {}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_auditted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'forum.anonymousanswer': { + 'Meta': {'object_name': 'AnonymousAnswer'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ip_addr': ('django.db.models.fields.IPAddressField', [], {'max_length': '15'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'anonymous_answers'", 'to': "orm['forum.Question']"}), + 'session_key': ('django.db.models.fields.CharField', [], {'max_length': '40'}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), + 'text': ('django.db.models.fields.TextField', [], {}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}) + }, + 'forum.anonymousquestion': { + 'Meta': {'object_name': 'AnonymousQuestion'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ip_addr': ('django.db.models.fields.IPAddressField', [], {'max_length': '15'}), + 'session_key': ('django.db.models.fields.CharField', [], {'max_length': '40'}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'text': ('django.db.models.fields.TextField', [], {}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}) + }, + 'forum.answer': { + 'Meta': {'object_name': 'Answer', 'db_table': "u'answer'"}, + 'accepted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'accepted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answers'", 'to': "orm['auth.User']"}), + 'comment_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_answers'", 'null': 'True', 'to': "orm['auth.User']"}), + 'html': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'last_edited_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'last_edited_answers'", 'null': 'True', 'to': "orm['auth.User']"}), + 'locked': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'locked_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'locked_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'locked_answers'", 'null': 'True', 'to': "orm['auth.User']"}), + 'offensive_flag_count': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answers'", 'to': "orm['forum.Question']"}), + 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'text': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'vote_down_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'vote_up_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'wikified_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}) + }, + 'forum.answerrevision': { + 'Meta': {'object_name': 'AnswerRevision', 'db_table': "u'answer_revision'"}, + 'answer': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'revisions'", 'to': "orm['forum.Answer']"}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answerrevisions'", 'to': "orm['auth.User']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'revised_at': ('django.db.models.fields.DateTimeField', [], {}), + 'revision': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}), + 'text': ('django.db.models.fields.TextField', [], {}) + }, + 'forum.authkeyuserassociation': { + 'Meta': {'object_name': 'AuthKeyUserAssociation'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'key': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'provider': ('django.db.models.fields.CharField', [], {'max_length': '64'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'auth_keys'", 'to': "orm['auth.User']"}) + }, + 'forum.award': { + 'Meta': {'object_name': 'Award', 'db_table': "u'award'"}, + 'awarded_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'badge': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'award_badge'", 'to': "orm['forum.Badge']"}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'notified': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'award_user'", 'to': "orm['auth.User']"}) + }, + 'forum.badge': { + 'Meta': {'unique_together': "(('name', 'type'),)", 'object_name': 'Badge', 'db_table': "u'badge'"}, + 'awarded_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'awarded_to': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'badges'", 'through': "'Award'", 'to': "orm['auth.User']"}), + 'description': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'multiple': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}), + 'slug': ('django.db.models.fields.SlugField', [], {'db_index': 'True', 'max_length': '50', 'blank': 'True'}), + 'type': ('django.db.models.fields.SmallIntegerField', [], {}) + }, + 'forum.book': { + 'Meta': {'object_name': 'Book', 'db_table': "u'book'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {}), + 'author': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'cover_img': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {}), + 'pages': ('django.db.models.fields.SmallIntegerField', [], {}), + 'price': ('django.db.models.fields.DecimalField', [], {'max_digits': '6', 'decimal_places': '2'}), + 'publication': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'published_at': ('django.db.models.fields.DateTimeField', [], {}), + 'questions': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'book'", 'db_table': "'book_question'", 'to': "orm['forum.Question']"}), + 'short_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'forum.bookauthorinfo': { + 'Meta': {'object_name': 'BookAuthorInfo', 'db_table': "u'book_author_info'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {}), + 'blog_url': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'book': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Book']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'forum.bookauthorrss': { + 'Meta': {'object_name': 'BookAuthorRss', 'db_table': "u'book_author_rss'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {}), + 'book': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Book']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'rss_created_at': ('django.db.models.fields.DateTimeField', [], {}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'url': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'forum.comment': { + 'Meta': {'object_name': 'Comment', 'db_table': "u'comment'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'comment': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'comments'", 'to': "orm['auth.User']"}) + }, + 'forum.emailfeedsetting': { + 'Meta': {'object_name': 'EmailFeedSetting'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'feed_type': ('django.db.models.fields.CharField', [], {'max_length': '16'}), + 'frequency': ('django.db.models.fields.CharField', [], {'default': "'n'", 'max_length': '8'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'reported_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}), + 'subscriber': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'forum.favoritequestion': { + 'Meta': {'object_name': 'FavoriteQuestion', 'db_table': "u'favorite_question'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Question']"}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'user_favorite_questions'", 'to': "orm['auth.User']"}) + }, + 'forum.flaggeditem': { + 'Meta': {'unique_together': "(('content_type', 'object_id', 'user'),)", 'object_name': 'FlaggedItem', 'db_table': "u'flagged_item'"}, + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'flagged_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'flaggeditems'", 'to': "orm['auth.User']"}) + }, + 'forum.markedtag': { + 'Meta': {'object_name': 'MarkedTag'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'reason': ('django.db.models.fields.CharField', [], {'max_length': '16'}), + 'tag': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'user_selections'", 'to': "orm['forum.Tag']"}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'tag_selections'", 'to': "orm['auth.User']"}) + }, + 'forum.question': { + 'Meta': {'object_name': 'Question', 'db_table': "u'question'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'answer_accepted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'answer_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'questions'", 'to': "orm['auth.User']"}), + 'close_reason': ('django.db.models.fields.SmallIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'closed': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'closed_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'closed_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'closed_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'comment_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'favorited_by': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'favorite_questions'", 'through': "'FavoriteQuestion'", 'to': "orm['auth.User']"}), + 'favourite_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'followed_by': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'followed_questions'", 'to': "orm['auth.User']"}), + 'html': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_activity_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_activity_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'last_active_in_questions'", 'to': "orm['auth.User']"}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'last_edited_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'last_edited_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'locked': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'locked_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'locked_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'locked_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'offensive_flag_count': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'tags': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'questions'", 'to': "orm['forum.Tag']"}), + 'text': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'view_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'vote_down_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'vote_up_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'wikified_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}) + }, + 'forum.questionrevision': { + 'Meta': {'object_name': 'QuestionRevision', 'db_table': "u'question_revision'"}, + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'questionrevisions'", 'to': "orm['auth.User']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'revisions'", 'to': "orm['forum.Question']"}), + 'revised_at': ('django.db.models.fields.DateTimeField', [], {}), + 'revision': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'text': ('django.db.models.fields.TextField', [], {}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}) + }, + 'forum.questionview': { + 'Meta': {'object_name': 'QuestionView'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'viewed'", 'to': "orm['forum.Question']"}), + 'when': ('django.db.models.fields.DateTimeField', [], {}), + 'who': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'question_views'", 'to': "orm['auth.User']"}) + }, + 'forum.repute': { + 'Meta': {'object_name': 'Repute', 'db_table': "u'repute'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'negative': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'positive': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Question']"}), + 'reputation': ('django.db.models.fields.IntegerField', [], {'default': '1'}), + 'reputation_type': ('django.db.models.fields.SmallIntegerField', [], {}), + 'reputed_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'forum.tag': { + 'Meta': {'object_name': 'Tag', 'db_table': "u'tag'"}, + 'created_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'created_tags'", 'to': "orm['auth.User']"}), + 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_tags'", 'null': 'True', 'to': "orm['auth.User']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'used_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}) + }, + 'forum.validationhash': { + 'Meta': {'unique_together': "(('user', 'type'),)", 'object_name': 'ValidationHash'}, + 'expiration': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2010, 4, 25, 16, 21, 32, 856067)'}), + 'hash_code': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'seed': ('django.db.models.fields.CharField', [], {'max_length': '12'}), + 'type': ('django.db.models.fields.CharField', [], {'max_length': '12'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'forum.vote': { + 'Meta': {'unique_together': "(('content_type', 'object_id', 'user'),)", 'object_name': 'Vote', 'db_table': "u'vote'"}, + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'votes'", 'to': "orm['auth.User']"}), + 'vote': ('django.db.models.fields.SmallIntegerField', [], {}), + 'voted_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}) + } + } + else: + models = { + 'auth.group': { + 'Meta': {'object_name': 'Group'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), + 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'blank': 'True'}) + }, + 'auth.permission': { + 'Meta': {'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, + 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + }, + 'auth.user': { + 'Meta': {'object_name': 'User'}, + 'about': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'bronze': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'date_of_birth': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), + 'email_isvalid': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'email_key': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), + 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'gold': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'gravatar': ('django.db.models.fields.CharField', [], {'max_length': '32'}), + 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'blank': 'True'}), + 'hide_ignored_questions': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}), + 'is_approved': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'last_seen': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'location': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), + 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), + 'questions_per_page': ('django.db.models.fields.SmallIntegerField', [], {'default': '10'}), + 'real_name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), + 'reputation': ('django.db.models.fields.PositiveIntegerField', [], {'default': '1'}), + 'silver': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'tag_filter_setting': ('django.db.models.fields.CharField', [], {'default': "'ignored'", 'max_length': '16'}), + 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'blank': 'True'}), + 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), + 'website': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}) + }, + 'contenttypes.contenttype': { + 'Meta': {'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, + 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + 'askbot.activity': { + 'Meta': {'object_name': 'Activity', 'db_table': "u'activity'"}, + 'active_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'activity_type': ('django.db.models.fields.SmallIntegerField', [], {}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_auditted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'askbot.anonymousanswer': { + 'Meta': {'object_name': 'AnonymousAnswer'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ip_addr': ('django.db.models.fields.IPAddressField', [], {'max_length': '15'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'anonymous_answers'", 'to': "orm['askbot.Question']"}), + 'session_key': ('django.db.models.fields.CharField', [], {'max_length': '40'}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), + 'text': ('django.db.models.fields.TextField', [], {}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}) + }, + 'askbot.anonymousquestion': { + 'Meta': {'object_name': 'AnonymousQuestion'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ip_addr': ('django.db.models.fields.IPAddressField', [], {'max_length': '15'}), + 'session_key': ('django.db.models.fields.CharField', [], {'max_length': '40'}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'text': ('django.db.models.fields.TextField', [], {}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}) + }, + 'askbot.answer': { + 'Meta': {'object_name': 'Answer', 'db_table': "u'answer'"}, + 'accepted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'accepted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answers'", 'to': "orm['auth.User']"}), + 'comment_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_answers'", 'null': 'True', 'to': "orm['auth.User']"}), + 'html': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'last_edited_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'last_edited_answers'", 'null': 'True', 'to': "orm['auth.User']"}), + 'locked': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'locked_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'locked_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'locked_answers'", 'null': 'True', 'to': "orm['auth.User']"}), + 'offensive_flag_count': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answers'", 'to': "orm['askbot.Question']"}), + 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'text': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'vote_down_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'vote_up_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'wikified_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}) + }, + 'askbot.answerrevision': { + 'Meta': {'object_name': 'AnswerRevision', 'db_table': "u'answer_revision'"}, + 'answer': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'revisions'", 'to': "orm['askbot.Answer']"}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answerrevisions'", 'to': "orm['auth.User']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'revised_at': ('django.db.models.fields.DateTimeField', [], {}), + 'revision': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}), + 'text': ('django.db.models.fields.TextField', [], {}) + }, + 'askbot.authkeyuserassociation': { + 'Meta': {'object_name': 'AuthKeyUserAssociation'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'key': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'provider': ('django.db.models.fields.CharField', [], {'max_length': '64'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'auth_keys'", 'to': "orm['auth.User']"}) + }, + 'askbot.award': { + 'Meta': {'object_name': 'Award', 'db_table': "u'award'"}, + 'awarded_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'badge': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'award_badge'", 'to': "orm['askbot.Badge']"}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'notified': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'award_user'", 'to': "orm['auth.User']"}) + }, + 'askbot.badge': { + 'Meta': {'unique_together': "(('name', 'type'),)", 'object_name': 'Badge', 'db_table': "u'badge'"}, + 'awarded_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'awarded_to': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'badges'", 'through': "'Award'", 'to': "orm['auth.User']"}), + 'description': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'multiple': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}), + 'slug': ('django.db.models.fields.SlugField', [], {'db_index': 'True', 'max_length': '50', 'blank': 'True'}), + 'type': ('django.db.models.fields.SmallIntegerField', [], {}) + }, + 'askbot.book': { + 'Meta': {'object_name': 'Book', 'db_table': "u'book'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {}), + 'author': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'cover_img': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {}), + 'pages': ('django.db.models.fields.SmallIntegerField', [], {}), + 'price': ('django.db.models.fields.DecimalField', [], {'max_digits': '6', 'decimal_places': '2'}), + 'publication': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'published_at': ('django.db.models.fields.DateTimeField', [], {}), + 'questions': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'book'", 'db_table': "'book_question'", 'to': "orm['askbot.Question']"}), + 'short_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'askbot.bookauthorinfo': { + 'Meta': {'object_name': 'BookAuthorInfo', 'db_table': "u'book_author_info'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {}), + 'blog_url': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'book': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['askbot.Book']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'askbot.bookauthorrss': { + 'Meta': {'object_name': 'BookAuthorRss', 'db_table': "u'book_author_rss'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {}), + 'book': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['askbot.Book']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'rss_created_at': ('django.db.models.fields.DateTimeField', [], {}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'url': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'askbot.comment': { + 'Meta': {'object_name': 'Comment', 'db_table': "u'comment'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'comment': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'comments'", 'to': "orm['auth.User']"}) + }, + 'askbot.emailfeedsetting': { + 'Meta': {'object_name': 'EmailFeedSetting'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'feed_type': ('django.db.models.fields.CharField', [], {'max_length': '16'}), + 'frequency': ('django.db.models.fields.CharField', [], {'default': "'n'", 'max_length': '8'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'reported_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}), + 'subscriber': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'askbot.favoritequestion': { + 'Meta': {'object_name': 'FavoriteQuestion', 'db_table': "u'favorite_question'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['askbot.Question']"}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'user_favorite_questions'", 'to': "orm['auth.User']"}) + }, + 'askbot.flaggeditem': { + 'Meta': {'unique_together': "(('content_type', 'object_id', 'user'),)", 'object_name': 'FlaggedItem', 'db_table': "u'flagged_item'"}, + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'flagged_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'flaggeditems'", 'to': "orm['auth.User']"}) + }, + 'askbot.markedtag': { + 'Meta': {'object_name': 'MarkedTag'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'reason': ('django.db.models.fields.CharField', [], {'max_length': '16'}), + 'tag': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'user_selections'", 'to': "orm['askbot.Tag']"}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'tag_selections'", 'to': "orm['auth.User']"}) + }, + 'askbot.question': { + 'Meta': {'object_name': 'Question', 'db_table': "u'question'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'answer_accepted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'answer_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'questions'", 'to': "orm['auth.User']"}), + 'close_reason': ('django.db.models.fields.SmallIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'closed': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'closed_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'closed_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'closed_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'comment_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'favorited_by': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'favorite_questions'", 'through': "'FavoriteQuestion'", 'to': "orm['auth.User']"}), + 'favourite_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'followed_by': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'followed_questions'", 'to': "orm['auth.User']"}), + 'html': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_activity_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_activity_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'last_active_in_questions'", 'to': "orm['auth.User']"}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'last_edited_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'last_edited_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'locked': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'locked_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'locked_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'locked_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'offensive_flag_count': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'tags': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'questions'", 'to': "orm['askbot.Tag']"}), + 'text': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'view_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'vote_down_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'vote_up_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'wikified_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}) + }, + 'askbot.questionrevision': { + 'Meta': {'object_name': 'QuestionRevision', 'db_table': "u'question_revision'"}, + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'questionrevisions'", 'to': "orm['auth.User']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'revisions'", 'to': "orm['askbot.Question']"}), + 'revised_at': ('django.db.models.fields.DateTimeField', [], {}), + 'revision': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'text': ('django.db.models.fields.TextField', [], {}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}) + }, + 'askbot.questionview': { + 'Meta': {'object_name': 'QuestionView'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'viewed'", 'to': "orm['askbot.Question']"}), + 'when': ('django.db.models.fields.DateTimeField', [], {}), + 'who': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'question_views'", 'to': "orm['auth.User']"}) + }, + 'askbot.repute': { + 'Meta': {'object_name': 'Repute', 'db_table': "u'repute'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'negative': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'positive': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['askbot.Question']"}), + 'reputation': ('django.db.models.fields.IntegerField', [], {'default': '1'}), + 'reputation_type': ('django.db.models.fields.SmallIntegerField', [], {}), + 'reputed_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'askbot.tag': { + 'Meta': {'object_name': 'Tag', 'db_table': "u'tag'"}, + 'created_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'created_tags'", 'to': "orm['auth.User']"}), + 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_tags'", 'null': 'True', 'to': "orm['auth.User']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'used_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}) + }, + 'askbot.validationhash': { + 'Meta': {'unique_together': "(('user', 'type'),)", 'object_name': 'ValidationHash'}, + 'expiration': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2010, 4, 25, 16, 21, 32, 856067)'}), + 'hash_code': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'seed': ('django.db.models.fields.CharField', [], {'max_length': '12'}), + 'type': ('django.db.models.fields.CharField', [], {'max_length': '12'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'askbot.vote': { + 'Meta': {'unique_together': "(('content_type', 'object_id', 'user'),)", 'object_name': 'Vote', 'db_table': "u'vote'"}, + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'votes'", 'to': "orm['auth.User']"}), + 'vote': ('django.db.models.fields.SmallIntegerField', [], {}), + 'voted_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}) + } + } + + complete_apps = [app_dir_name] diff --git a/askbot/migrations/0003_copy_denorm_text_record_to_posts_for_fulltext_search.py b/askbot/migrations/0003_copy_denorm_text_record_to_posts_for_fulltext_search.py new file mode 100644 index 00000000..3227a24f --- /dev/null +++ b/askbot/migrations/0003_copy_denorm_text_record_to_posts_for_fulltext_search.py @@ -0,0 +1,687 @@ +# encoding: utf-8 +import datetime +import os +from south.db import db +from south.v2 import DataMigration +from django.db import models + +class Migration(DataMigration): + + def forwards(self, orm): + "Write your forwards methods here." + for q in orm.Question.objects.all(): + r = q.revisions.all()[0] #cannot use get_latest_revision() + q.text = r.text + q.save() + for a in orm.Answer.objects.all(): + r = a.revisions.all()[0] + a.text = r.text + a.save() + + def backwards(self, orm): + "Write your backwards methods here." + pass#there's no need to clean data here, just delete columns + + forum_app_name = os.path.basename(os.path.dirname(os.path.dirname(__file__))) + if forum_app_name == 'forum': + models = { + 'auth.group': { + 'Meta': {'object_name': 'Group'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), + 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'blank': 'True'}) + }, + 'auth.permission': { + 'Meta': {'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, + 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + }, + 'auth.user': { + 'Meta': {'object_name': 'User'}, + 'about': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'bronze': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'date_of_birth': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), + 'email_isvalid': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'email_key': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), + 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'gold': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'gravatar': ('django.db.models.fields.CharField', [], {'max_length': '32'}), + 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'blank': 'True'}), + 'hide_ignored_questions': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}), + 'is_approved': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'last_seen': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'location': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), + 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), + 'questions_per_page': ('django.db.models.fields.SmallIntegerField', [], {'default': '10'}), + 'real_name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), + 'reputation': ('django.db.models.fields.PositiveIntegerField', [], {'default': '1'}), + 'silver': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'tag_filter_setting': ('django.db.models.fields.CharField', [], {'default': "'ignored'", 'max_length': '16'}), + 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'blank': 'True'}), + 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), + 'website': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}) + }, + 'contenttypes.contenttype': { + 'Meta': {'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, + 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + 'forum.activity': { + 'Meta': {'object_name': 'Activity', 'db_table': "u'activity'"}, + 'active_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'activity_type': ('django.db.models.fields.SmallIntegerField', [], {}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_auditted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'forum.anonymousanswer': { + 'Meta': {'object_name': 'AnonymousAnswer'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ip_addr': ('django.db.models.fields.IPAddressField', [], {'max_length': '15'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'anonymous_answers'", 'to': "orm['forum.Question']"}), + 'session_key': ('django.db.models.fields.CharField', [], {'max_length': '40'}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), + 'text': ('django.db.models.fields.TextField', [], {}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}) + }, + 'forum.anonymousquestion': { + 'Meta': {'object_name': 'AnonymousQuestion'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ip_addr': ('django.db.models.fields.IPAddressField', [], {'max_length': '15'}), + 'session_key': ('django.db.models.fields.CharField', [], {'max_length': '40'}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'text': ('django.db.models.fields.TextField', [], {}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}) + }, + 'forum.answer': { + 'Meta': {'object_name': 'Answer', 'db_table': "u'answer'"}, + 'accepted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'accepted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answers'", 'to': "orm['auth.User']"}), + 'comment_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_answers'", 'null': 'True', 'to': "orm['auth.User']"}), + 'html': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'last_edited_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'last_edited_answers'", 'null': 'True', 'to': "orm['auth.User']"}), + 'locked': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'locked_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'locked_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'locked_answers'", 'null': 'True', 'to': "orm['auth.User']"}), + 'offensive_flag_count': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answers'", 'to': "orm['forum.Question']"}), + 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'text': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'vote_down_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'vote_up_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'wikified_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}) + }, + 'forum.answerrevision': { + 'Meta': {'object_name': 'AnswerRevision', 'db_table': "u'answer_revision'"}, + 'answer': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'revisions'", 'to': "orm['forum.Answer']"}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answerrevisions'", 'to': "orm['auth.User']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'revised_at': ('django.db.models.fields.DateTimeField', [], {}), + 'revision': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}), + 'text': ('django.db.models.fields.TextField', [], {}) + }, + 'forum.authkeyuserassociation': { + 'Meta': {'object_name': 'AuthKeyUserAssociation'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'key': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'provider': ('django.db.models.fields.CharField', [], {'max_length': '64'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'auth_keys'", 'to': "orm['auth.User']"}) + }, + 'forum.award': { + 'Meta': {'object_name': 'Award', 'db_table': "u'award'"}, + 'awarded_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'badge': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'award_badge'", 'to': "orm['forum.Badge']"}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'notified': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'award_user'", 'to': "orm['auth.User']"}) + }, + 'forum.badge': { + 'Meta': {'unique_together': "(('name', 'type'),)", 'object_name': 'Badge', 'db_table': "u'badge'"}, + 'awarded_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'awarded_to': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'badges'", 'through': "'Award'", 'to': "orm['auth.User']"}), + 'description': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'multiple': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}), + 'slug': ('django.db.models.fields.SlugField', [], {'db_index': 'True', 'max_length': '50', 'blank': 'True'}), + 'type': ('django.db.models.fields.SmallIntegerField', [], {}) + }, + 'forum.book': { + 'Meta': {'object_name': 'Book', 'db_table': "u'book'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {}), + 'author': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'cover_img': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {}), + 'pages': ('django.db.models.fields.SmallIntegerField', [], {}), + 'price': ('django.db.models.fields.DecimalField', [], {'max_digits': '6', 'decimal_places': '2'}), + 'publication': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'published_at': ('django.db.models.fields.DateTimeField', [], {}), + 'questions': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'book'", 'db_table': "'book_question'", 'to': "orm['forum.Question']"}), + 'short_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'forum.bookauthorinfo': { + 'Meta': {'object_name': 'BookAuthorInfo', 'db_table': "u'book_author_info'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {}), + 'blog_url': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'book': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Book']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'forum.bookauthorrss': { + 'Meta': {'object_name': 'BookAuthorRss', 'db_table': "u'book_author_rss'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {}), + 'book': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Book']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'rss_created_at': ('django.db.models.fields.DateTimeField', [], {}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'url': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'forum.comment': { + 'Meta': {'object_name': 'Comment', 'db_table': "u'comment'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'comment': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'comments'", 'to': "orm['auth.User']"}) + }, + 'forum.emailfeedsetting': { + 'Meta': {'object_name': 'EmailFeedSetting'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'feed_type': ('django.db.models.fields.CharField', [], {'max_length': '16'}), + 'frequency': ('django.db.models.fields.CharField', [], {'default': "'n'", 'max_length': '8'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'reported_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}), + 'subscriber': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'forum.favoritequestion': { + 'Meta': {'object_name': 'FavoriteQuestion', 'db_table': "u'favorite_question'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Question']"}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'user_favorite_questions'", 'to': "orm['auth.User']"}) + }, + 'forum.flaggeditem': { + 'Meta': {'unique_together': "(('content_type', 'object_id', 'user'),)", 'object_name': 'FlaggedItem', 'db_table': "u'flagged_item'"}, + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'flagged_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'flaggeditems'", 'to': "orm['auth.User']"}) + }, + 'forum.markedtag': { + 'Meta': {'object_name': 'MarkedTag'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'reason': ('django.db.models.fields.CharField', [], {'max_length': '16'}), + 'tag': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'user_selections'", 'to': "orm['forum.Tag']"}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'tag_selections'", 'to': "orm['auth.User']"}) + }, + 'forum.question': { + 'Meta': {'object_name': 'Question', 'db_table': "u'question'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'answer_accepted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'answer_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'questions'", 'to': "orm['auth.User']"}), + 'close_reason': ('django.db.models.fields.SmallIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'closed': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'closed_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'closed_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'closed_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'comment_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'favorited_by': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'favorite_questions'", 'through': "'FavoriteQuestion'", 'to': "orm['auth.User']"}), + 'favourite_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'followed_by': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'followed_questions'", 'to': "orm['auth.User']"}), + 'html': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_activity_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_activity_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'last_active_in_questions'", 'to': "orm['auth.User']"}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'last_edited_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'last_edited_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'locked': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'locked_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'locked_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'locked_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'offensive_flag_count': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'tags': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'questions'", 'to': "orm['forum.Tag']"}), + 'text': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'view_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'vote_down_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'vote_up_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'wikified_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}) + }, + 'forum.questionrevision': { + 'Meta': {'object_name': 'QuestionRevision', 'db_table': "u'question_revision'"}, + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'questionrevisions'", 'to': "orm['auth.User']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'revisions'", 'to': "orm['forum.Question']"}), + 'revised_at': ('django.db.models.fields.DateTimeField', [], {}), + 'revision': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'text': ('django.db.models.fields.TextField', [], {}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}) + }, + 'forum.questionview': { + 'Meta': {'object_name': 'QuestionView'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'viewed'", 'to': "orm['forum.Question']"}), + 'when': ('django.db.models.fields.DateTimeField', [], {}), + 'who': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'question_views'", 'to': "orm['auth.User']"}) + }, + 'forum.repute': { + 'Meta': {'object_name': 'Repute', 'db_table': "u'repute'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'negative': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'positive': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Question']"}), + 'reputation': ('django.db.models.fields.IntegerField', [], {'default': '1'}), + 'reputation_type': ('django.db.models.fields.SmallIntegerField', [], {}), + 'reputed_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'forum.tag': { + 'Meta': {'object_name': 'Tag', 'db_table': "u'tag'"}, + 'created_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'created_tags'", 'to': "orm['auth.User']"}), + 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_tags'", 'null': 'True', 'to': "orm['auth.User']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'used_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}) + }, + 'forum.validationhash': { + 'Meta': {'unique_together': "(('user', 'type'),)", 'object_name': 'ValidationHash'}, + 'expiration': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2010, 4, 25, 16, 24, 24, 604164)'}), + 'hash_code': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'seed': ('django.db.models.fields.CharField', [], {'max_length': '12'}), + 'type': ('django.db.models.fields.CharField', [], {'max_length': '12'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'forum.vote': { + 'Meta': {'unique_together': "(('content_type', 'object_id', 'user'),)", 'object_name': 'Vote', 'db_table': "u'vote'"}, + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'votes'", 'to': "orm['auth.User']"}), + 'vote': ('django.db.models.fields.SmallIntegerField', [], {}), + 'voted_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}) + } + } + + complete_apps = ['forum'] + else: + models = { + 'auth.group': { + 'Meta': {'object_name': 'Group'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), + 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'blank': 'True'}) + }, + 'auth.permission': { + 'Meta': {'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, + 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + }, + 'auth.user': { + 'Meta': {'object_name': 'User'}, + 'about': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'bronze': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'date_of_birth': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), + 'email_isvalid': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'email_key': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), + 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'gold': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'gravatar': ('django.db.models.fields.CharField', [], {'max_length': '32'}), + 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'blank': 'True'}), + 'hide_ignored_questions': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}), + 'is_approved': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'last_seen': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'location': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), + 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), + 'questions_per_page': ('django.db.models.fields.SmallIntegerField', [], {'default': '10'}), + 'real_name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), + 'reputation': ('django.db.models.fields.PositiveIntegerField', [], {'default': '1'}), + 'silver': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'tag_filter_setting': ('django.db.models.fields.CharField', [], {'default': "'ignored'", 'max_length': '16'}), + 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'blank': 'True'}), + 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), + 'website': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}) + }, + 'contenttypes.contenttype': { + 'Meta': {'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, + 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + 'askbot.activity': { + 'Meta': {'object_name': 'Activity', 'db_table': "u'activity'"}, + 'active_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'activity_type': ('django.db.models.fields.SmallIntegerField', [], {}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_auditted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'askbot.anonymousanswer': { + 'Meta': {'object_name': 'AnonymousAnswer'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ip_addr': ('django.db.models.fields.IPAddressField', [], {'max_length': '15'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'anonymous_answers'", 'to': "orm['askbot.Question']"}), + 'session_key': ('django.db.models.fields.CharField', [], {'max_length': '40'}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), + 'text': ('django.db.models.fields.TextField', [], {}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}) + }, + 'askbot.anonymousquestion': { + 'Meta': {'object_name': 'AnonymousQuestion'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ip_addr': ('django.db.models.fields.IPAddressField', [], {'max_length': '15'}), + 'session_key': ('django.db.models.fields.CharField', [], {'max_length': '40'}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'text': ('django.db.models.fields.TextField', [], {}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}) + }, + 'askbot.answer': { + 'Meta': {'object_name': 'Answer', 'db_table': "u'answer'"}, + 'accepted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'accepted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answers'", 'to': "orm['auth.User']"}), + 'comment_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_answers'", 'null': 'True', 'to': "orm['auth.User']"}), + 'html': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'last_edited_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'last_edited_answers'", 'null': 'True', 'to': "orm['auth.User']"}), + 'locked': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'locked_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'locked_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'locked_answers'", 'null': 'True', 'to': "orm['auth.User']"}), + 'offensive_flag_count': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answers'", 'to': "orm['askbot.Question']"}), + 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'text': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'vote_down_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'vote_up_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'wikified_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}) + }, + 'askbot.answerrevision': { + 'Meta': {'object_name': 'AnswerRevision', 'db_table': "u'answer_revision'"}, + 'answer': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'revisions'", 'to': "orm['askbot.Answer']"}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answerrevisions'", 'to': "orm['auth.User']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'revised_at': ('django.db.models.fields.DateTimeField', [], {}), + 'revision': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}), + 'text': ('django.db.models.fields.TextField', [], {}) + }, + 'askbot.authkeyuserassociation': { + 'Meta': {'object_name': 'AuthKeyUserAssociation'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'key': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'provider': ('django.db.models.fields.CharField', [], {'max_length': '64'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'auth_keys'", 'to': "orm['auth.User']"}) + }, + 'askbot.award': { + 'Meta': {'object_name': 'Award', 'db_table': "u'award'"}, + 'awarded_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'badge': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'award_badge'", 'to': "orm['askbot.Badge']"}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'notified': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'award_user'", 'to': "orm['auth.User']"}) + }, + 'askbot.badge': { + 'Meta': {'unique_together': "(('name', 'type'),)", 'object_name': 'Badge', 'db_table': "u'badge'"}, + 'awarded_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'awarded_to': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'badges'", 'through': "'Award'", 'to': "orm['auth.User']"}), + 'description': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'multiple': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}), + 'slug': ('django.db.models.fields.SlugField', [], {'db_index': 'True', 'max_length': '50', 'blank': 'True'}), + 'type': ('django.db.models.fields.SmallIntegerField', [], {}) + }, + 'askbot.book': { + 'Meta': {'object_name': 'Book', 'db_table': "u'book'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {}), + 'author': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'cover_img': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {}), + 'pages': ('django.db.models.fields.SmallIntegerField', [], {}), + 'price': ('django.db.models.fields.DecimalField', [], {'max_digits': '6', 'decimal_places': '2'}), + 'publication': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'published_at': ('django.db.models.fields.DateTimeField', [], {}), + 'questions': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'book'", 'db_table': "'book_question'", 'to': "orm['askbot.Question']"}), + 'short_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'askbot.bookauthorinfo': { + 'Meta': {'object_name': 'BookAuthorInfo', 'db_table': "u'book_author_info'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {}), + 'blog_url': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'book': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['askbot.Book']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'askbot.bookauthorrss': { + 'Meta': {'object_name': 'BookAuthorRss', 'db_table': "u'book_author_rss'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {}), + 'book': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['askbot.Book']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'rss_created_at': ('django.db.models.fields.DateTimeField', [], {}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'url': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'askbot.comment': { + 'Meta': {'object_name': 'Comment', 'db_table': "u'comment'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'comment': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'comments'", 'to': "orm['auth.User']"}) + }, + 'askbot.emailfeedsetting': { + 'Meta': {'object_name': 'EmailFeedSetting'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'feed_type': ('django.db.models.fields.CharField', [], {'max_length': '16'}), + 'frequency': ('django.db.models.fields.CharField', [], {'default': "'n'", 'max_length': '8'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'reported_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}), + 'subscriber': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'askbot.favoritequestion': { + 'Meta': {'object_name': 'FavoriteQuestion', 'db_table': "u'favorite_question'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['askbot.Question']"}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'user_favorite_questions'", 'to': "orm['auth.User']"}) + }, + 'askbot.flaggeditem': { + 'Meta': {'unique_together': "(('content_type', 'object_id', 'user'),)", 'object_name': 'FlaggedItem', 'db_table': "u'flagged_item'"}, + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'flagged_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'flaggeditems'", 'to': "orm['auth.User']"}) + }, + 'askbot.markedtag': { + 'Meta': {'object_name': 'MarkedTag'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'reason': ('django.db.models.fields.CharField', [], {'max_length': '16'}), + 'tag': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'user_selections'", 'to': "orm['askbot.Tag']"}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'tag_selections'", 'to': "orm['auth.User']"}) + }, + 'askbot.question': { + 'Meta': {'object_name': 'Question', 'db_table': "u'question'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'answer_accepted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'answer_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'questions'", 'to': "orm['auth.User']"}), + 'close_reason': ('django.db.models.fields.SmallIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'closed': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'closed_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'closed_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'closed_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'comment_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'favorited_by': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'favorite_questions'", 'through': "'FavoriteQuestion'", 'to': "orm['auth.User']"}), + 'favourite_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'followed_by': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'followed_questions'", 'to': "orm['auth.User']"}), + 'html': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_activity_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_activity_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'last_active_in_questions'", 'to': "orm['auth.User']"}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'last_edited_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'last_edited_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'locked': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'locked_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'locked_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'locked_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'offensive_flag_count': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'tags': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'questions'", 'to': "orm['askbot.Tag']"}), + 'text': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'view_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'vote_down_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'vote_up_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'wikified_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}) + }, + 'askbot.questionrevision': { + 'Meta': {'object_name': 'QuestionRevision', 'db_table': "u'question_revision'"}, + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'questionrevisions'", 'to': "orm['auth.User']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'revisions'", 'to': "orm['askbot.Question']"}), + 'revised_at': ('django.db.models.fields.DateTimeField', [], {}), + 'revision': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'text': ('django.db.models.fields.TextField', [], {}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}) + }, + 'askbot.questionview': { + 'Meta': {'object_name': 'QuestionView'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'viewed'", 'to': "orm['askbot.Question']"}), + 'when': ('django.db.models.fields.DateTimeField', [], {}), + 'who': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'question_views'", 'to': "orm['auth.User']"}) + }, + 'askbot.repute': { + 'Meta': {'object_name': 'Repute', 'db_table': "u'repute'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'negative': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'positive': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['askbot.Question']"}), + 'reputation': ('django.db.models.fields.IntegerField', [], {'default': '1'}), + 'reputation_type': ('django.db.models.fields.SmallIntegerField', [], {}), + 'reputed_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'askbot.tag': { + 'Meta': {'object_name': 'Tag', 'db_table': "u'tag'"}, + 'created_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'created_tags'", 'to': "orm['auth.User']"}), + 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_tags'", 'null': 'True', 'to': "orm['auth.User']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'used_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}) + }, + 'askbot.validationhash': { + 'Meta': {'unique_together': "(('user', 'type'),)", 'object_name': 'ValidationHash'}, + 'expiration': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2010, 4, 25, 16, 24, 24, 604164)'}), + 'hash_code': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'seed': ('django.db.models.fields.CharField', [], {'max_length': '12'}), + 'type': ('django.db.models.fields.CharField', [], {'max_length': '12'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'askbot.vote': { + 'Meta': {'unique_together': "(('content_type', 'object_id', 'user'),)", 'object_name': 'Vote', 'db_table': "u'vote'"}, + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'votes'", 'to': "orm['auth.User']"}), + 'vote': ('django.db.models.fields.SmallIntegerField', [], {}), + 'voted_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}) + } + } + + complete_apps = ['askbot'] diff --git a/askbot/migrations/0004_install_full_text_indexes_for_mysql.py b/askbot/migrations/0004_install_full_text_indexes_for_mysql.py new file mode 100644 index 00000000..ccf70fd2 --- /dev/null +++ b/askbot/migrations/0004_install_full_text_indexes_for_mysql.py @@ -0,0 +1,720 @@ +# encoding: utf-8 +import os +import datetime +from south.db import db +from south.v2 import DataMigration +from django.db import models + +Q_INDEX_NAME = 'askbot_question_full_text_index' +A_INDEX_NAME = 'askbot_answer_full_text_index' + +def get_create_full_text_index_sql(index_name, table_name, column_list): + column_sql = '(%s)' % ','.join(column_list) + sql = 'CREATE FULLTEXT INDEX %s on %s %s' % (index_name, table_name, column_sql) + return sql + +def get_drop_index_sql(index_name, table_name): + return 'ALTER TABLE %s DROP INDEX %s' % (table_name, index_name) + +class Migration(DataMigration): + + def forwards(self, orm): + """install fulltext indices for mysql + will work only for MyISAM engine + and will probably fail otherwise + """ + if db.backend_name == 'mysql': + #todo: extract column names by introspection + question_index_sql = get_create_full_text_index_sql( + Q_INDEX_NAME, + orm.Question._meta.db_table, + ('title','text','tagnames',) + ) + db.execute(question_index_sql) + + answer_index_sql = get_create_full_text_index_sql( + A_INDEX_NAME, + orm.Answer._meta.db_table, + ('text',) + ) + db.execute(answer_index_sql) + + def backwards(self, orm): + "code for removal of full text indices in mysql" + if db.backend_name == 'mysql': + db.execute( + get_drop_index_sql( + Q_INDEX_NAME, + orm.Question._meta.db_table, + ) + ) + db.execute( + get_drop_index_sql( + A_INDEX_NAME, + orm.Answer._meta.db_table, + ) + ) + + forum_app_name = os.path.basename(os.path.dirname(os.path.dirname(__file__))) + if forum_app_name == 'forum': + models = { + 'auth.group': { + 'Meta': {'object_name': 'Group'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), + 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'blank': 'True'}) + }, + 'auth.permission': { + 'Meta': {'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, + 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + }, + 'auth.user': { + 'Meta': {'object_name': 'User'}, + 'about': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'bronze': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'date_of_birth': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), + 'email_isvalid': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'email_key': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), + 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'gold': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'gravatar': ('django.db.models.fields.CharField', [], {'max_length': '32'}), + 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'blank': 'True'}), + 'hide_ignored_questions': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}), + 'is_approved': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'last_seen': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'location': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), + 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), + 'questions_per_page': ('django.db.models.fields.SmallIntegerField', [], {'default': '10'}), + 'real_name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), + 'reputation': ('django.db.models.fields.PositiveIntegerField', [], {'default': '1'}), + 'silver': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'tag_filter_setting': ('django.db.models.fields.CharField', [], {'default': "'ignored'", 'max_length': '16'}), + 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'blank': 'True'}), + 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), + 'website': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}) + }, + 'contenttypes.contenttype': { + 'Meta': {'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, + 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + 'forum.activity': { + 'Meta': {'object_name': 'Activity', 'db_table': "u'activity'"}, + 'active_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'activity_type': ('django.db.models.fields.SmallIntegerField', [], {}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_auditted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'forum.anonymousanswer': { + 'Meta': {'object_name': 'AnonymousAnswer'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ip_addr': ('django.db.models.fields.IPAddressField', [], {'max_length': '15'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'anonymous_answers'", 'to': "orm['forum.Question']"}), + 'session_key': ('django.db.models.fields.CharField', [], {'max_length': '40'}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), + 'text': ('django.db.models.fields.TextField', [], {}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}) + }, + 'forum.anonymousquestion': { + 'Meta': {'object_name': 'AnonymousQuestion'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ip_addr': ('django.db.models.fields.IPAddressField', [], {'max_length': '15'}), + 'session_key': ('django.db.models.fields.CharField', [], {'max_length': '40'}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'text': ('django.db.models.fields.TextField', [], {}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}) + }, + 'forum.answer': { + 'Meta': {'object_name': 'Answer', 'db_table': "u'answer'"}, + 'accepted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'accepted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answers'", 'to': "orm['auth.User']"}), + 'comment_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_answers'", 'null': 'True', 'to': "orm['auth.User']"}), + 'html': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'last_edited_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'last_edited_answers'", 'null': 'True', 'to': "orm['auth.User']"}), + 'locked': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'locked_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'locked_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'locked_answers'", 'null': 'True', 'to': "orm['auth.User']"}), + 'offensive_flag_count': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answers'", 'to': "orm['forum.Question']"}), + 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'text': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'vote_down_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'vote_up_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'wikified_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}) + }, + 'forum.answerrevision': { + 'Meta': {'object_name': 'AnswerRevision', 'db_table': "u'answer_revision'"}, + 'answer': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'revisions'", 'to': "orm['forum.Answer']"}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answerrevisions'", 'to': "orm['auth.User']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'revised_at': ('django.db.models.fields.DateTimeField', [], {}), + 'revision': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}), + 'text': ('django.db.models.fields.TextField', [], {}) + }, + 'forum.authkeyuserassociation': { + 'Meta': {'object_name': 'AuthKeyUserAssociation'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'key': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'provider': ('django.db.models.fields.CharField', [], {'max_length': '64'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'auth_keys'", 'to': "orm['auth.User']"}) + }, + 'forum.award': { + 'Meta': {'object_name': 'Award', 'db_table': "u'award'"}, + 'awarded_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'badge': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'award_badge'", 'to': "orm['forum.Badge']"}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'notified': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'award_user'", 'to': "orm['auth.User']"}) + }, + 'forum.badge': { + 'Meta': {'unique_together': "(('name', 'type'),)", 'object_name': 'Badge', 'db_table': "u'badge'"}, + 'awarded_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'awarded_to': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'badges'", 'through': "'Award'", 'to': "orm['auth.User']"}), + 'description': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'multiple': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}), + 'slug': ('django.db.models.fields.SlugField', [], {'db_index': 'True', 'max_length': '50', 'blank': 'True'}), + 'type': ('django.db.models.fields.SmallIntegerField', [], {}) + }, + 'forum.book': { + 'Meta': {'object_name': 'Book', 'db_table': "u'book'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {}), + 'author': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'cover_img': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {}), + 'pages': ('django.db.models.fields.SmallIntegerField', [], {}), + 'price': ('django.db.models.fields.DecimalField', [], {'max_digits': '6', 'decimal_places': '2'}), + 'publication': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'published_at': ('django.db.models.fields.DateTimeField', [], {}), + 'questions': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'book'", 'db_table': "'book_question'", 'to': "orm['forum.Question']"}), + 'short_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'forum.bookauthorinfo': { + 'Meta': {'object_name': 'BookAuthorInfo', 'db_table': "u'book_author_info'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {}), + 'blog_url': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'book': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Book']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'forum.bookauthorrss': { + 'Meta': {'object_name': 'BookAuthorRss', 'db_table': "u'book_author_rss'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {}), + 'book': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Book']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'rss_created_at': ('django.db.models.fields.DateTimeField', [], {}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'url': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'forum.comment': { + 'Meta': {'object_name': 'Comment', 'db_table': "u'comment'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'comment': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'comments'", 'to': "orm['auth.User']"}) + }, + 'forum.emailfeedsetting': { + 'Meta': {'object_name': 'EmailFeedSetting'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'feed_type': ('django.db.models.fields.CharField', [], {'max_length': '16'}), + 'frequency': ('django.db.models.fields.CharField', [], {'default': "'n'", 'max_length': '8'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'reported_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}), + 'subscriber': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'forum.favoritequestion': { + 'Meta': {'object_name': 'FavoriteQuestion', 'db_table': "u'favorite_question'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Question']"}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'user_favorite_questions'", 'to': "orm['auth.User']"}) + }, + 'forum.flaggeditem': { + 'Meta': {'unique_together': "(('content_type', 'object_id', 'user'),)", 'object_name': 'FlaggedItem', 'db_table': "u'flagged_item'"}, + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'flagged_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'flaggeditems'", 'to': "orm['auth.User']"}) + }, + 'forum.markedtag': { + 'Meta': {'object_name': 'MarkedTag'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'reason': ('django.db.models.fields.CharField', [], {'max_length': '16'}), + 'tag': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'user_selections'", 'to': "orm['forum.Tag']"}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'tag_selections'", 'to': "orm['auth.User']"}) + }, + 'forum.question': { + 'Meta': {'object_name': 'Question', 'db_table': "u'question'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'answer_accepted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'answer_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'questions'", 'to': "orm['auth.User']"}), + 'close_reason': ('django.db.models.fields.SmallIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'closed': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'closed_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'closed_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'closed_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'comment_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'favorited_by': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'favorite_questions'", 'through': "'FavoriteQuestion'", 'to': "orm['auth.User']"}), + 'favourite_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'followed_by': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'followed_questions'", 'to': "orm['auth.User']"}), + 'html': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_activity_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_activity_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'last_active_in_questions'", 'to': "orm['auth.User']"}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'last_edited_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'last_edited_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'locked': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'locked_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'locked_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'locked_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'offensive_flag_count': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'tags': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'questions'", 'to': "orm['forum.Tag']"}), + 'text': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'view_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'vote_down_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'vote_up_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'wikified_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}) + }, + 'forum.questionrevision': { + 'Meta': {'object_name': 'QuestionRevision', 'db_table': "u'question_revision'"}, + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'questionrevisions'", 'to': "orm['auth.User']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'revisions'", 'to': "orm['forum.Question']"}), + 'revised_at': ('django.db.models.fields.DateTimeField', [], {}), + 'revision': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'text': ('django.db.models.fields.TextField', [], {}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}) + }, + 'forum.questionview': { + 'Meta': {'object_name': 'QuestionView'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'viewed'", 'to': "orm['forum.Question']"}), + 'when': ('django.db.models.fields.DateTimeField', [], {}), + 'who': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'question_views'", 'to': "orm['auth.User']"}) + }, + 'forum.repute': { + 'Meta': {'object_name': 'Repute', 'db_table': "u'repute'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'negative': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'positive': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Question']"}), + 'reputation': ('django.db.models.fields.IntegerField', [], {'default': '1'}), + 'reputation_type': ('django.db.models.fields.SmallIntegerField', [], {}), + 'reputed_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'forum.tag': { + 'Meta': {'object_name': 'Tag', 'db_table': "u'tag'"}, + 'created_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'created_tags'", 'to': "orm['auth.User']"}), + 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_tags'", 'null': 'True', 'to': "orm['auth.User']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'used_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}) + }, + 'forum.validationhash': { + 'Meta': {'unique_together': "(('user', 'type'),)", 'object_name': 'ValidationHash'}, + 'expiration': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2010, 4, 25, 19, 13, 13, 325125)'}), + 'hash_code': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'seed': ('django.db.models.fields.CharField', [], {'max_length': '12'}), + 'type': ('django.db.models.fields.CharField', [], {'max_length': '12'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'forum.vote': { + 'Meta': {'unique_together': "(('content_type', 'object_id', 'user'),)", 'object_name': 'Vote', 'db_table': "u'vote'"}, + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'votes'", 'to': "orm['auth.User']"}), + 'vote': ('django.db.models.fields.SmallIntegerField', [], {}), + 'voted_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}) + } + } + + complete_apps = ['forum'] + else: + models = { + 'auth.group': { + 'Meta': {'object_name': 'Group'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), + 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'blank': 'True'}) + }, + 'auth.permission': { + 'Meta': {'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, + 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + }, + 'auth.user': { + 'Meta': {'object_name': 'User'}, + 'about': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'bronze': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'date_of_birth': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), + 'email_isvalid': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'email_key': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), + 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'gold': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'gravatar': ('django.db.models.fields.CharField', [], {'max_length': '32'}), + 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'blank': 'True'}), + 'hide_ignored_questions': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}), + 'is_approved': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'last_seen': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'location': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), + 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), + 'questions_per_page': ('django.db.models.fields.SmallIntegerField', [], {'default': '10'}), + 'real_name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), + 'reputation': ('django.db.models.fields.PositiveIntegerField', [], {'default': '1'}), + 'silver': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'tag_filter_setting': ('django.db.models.fields.CharField', [], {'default': "'ignored'", 'max_length': '16'}), + 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'blank': 'True'}), + 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), + 'website': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}) + }, + 'contenttypes.contenttype': { + 'Meta': {'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, + 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + 'askbot.activity': { + 'Meta': {'object_name': 'Activity', 'db_table': "u'activity'"}, + 'active_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'activity_type': ('django.db.models.fields.SmallIntegerField', [], {}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_auditted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'askbot.anonymousanswer': { + 'Meta': {'object_name': 'AnonymousAnswer'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ip_addr': ('django.db.models.fields.IPAddressField', [], {'max_length': '15'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'anonymous_answers'", 'to': "orm['askbot.Question']"}), + 'session_key': ('django.db.models.fields.CharField', [], {'max_length': '40'}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), + 'text': ('django.db.models.fields.TextField', [], {}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}) + }, + 'askbot.anonymousquestion': { + 'Meta': {'object_name': 'AnonymousQuestion'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ip_addr': ('django.db.models.fields.IPAddressField', [], {'max_length': '15'}), + 'session_key': ('django.db.models.fields.CharField', [], {'max_length': '40'}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'text': ('django.db.models.fields.TextField', [], {}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}) + }, + 'askbot.answer': { + 'Meta': {'object_name': 'Answer', 'db_table': "u'answer'"}, + 'accepted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'accepted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answers'", 'to': "orm['auth.User']"}), + 'comment_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_answers'", 'null': 'True', 'to': "orm['auth.User']"}), + 'html': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'last_edited_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'last_edited_answers'", 'null': 'True', 'to': "orm['auth.User']"}), + 'locked': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'locked_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'locked_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'locked_answers'", 'null': 'True', 'to': "orm['auth.User']"}), + 'offensive_flag_count': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answers'", 'to': "orm['askbot.Question']"}), + 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'text': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'vote_down_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'vote_up_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'wikified_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}) + }, + 'askbot.answerrevision': { + 'Meta': {'object_name': 'AnswerRevision', 'db_table': "u'answer_revision'"}, + 'answer': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'revisions'", 'to': "orm['askbot.Answer']"}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answerrevisions'", 'to': "orm['auth.User']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'revised_at': ('django.db.models.fields.DateTimeField', [], {}), + 'revision': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}), + 'text': ('django.db.models.fields.TextField', [], {}) + }, + 'askbot.authkeyuserassociation': { + 'Meta': {'object_name': 'AuthKeyUserAssociation'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'key': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'provider': ('django.db.models.fields.CharField', [], {'max_length': '64'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'auth_keys'", 'to': "orm['auth.User']"}) + }, + 'askbot.award': { + 'Meta': {'object_name': 'Award', 'db_table': "u'award'"}, + 'awarded_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'badge': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'award_badge'", 'to': "orm['askbot.Badge']"}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'notified': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'award_user'", 'to': "orm['auth.User']"}) + }, + 'askbot.badge': { + 'Meta': {'unique_together': "(('name', 'type'),)", 'object_name': 'Badge', 'db_table': "u'badge'"}, + 'awarded_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'awarded_to': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'badges'", 'through': "'Award'", 'to': "orm['auth.User']"}), + 'description': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'multiple': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}), + 'slug': ('django.db.models.fields.SlugField', [], {'db_index': 'True', 'max_length': '50', 'blank': 'True'}), + 'type': ('django.db.models.fields.SmallIntegerField', [], {}) + }, + 'askbot.book': { + 'Meta': {'object_name': 'Book', 'db_table': "u'book'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {}), + 'author': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'cover_img': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {}), + 'pages': ('django.db.models.fields.SmallIntegerField', [], {}), + 'price': ('django.db.models.fields.DecimalField', [], {'max_digits': '6', 'decimal_places': '2'}), + 'publication': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'published_at': ('django.db.models.fields.DateTimeField', [], {}), + 'questions': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'book'", 'db_table': "'book_question'", 'to': "orm['askbot.Question']"}), + 'short_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'askbot.bookauthorinfo': { + 'Meta': {'object_name': 'BookAuthorInfo', 'db_table': "u'book_author_info'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {}), + 'blog_url': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'book': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['askbot.Book']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'askbot.bookauthorrss': { + 'Meta': {'object_name': 'BookAuthorRss', 'db_table': "u'book_author_rss'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {}), + 'book': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['askbot.Book']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'rss_created_at': ('django.db.models.fields.DateTimeField', [], {}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'url': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'askbot.comment': { + 'Meta': {'object_name': 'Comment', 'db_table': "u'comment'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'comment': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'comments'", 'to': "orm['auth.User']"}) + }, + 'askbot.emailfeedsetting': { + 'Meta': {'object_name': 'EmailFeedSetting'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'feed_type': ('django.db.models.fields.CharField', [], {'max_length': '16'}), + 'frequency': ('django.db.models.fields.CharField', [], {'default': "'n'", 'max_length': '8'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'reported_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}), + 'subscriber': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'askbot.favoritequestion': { + 'Meta': {'object_name': 'FavoriteQuestion', 'db_table': "u'favorite_question'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['askbot.Question']"}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'user_favorite_questions'", 'to': "orm['auth.User']"}) + }, + 'askbot.flaggeditem': { + 'Meta': {'unique_together': "(('content_type', 'object_id', 'user'),)", 'object_name': 'FlaggedItem', 'db_table': "u'flagged_item'"}, + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'flagged_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'flaggeditems'", 'to': "orm['auth.User']"}) + }, + 'askbot.markedtag': { + 'Meta': {'object_name': 'MarkedTag'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'reason': ('django.db.models.fields.CharField', [], {'max_length': '16'}), + 'tag': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'user_selections'", 'to': "orm['askbot.Tag']"}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'tag_selections'", 'to': "orm['auth.User']"}) + }, + 'askbot.question': { + 'Meta': {'object_name': 'Question', 'db_table': "u'question'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'answer_accepted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'answer_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'questions'", 'to': "orm['auth.User']"}), + 'close_reason': ('django.db.models.fields.SmallIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'closed': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'closed_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'closed_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'closed_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'comment_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'favorited_by': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'favorite_questions'", 'through': "'FavoriteQuestion'", 'to': "orm['auth.User']"}), + 'favourite_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'followed_by': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'followed_questions'", 'to': "orm['auth.User']"}), + 'html': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_activity_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_activity_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'last_active_in_questions'", 'to': "orm['auth.User']"}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'last_edited_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'last_edited_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'locked': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'locked_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'locked_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'locked_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'offensive_flag_count': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'tags': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'questions'", 'to': "orm['askbot.Tag']"}), + 'text': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'view_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'vote_down_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'vote_up_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'wikified_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}) + }, + 'askbot.questionrevision': { + 'Meta': {'object_name': 'QuestionRevision', 'db_table': "u'question_revision'"}, + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'questionrevisions'", 'to': "orm['auth.User']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'revisions'", 'to': "orm['askbot.Question']"}), + 'revised_at': ('django.db.models.fields.DateTimeField', [], {}), + 'revision': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'text': ('django.db.models.fields.TextField', [], {}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}) + }, + 'askbot.questionview': { + 'Meta': {'object_name': 'QuestionView'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'viewed'", 'to': "orm['askbot.Question']"}), + 'when': ('django.db.models.fields.DateTimeField', [], {}), + 'who': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'question_views'", 'to': "orm['auth.User']"}) + }, + 'askbot.repute': { + 'Meta': {'object_name': 'Repute', 'db_table': "u'repute'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'negative': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'positive': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['askbot.Question']"}), + 'reputation': ('django.db.models.fields.IntegerField', [], {'default': '1'}), + 'reputation_type': ('django.db.models.fields.SmallIntegerField', [], {}), + 'reputed_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'askbot.tag': { + 'Meta': {'object_name': 'Tag', 'db_table': "u'tag'"}, + 'created_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'created_tags'", 'to': "orm['auth.User']"}), + 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_tags'", 'null': 'True', 'to': "orm['auth.User']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'used_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}) + }, + 'askbot.validationhash': { + 'Meta': {'unique_together': "(('user', 'type'),)", 'object_name': 'ValidationHash'}, + 'expiration': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2010, 4, 25, 19, 13, 13, 325125)'}), + 'hash_code': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'seed': ('django.db.models.fields.CharField', [], {'max_length': '12'}), + 'type': ('django.db.models.fields.CharField', [], {'max_length': '12'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'askbot.vote': { + 'Meta': {'unique_together': "(('content_type', 'object_id', 'user'),)", 'object_name': 'Vote', 'db_table': "u'vote'"}, + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'votes'", 'to': "orm['auth.User']"}), + 'vote': ('django.db.models.fields.SmallIntegerField', [], {}), + 'voted_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}) + } + } + + complete_apps = ['askbot'] diff --git a/askbot/migrations/0005_install_badges.py b/askbot/migrations/0005_install_badges.py new file mode 100644 index 00000000..c8efda9c --- /dev/null +++ b/askbot/migrations/0005_install_badges.py @@ -0,0 +1,751 @@ +# encoding: utf-8 +import os +import datetime +from south.db import db +from south.v2 import DataMigration +from django.db import models + +_ = lambda v:v #fake translation function so that badges are translated, but database takes keys + +INITIAL_BADGE_DATA = ( + (_('Disciplined'), 3, _('disciplined'), _('Deleted own post with score of 3 or higher'), True, 0), + (_('Peer Pressure'), 3, _('peer-pressure'), _('Deleted own post with score of -3 or lower'), True, 0), + (_('Nice answer'), 3, _('nice-answer'), _('Answer voted up 10 times'), True, 0), + (_('Nice Question'), 3, _('nice-question'), _('Question voted up 10 times'), True, 0), + (_('Pundit'), 3, _('pundit'), _('Left 10 comments with score of 10 or more'), False, 0), + (_('Popular Question'), 3, _('popular-question'), _('Asked a question with 1,000 views'), True, 0), + (_('Citizen patrol'), 3, _('citizen-patrol'), _('First flagged post'), False, 0), + (_('Cleanup'), 3, _('cleanup'), _('First rollback'), False, 0), + (_('Critic'), 3, _('critic'), _('First down vote'), False, 0), + (_('Editor'), 3, _('editor'), _('First edit'), False, 0), + (_('Organizer'), 3, _('organizer'), _('First retag'), False, 0), + (_('Scholar'), 3, _('scholar'), _('First accepted answer on your own question'), False, 0), + (_('Student'), 3, _('student'), _('Asked first question with at least one up vote'), False, 0), + (_('Supporter'), 3, _('supporter'), _('First up vote'), False, 0), + (_('Teacher'), 3, _('teacher'), _('Answered first question with at least one up vote'), False, 0), + (_('Autobiographer'), 3, _('autobiographer'), _('Completed all user profile fields'), False, 0), + (_('Self-Learner'), 3, _('self-learner'), _('Answered your own question with at least 3 up votes'), True, 0), + (_('Great Answer'), 1, _('great-answer'), _('Answer voted up 100 times'), True, 0), + (_('Great Question'), 1, _('great-question'), _('Question voted up 100 times'), True, 0), + (_('Stellar Question'), 1, _('stellar-question'), _('Question favorited by 100 users'), True, 0), + (_('Famous question'), 1, _('famous-question'), _('Asked a question with 10,000 views'), True, 0), + (_('Alpha'), 2, _('alpha'), _('Actively participated in the private alpha'), False, 0), + (_('Good Answer'), 2, _('good-answer'), _('Answer voted up 25 times'), True, 0), + (_('Good Question'), 2, _('good-question'), _('Question voted up 25 times'), True, 0), + (_('Favorite Question'), 2, _('favorite-question'), _('Question favorited by 25 users'), True, 0), + (_('Civic duty'), 2, _('civic-duty'), _('Voted 300 times'), False, 0), + (_('Strunk & White'), 2, _('strunk-and-white'), _('Edited 100 entries'), False, 0), + (_('Generalist'), 2, _('generalist'), _('Active in many different tags'), False, 0), + (_('Expert'), 2, _('expert'), _('Very active in one tag'), False, 0), + (_('Yearling'), 2, _('yearling'), _('Active member for a year'), False, 0), + (_('Notable Question'), 2, _('notable-question'), _('Asked a question with 2,500 views'), True, 0), + (_('Enlightened'), 2, _('enlightened'), _('First answer was accepted with at least 10 up votes'), False, 0), + (_('Beta'), 2, _('beta'), _('Actively participated in the private beta'), False, 0), + (_('Guru'), 2, _('guru'), _('Accepted answer and voted up 40 times'), True, 0), + (_('Necromancer'), 2, _('necromancer'), _('Answered a question more than 60 days later with at least 5 votes'), True, 0), + (_('Taxonomist'), 2, _('taxonomist'), _('Created a tag used by 50 questions'), True, 0) +) + +class Migration(DataMigration): + + def forwards(self, orm): + "Write your forwards methods here." + + for entry in INITIAL_BADGE_DATA: + name = entry[0] + type = entry[1] + slug = entry[2] + description = entry[3] + multiple = entry[4] + + try: + badge = orm.Badge.objects.get(name=name) + print 'already have badge %s' % name + except orm.Badge.DoesNotExist: + print 'adding new badge %s' % name + badge = orm.Badge() + badge.name = name + + badge.type = type + badge.slug = slug + badge.description = description + badge.multiple = multiple + badge.save() + + + def backwards(self, orm): + "Write your backwards methods here." + for entry in INITIAL_BADGE_DATA: + name = entry[0] + try: + badge = orm.Badge.objects.get(name = name) + badge.award_badge.clear() + badge.delete() + print 'deleted badge %s' % name + except orm.Badge.DoesNotExist: + print 'no such badge %s - so skipping' % name + pass + + forum_app_name = os.path.basename(os.path.dirname(os.path.dirname(__file__))) + if forum_app_name == 'forum': + models = { + 'auth.group': { + 'Meta': {'object_name': 'Group'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), + 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'blank': 'True'}) + }, + 'auth.permission': { + 'Meta': {'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, + 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + }, + 'auth.user': { + 'Meta': {'object_name': 'User'}, + 'about': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'bronze': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'date_of_birth': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), + 'email_isvalid': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'email_key': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), + 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'gold': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'gravatar': ('django.db.models.fields.CharField', [], {'max_length': '32'}), + 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'blank': 'True'}), + 'hide_ignored_questions': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}), + 'is_approved': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'last_seen': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'location': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), + 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), + 'questions_per_page': ('django.db.models.fields.SmallIntegerField', [], {'default': '10'}), + 'real_name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), + 'reputation': ('django.db.models.fields.PositiveIntegerField', [], {'default': '1'}), + 'silver': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'tag_filter_setting': ('django.db.models.fields.CharField', [], {'default': "'ignored'", 'max_length': '16'}), + 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'blank': 'True'}), + 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), + 'website': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}) + }, + 'contenttypes.contenttype': { + 'Meta': {'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, + 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + 'forum.activity': { + 'Meta': {'object_name': 'Activity', 'db_table': "u'activity'"}, + 'active_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'activity_type': ('django.db.models.fields.SmallIntegerField', [], {}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_auditted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'forum.anonymousanswer': { + 'Meta': {'object_name': 'AnonymousAnswer'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ip_addr': ('django.db.models.fields.IPAddressField', [], {'max_length': '15'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'anonymous_answers'", 'to': "orm['forum.Question']"}), + 'session_key': ('django.db.models.fields.CharField', [], {'max_length': '40'}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), + 'text': ('django.db.models.fields.TextField', [], {}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}) + }, + 'forum.anonymousquestion': { + 'Meta': {'object_name': 'AnonymousQuestion'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ip_addr': ('django.db.models.fields.IPAddressField', [], {'max_length': '15'}), + 'session_key': ('django.db.models.fields.CharField', [], {'max_length': '40'}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'text': ('django.db.models.fields.TextField', [], {}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}) + }, + 'forum.answer': { + 'Meta': {'object_name': 'Answer', 'db_table': "u'answer'"}, + 'accepted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'accepted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answers'", 'to': "orm['auth.User']"}), + 'comment_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_answers'", 'null': 'True', 'to': "orm['auth.User']"}), + 'html': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'last_edited_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'last_edited_answers'", 'null': 'True', 'to': "orm['auth.User']"}), + 'locked': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'locked_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'locked_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'locked_answers'", 'null': 'True', 'to': "orm['auth.User']"}), + 'offensive_flag_count': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answers'", 'to': "orm['forum.Question']"}), + 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'text': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'vote_down_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'vote_up_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'wikified_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}) + }, + 'forum.answerrevision': { + 'Meta': {'object_name': 'AnswerRevision', 'db_table': "u'answer_revision'"}, + 'answer': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'revisions'", 'to': "orm['forum.Answer']"}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answerrevisions'", 'to': "orm['auth.User']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'revised_at': ('django.db.models.fields.DateTimeField', [], {}), + 'revision': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}), + 'text': ('django.db.models.fields.TextField', [], {}) + }, + 'forum.authkeyuserassociation': { + 'Meta': {'object_name': 'AuthKeyUserAssociation'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'key': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'provider': ('django.db.models.fields.CharField', [], {'max_length': '64'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'auth_keys'", 'to': "orm['auth.User']"}) + }, + 'forum.award': { + 'Meta': {'object_name': 'Award', 'db_table': "u'award'"}, + 'awarded_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'badge': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'award_badge'", 'to': "orm['forum.Badge']"}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'notified': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'award_user'", 'to': "orm['auth.User']"}) + }, + 'forum.badge': { + 'Meta': {'unique_together': "(('name', 'type'),)", 'object_name': 'Badge', 'db_table': "u'badge'"}, + 'awarded_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'awarded_to': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'badges'", 'through': "'Award'", 'to': "orm['auth.User']"}), + 'description': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'multiple': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}), + 'slug': ('django.db.models.fields.SlugField', [], {'db_index': 'True', 'max_length': '50', 'blank': 'True'}), + 'type': ('django.db.models.fields.SmallIntegerField', [], {}) + }, + 'forum.book': { + 'Meta': {'object_name': 'Book', 'db_table': "u'book'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {}), + 'author': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'cover_img': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {}), + 'pages': ('django.db.models.fields.SmallIntegerField', [], {}), + 'price': ('django.db.models.fields.DecimalField', [], {'max_digits': '6', 'decimal_places': '2'}), + 'publication': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'published_at': ('django.db.models.fields.DateTimeField', [], {}), + 'questions': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'book'", 'db_table': "'book_question'", 'to': "orm['forum.Question']"}), + 'short_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'forum.bookauthorinfo': { + 'Meta': {'object_name': 'BookAuthorInfo', 'db_table': "u'book_author_info'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {}), + 'blog_url': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'book': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Book']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'forum.bookauthorrss': { + 'Meta': {'object_name': 'BookAuthorRss', 'db_table': "u'book_author_rss'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {}), + 'book': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Book']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'rss_created_at': ('django.db.models.fields.DateTimeField', [], {}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'url': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'forum.comment': { + 'Meta': {'object_name': 'Comment', 'db_table': "u'comment'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'comment': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'comments'", 'to': "orm['auth.User']"}) + }, + 'forum.emailfeedsetting': { + 'Meta': {'object_name': 'EmailFeedSetting'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'feed_type': ('django.db.models.fields.CharField', [], {'max_length': '16'}), + 'frequency': ('django.db.models.fields.CharField', [], {'default': "'n'", 'max_length': '8'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'reported_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}), + 'subscriber': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'forum.favoritequestion': { + 'Meta': {'object_name': 'FavoriteQuestion', 'db_table': "u'favorite_question'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Question']"}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'user_favorite_questions'", 'to': "orm['auth.User']"}) + }, + 'forum.flaggeditem': { + 'Meta': {'unique_together': "(('content_type', 'object_id', 'user'),)", 'object_name': 'FlaggedItem', 'db_table': "u'flagged_item'"}, + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'flagged_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'flaggeditems'", 'to': "orm['auth.User']"}) + }, + 'forum.markedtag': { + 'Meta': {'object_name': 'MarkedTag'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'reason': ('django.db.models.fields.CharField', [], {'max_length': '16'}), + 'tag': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'user_selections'", 'to': "orm['forum.Tag']"}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'tag_selections'", 'to': "orm['auth.User']"}) + }, + 'forum.question': { + 'Meta': {'object_name': 'Question', 'db_table': "u'question'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'answer_accepted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'answer_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'questions'", 'to': "orm['auth.User']"}), + 'close_reason': ('django.db.models.fields.SmallIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'closed': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'closed_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'closed_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'closed_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'comment_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'favorited_by': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'favorite_questions'", 'through': "'FavoriteQuestion'", 'to': "orm['auth.User']"}), + 'favourite_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'followed_by': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'followed_questions'", 'to': "orm['auth.User']"}), + 'html': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_activity_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_activity_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'last_active_in_questions'", 'to': "orm['auth.User']"}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'last_edited_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'last_edited_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'locked': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'locked_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'locked_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'locked_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'offensive_flag_count': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'tags': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'questions'", 'to': "orm['forum.Tag']"}), + 'text': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'view_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'vote_down_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'vote_up_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'wikified_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}) + }, + 'forum.questionrevision': { + 'Meta': {'object_name': 'QuestionRevision', 'db_table': "u'question_revision'"}, + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'questionrevisions'", 'to': "orm['auth.User']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'revisions'", 'to': "orm['forum.Question']"}), + 'revised_at': ('django.db.models.fields.DateTimeField', [], {}), + 'revision': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'text': ('django.db.models.fields.TextField', [], {}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}) + }, + 'forum.questionview': { + 'Meta': {'object_name': 'QuestionView'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'viewed'", 'to': "orm['forum.Question']"}), + 'when': ('django.db.models.fields.DateTimeField', [], {}), + 'who': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'question_views'", 'to': "orm['auth.User']"}) + }, + 'forum.repute': { + 'Meta': {'object_name': 'Repute', 'db_table': "u'repute'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'negative': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'positive': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Question']"}), + 'reputation': ('django.db.models.fields.IntegerField', [], {'default': '1'}), + 'reputation_type': ('django.db.models.fields.SmallIntegerField', [], {}), + 'reputed_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'forum.tag': { + 'Meta': {'object_name': 'Tag', 'db_table': "u'tag'"}, + 'created_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'created_tags'", 'to': "orm['auth.User']"}), + 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_tags'", 'null': 'True', 'to': "orm['auth.User']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'used_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}) + }, + 'forum.validationhash': { + 'Meta': {'unique_together': "(('user', 'type'),)", 'object_name': 'ValidationHash'}, + 'expiration': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2010, 5, 2, 12, 29, 51, 920204)'}), + 'hash_code': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'seed': ('django.db.models.fields.CharField', [], {'max_length': '12'}), + 'type': ('django.db.models.fields.CharField', [], {'max_length': '12'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'forum.vote': { + 'Meta': {'unique_together': "(('content_type', 'object_id', 'user'),)", 'object_name': 'Vote', 'db_table': "u'vote'"}, + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'votes'", 'to': "orm['auth.User']"}), + 'vote': ('django.db.models.fields.SmallIntegerField', [], {}), + 'voted_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}) + } + } + + complete_apps = ['forum'] + else: + models = { + 'auth.group': { + 'Meta': {'object_name': 'Group'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), + 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'blank': 'True'}) + }, + 'auth.permission': { + 'Meta': {'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, + 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + }, + 'auth.user': { + 'Meta': {'object_name': 'User'}, + 'about': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'bronze': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'date_of_birth': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), + 'email_isvalid': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'email_key': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), + 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'gold': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'gravatar': ('django.db.models.fields.CharField', [], {'max_length': '32'}), + 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'blank': 'True'}), + 'hide_ignored_questions': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}), + 'is_approved': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'last_seen': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'location': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), + 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), + 'questions_per_page': ('django.db.models.fields.SmallIntegerField', [], {'default': '10'}), + 'real_name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), + 'reputation': ('django.db.models.fields.PositiveIntegerField', [], {'default': '1'}), + 'silver': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'tag_filter_setting': ('django.db.models.fields.CharField', [], {'default': "'ignored'", 'max_length': '16'}), + 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'blank': 'True'}), + 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), + 'website': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}) + }, + 'contenttypes.contenttype': { + 'Meta': {'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, + 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + 'askbot.activity': { + 'Meta': {'object_name': 'Activity', 'db_table': "u'activity'"}, + 'active_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'activity_type': ('django.db.models.fields.SmallIntegerField', [], {}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_auditted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'askbot.anonymousanswer': { + 'Meta': {'object_name': 'AnonymousAnswer'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ip_addr': ('django.db.models.fields.IPAddressField', [], {'max_length': '15'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'anonymous_answers'", 'to': "orm['askbot.Question']"}), + 'session_key': ('django.db.models.fields.CharField', [], {'max_length': '40'}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), + 'text': ('django.db.models.fields.TextField', [], {}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}) + }, + 'askbot.anonymousquestion': { + 'Meta': {'object_name': 'AnonymousQuestion'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ip_addr': ('django.db.models.fields.IPAddressField', [], {'max_length': '15'}), + 'session_key': ('django.db.models.fields.CharField', [], {'max_length': '40'}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'text': ('django.db.models.fields.TextField', [], {}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}) + }, + 'askbot.answer': { + 'Meta': {'object_name': 'Answer', 'db_table': "u'answer'"}, + 'accepted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'accepted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answers'", 'to': "orm['auth.User']"}), + 'comment_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_answers'", 'null': 'True', 'to': "orm['auth.User']"}), + 'html': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'last_edited_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'last_edited_answers'", 'null': 'True', 'to': "orm['auth.User']"}), + 'locked': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'locked_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'locked_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'locked_answers'", 'null': 'True', 'to': "orm['auth.User']"}), + 'offensive_flag_count': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answers'", 'to': "orm['askbot.Question']"}), + 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'text': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'vote_down_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'vote_up_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'wikified_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}) + }, + 'askbot.answerrevision': { + 'Meta': {'object_name': 'AnswerRevision', 'db_table': "u'answer_revision'"}, + 'answer': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'revisions'", 'to': "orm['askbot.Answer']"}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answerrevisions'", 'to': "orm['auth.User']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'revised_at': ('django.db.models.fields.DateTimeField', [], {}), + 'revision': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}), + 'text': ('django.db.models.fields.TextField', [], {}) + }, + 'askbot.authkeyuserassociation': { + 'Meta': {'object_name': 'AuthKeyUserAssociation'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'key': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'provider': ('django.db.models.fields.CharField', [], {'max_length': '64'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'auth_keys'", 'to': "orm['auth.User']"}) + }, + 'askbot.award': { + 'Meta': {'object_name': 'Award', 'db_table': "u'award'"}, + 'awarded_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'badge': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'award_badge'", 'to': "orm['askbot.Badge']"}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'notified': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'award_user'", 'to': "orm['auth.User']"}) + }, + 'askbot.badge': { + 'Meta': {'unique_together': "(('name', 'type'),)", 'object_name': 'Badge', 'db_table': "u'badge'"}, + 'awarded_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'awarded_to': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'badges'", 'through': "'Award'", 'to': "orm['auth.User']"}), + 'description': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'multiple': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}), + 'slug': ('django.db.models.fields.SlugField', [], {'db_index': 'True', 'max_length': '50', 'blank': 'True'}), + 'type': ('django.db.models.fields.SmallIntegerField', [], {}) + }, + 'askbot.book': { + 'Meta': {'object_name': 'Book', 'db_table': "u'book'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {}), + 'author': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'cover_img': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {}), + 'pages': ('django.db.models.fields.SmallIntegerField', [], {}), + 'price': ('django.db.models.fields.DecimalField', [], {'max_digits': '6', 'decimal_places': '2'}), + 'publication': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'published_at': ('django.db.models.fields.DateTimeField', [], {}), + 'questions': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'book'", 'db_table': "'book_question'", 'to': "orm['askbot.Question']"}), + 'short_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'askbot.bookauthorinfo': { + 'Meta': {'object_name': 'BookAuthorInfo', 'db_table': "u'book_author_info'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {}), + 'blog_url': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'book': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['askbot.Book']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'askbot.bookauthorrss': { + 'Meta': {'object_name': 'BookAuthorRss', 'db_table': "u'book_author_rss'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {}), + 'book': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['askbot.Book']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'rss_created_at': ('django.db.models.fields.DateTimeField', [], {}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'url': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'askbot.comment': { + 'Meta': {'object_name': 'Comment', 'db_table': "u'comment'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'comment': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'comments'", 'to': "orm['auth.User']"}) + }, + 'askbot.emailfeedsetting': { + 'Meta': {'object_name': 'EmailFeedSetting'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'feed_type': ('django.db.models.fields.CharField', [], {'max_length': '16'}), + 'frequency': ('django.db.models.fields.CharField', [], {'default': "'n'", 'max_length': '8'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'reported_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}), + 'subscriber': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'askbot.favoritequestion': { + 'Meta': {'object_name': 'FavoriteQuestion', 'db_table': "u'favorite_question'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['askbot.Question']"}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'user_favorite_questions'", 'to': "orm['auth.User']"}) + }, + 'askbot.flaggeditem': { + 'Meta': {'unique_together': "(('content_type', 'object_id', 'user'),)", 'object_name': 'FlaggedItem', 'db_table': "u'flagged_item'"}, + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'flagged_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'flaggeditems'", 'to': "orm['auth.User']"}) + }, + 'askbot.markedtag': { + 'Meta': {'object_name': 'MarkedTag'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'reason': ('django.db.models.fields.CharField', [], {'max_length': '16'}), + 'tag': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'user_selections'", 'to': "orm['askbot.Tag']"}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'tag_selections'", 'to': "orm['auth.User']"}) + }, + 'askbot.question': { + 'Meta': {'object_name': 'Question', 'db_table': "u'question'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'answer_accepted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'answer_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'questions'", 'to': "orm['auth.User']"}), + 'close_reason': ('django.db.models.fields.SmallIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'closed': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'closed_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'closed_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'closed_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'comment_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'favorited_by': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'favorite_questions'", 'through': "'FavoriteQuestion'", 'to': "orm['auth.User']"}), + 'favourite_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'followed_by': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'followed_questions'", 'to': "orm['auth.User']"}), + 'html': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_activity_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_activity_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'last_active_in_questions'", 'to': "orm['auth.User']"}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'last_edited_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'last_edited_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'locked': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'locked_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'locked_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'locked_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'offensive_flag_count': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'tags': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'questions'", 'to': "orm['askbot.Tag']"}), + 'text': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'view_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'vote_down_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'vote_up_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'wikified_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}) + }, + 'askbot.questionrevision': { + 'Meta': {'object_name': 'QuestionRevision', 'db_table': "u'question_revision'"}, + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'questionrevisions'", 'to': "orm['auth.User']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'revisions'", 'to': "orm['askbot.Question']"}), + 'revised_at': ('django.db.models.fields.DateTimeField', [], {}), + 'revision': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'text': ('django.db.models.fields.TextField', [], {}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}) + }, + 'askbot.questionview': { + 'Meta': {'object_name': 'QuestionView'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'viewed'", 'to': "orm['askbot.Question']"}), + 'when': ('django.db.models.fields.DateTimeField', [], {}), + 'who': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'question_views'", 'to': "orm['auth.User']"}) + }, + 'askbot.repute': { + 'Meta': {'object_name': 'Repute', 'db_table': "u'repute'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'negative': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'positive': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['askbot.Question']"}), + 'reputation': ('django.db.models.fields.IntegerField', [], {'default': '1'}), + 'reputation_type': ('django.db.models.fields.SmallIntegerField', [], {}), + 'reputed_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'askbot.tag': { + 'Meta': {'object_name': 'Tag', 'db_table': "u'tag'"}, + 'created_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'created_tags'", 'to': "orm['auth.User']"}), + 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_tags'", 'null': 'True', 'to': "orm['auth.User']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'used_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}) + }, + 'askbot.validationhash': { + 'Meta': {'unique_together': "(('user', 'type'),)", 'object_name': 'ValidationHash'}, + 'expiration': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2010, 5, 2, 12, 29, 51, 920204)'}), + 'hash_code': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'seed': ('django.db.models.fields.CharField', [], {'max_length': '12'}), + 'type': ('django.db.models.fields.CharField', [], {'max_length': '12'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'askbot.vote': { + 'Meta': {'unique_together': "(('content_type', 'object_id', 'user'),)", 'object_name': 'Vote', 'db_table': "u'vote'"}, + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'votes'", 'to': "orm['auth.User']"}), + 'vote': ('django.db.models.fields.SmallIntegerField', [], {}), + 'voted_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}) + } + } + + complete_apps = ['askbot'] diff --git a/askbot/migrations/0006_add_subscription_setting_for_comments_and_mentions.py b/askbot/migrations/0006_add_subscription_setting_for_comments_and_mentions.py new file mode 100644 index 00000000..15c9111f --- /dev/null +++ b/askbot/migrations/0006_add_subscription_setting_for_comments_and_mentions.py @@ -0,0 +1,719 @@ +# encoding: utf-8 +import os +import datetime +from south.db import db +from south.v2 import DataMigration +from django.db import models +try: + from forum import const +except ImportError: + from askbot import const + +class Migration(DataMigration): + + def forwards(self, orm): + "Write your forwards methods here." + print '' + print '**************' + print 'Adding subscription on comment responses and name mentions for each user. ' + print 'frequency will be automatically set to the most frequent selection ' + print 'that user made for any other types of subscriptions' + print '' + + for user in orm['auth.User'].objects.all(): + + feeds = orm.EmailFeedSetting.objects.filter(subscriber=user) + freqs = set([f.frequency for f in feeds]) + + if 'i' in freqs: + frequency = 'i' + elif 'd' in freqs: + frequency = 'd' + elif 'w' in freqs: + frequency = 'w' + else: + frequency = 'n' + + new_feed = orm.EmailFeedSetting( + subscriber = user, + frequency = frequency, + feed_type = 'm_and_c', + ) + new_feed.save() + verbose_frequency = dict(const.NOTIFICATION_DELIVERY_SCHEDULE_CHOICES)[frequency] + print 'added \'%s\' subscription for %s (%d)' % ( + verbose_frequency, + user.username, + user.id + ) + + def backwards(self, orm): + "Write your backwards methods here." + feeds = orm.EmailFeedSetting.objects.filter(feed_type = 'm_and_c') + n = len(feeds) + feeds.delete() + print 'deleted %d feeds' % n + + forum_app_name = os.path.basename(os.path.dirname(os.path.dirname(__file__))) + if forum_app_name == 'forum': + models = { + 'auth.group': { + 'Meta': {'object_name': 'Group'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), + 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'blank': 'True'}) + }, + 'auth.permission': { + 'Meta': {'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, + 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + }, + 'auth.user': { + 'Meta': {'object_name': 'User'}, + 'about': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'bronze': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'date_of_birth': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), + 'email_isvalid': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'email_key': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), + 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'gold': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'gravatar': ('django.db.models.fields.CharField', [], {'max_length': '32'}), + 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'blank': 'True'}), + 'hide_ignored_questions': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}), + 'is_approved': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'last_seen': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'location': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), + 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), + 'questions_per_page': ('django.db.models.fields.SmallIntegerField', [], {'default': '10'}), + 'real_name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), + 'reputation': ('django.db.models.fields.PositiveIntegerField', [], {'default': '1'}), + 'silver': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'tag_filter_setting': ('django.db.models.fields.CharField', [], {'default': "'ignored'", 'max_length': '16'}), + 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'blank': 'True'}), + 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), + 'website': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}) + }, + 'contenttypes.contenttype': { + 'Meta': {'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, + 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + 'forum.activity': { + 'Meta': {'object_name': 'Activity', 'db_table': "u'activity'"}, + 'active_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'activity_type': ('django.db.models.fields.SmallIntegerField', [], {}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_auditted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'forum.anonymousanswer': { + 'Meta': {'object_name': 'AnonymousAnswer'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ip_addr': ('django.db.models.fields.IPAddressField', [], {'max_length': '15'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'anonymous_answers'", 'to': "orm['forum.Question']"}), + 'session_key': ('django.db.models.fields.CharField', [], {'max_length': '40'}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), + 'text': ('django.db.models.fields.TextField', [], {}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}) + }, + 'forum.anonymousquestion': { + 'Meta': {'object_name': 'AnonymousQuestion'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ip_addr': ('django.db.models.fields.IPAddressField', [], {'max_length': '15'}), + 'session_key': ('django.db.models.fields.CharField', [], {'max_length': '40'}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'text': ('django.db.models.fields.TextField', [], {}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}) + }, + 'forum.answer': { + 'Meta': {'object_name': 'Answer', 'db_table': "u'answer'"}, + 'accepted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'accepted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answers'", 'to': "orm['auth.User']"}), + 'comment_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_answers'", 'null': 'True', 'to': "orm['auth.User']"}), + 'html': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'last_edited_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'last_edited_answers'", 'null': 'True', 'to': "orm['auth.User']"}), + 'locked': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'locked_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'locked_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'locked_answers'", 'null': 'True', 'to': "orm['auth.User']"}), + 'offensive_flag_count': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answers'", 'to': "orm['forum.Question']"}), + 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'text': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'vote_down_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'vote_up_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'wikified_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}) + }, + 'forum.answerrevision': { + 'Meta': {'object_name': 'AnswerRevision', 'db_table': "u'answer_revision'"}, + 'answer': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'revisions'", 'to': "orm['forum.Answer']"}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answerrevisions'", 'to': "orm['auth.User']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'revised_at': ('django.db.models.fields.DateTimeField', [], {}), + 'revision': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}), + 'text': ('django.db.models.fields.TextField', [], {}) + }, + 'forum.authkeyuserassociation': { + 'Meta': {'object_name': 'AuthKeyUserAssociation'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'key': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'provider': ('django.db.models.fields.CharField', [], {'max_length': '64'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'auth_keys'", 'to': "orm['auth.User']"}) + }, + 'forum.award': { + 'Meta': {'object_name': 'Award', 'db_table': "u'award'"}, + 'awarded_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'badge': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'award_badge'", 'to': "orm['forum.Badge']"}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'notified': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'award_user'", 'to': "orm['auth.User']"}) + }, + 'forum.badge': { + 'Meta': {'unique_together': "(('name', 'type'),)", 'object_name': 'Badge', 'db_table': "u'badge'"}, + 'awarded_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'awarded_to': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'badges'", 'through': "'Award'", 'to': "orm['auth.User']"}), + 'description': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'multiple': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}), + 'slug': ('django.db.models.fields.SlugField', [], {'db_index': 'True', 'max_length': '50', 'blank': 'True'}), + 'type': ('django.db.models.fields.SmallIntegerField', [], {}) + }, + 'forum.book': { + 'Meta': {'object_name': 'Book', 'db_table': "u'book'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {}), + 'author': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'cover_img': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {}), + 'pages': ('django.db.models.fields.SmallIntegerField', [], {}), + 'price': ('django.db.models.fields.DecimalField', [], {'max_digits': '6', 'decimal_places': '2'}), + 'publication': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'published_at': ('django.db.models.fields.DateTimeField', [], {}), + 'questions': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'book'", 'db_table': "'book_question'", 'to': "orm['forum.Question']"}), + 'short_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'forum.bookauthorinfo': { + 'Meta': {'object_name': 'BookAuthorInfo', 'db_table': "u'book_author_info'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {}), + 'blog_url': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'book': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Book']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'forum.bookauthorrss': { + 'Meta': {'object_name': 'BookAuthorRss', 'db_table': "u'book_author_rss'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {}), + 'book': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Book']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'rss_created_at': ('django.db.models.fields.DateTimeField', [], {}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'url': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'forum.comment': { + 'Meta': {'object_name': 'Comment', 'db_table': "u'comment'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'comment': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'comments'", 'to': "orm['auth.User']"}) + }, + 'forum.emailfeedsetting': { + 'Meta': {'object_name': 'EmailFeedSetting'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'feed_type': ('django.db.models.fields.CharField', [], {'max_length': '16'}), + 'frequency': ('django.db.models.fields.CharField', [], {'default': "'n'", 'max_length': '8'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'reported_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}), + 'subscriber': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'forum.favoritequestion': { + 'Meta': {'object_name': 'FavoriteQuestion', 'db_table': "u'favorite_question'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Question']"}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'user_favorite_questions'", 'to': "orm['auth.User']"}) + }, + 'forum.flaggeditem': { + 'Meta': {'unique_together': "(('content_type', 'object_id', 'user'),)", 'object_name': 'FlaggedItem', 'db_table': "u'flagged_item'"}, + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'flagged_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'flaggeditems'", 'to': "orm['auth.User']"}) + }, + 'forum.markedtag': { + 'Meta': {'object_name': 'MarkedTag'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'reason': ('django.db.models.fields.CharField', [], {'max_length': '16'}), + 'tag': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'user_selections'", 'to': "orm['forum.Tag']"}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'tag_selections'", 'to': "orm['auth.User']"}) + }, + 'forum.question': { + 'Meta': {'object_name': 'Question', 'db_table': "u'question'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'answer_accepted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'answer_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'questions'", 'to': "orm['auth.User']"}), + 'close_reason': ('django.db.models.fields.SmallIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'closed': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'closed_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'closed_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'closed_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'comment_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'favorited_by': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'favorite_questions'", 'through': "'FavoriteQuestion'", 'to': "orm['auth.User']"}), + 'favourite_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'followed_by': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'followed_questions'", 'to': "orm['auth.User']"}), + 'html': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_activity_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_activity_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'last_active_in_questions'", 'to': "orm['auth.User']"}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'last_edited_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'last_edited_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'locked': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'locked_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'locked_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'locked_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'offensive_flag_count': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'tags': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'questions'", 'to': "orm['forum.Tag']"}), + 'text': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'view_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'vote_down_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'vote_up_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'wikified_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}) + }, + 'forum.questionrevision': { + 'Meta': {'object_name': 'QuestionRevision', 'db_table': "u'question_revision'"}, + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'questionrevisions'", 'to': "orm['auth.User']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'revisions'", 'to': "orm['forum.Question']"}), + 'revised_at': ('django.db.models.fields.DateTimeField', [], {}), + 'revision': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'text': ('django.db.models.fields.TextField', [], {}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}) + }, + 'forum.questionview': { + 'Meta': {'object_name': 'QuestionView'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'viewed'", 'to': "orm['forum.Question']"}), + 'when': ('django.db.models.fields.DateTimeField', [], {}), + 'who': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'question_views'", 'to': "orm['auth.User']"}) + }, + 'forum.repute': { + 'Meta': {'object_name': 'Repute', 'db_table': "u'repute'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'negative': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'positive': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Question']"}), + 'reputation': ('django.db.models.fields.IntegerField', [], {'default': '1'}), + 'reputation_type': ('django.db.models.fields.SmallIntegerField', [], {}), + 'reputed_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'forum.tag': { + 'Meta': {'object_name': 'Tag', 'db_table': "u'tag'"}, + 'created_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'created_tags'", 'to': "orm['auth.User']"}), + 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_tags'", 'null': 'True', 'to': "orm['auth.User']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'used_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}) + }, + 'forum.validationhash': { + 'Meta': {'unique_together': "(('user', 'type'),)", 'object_name': 'ValidationHash'}, + 'expiration': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2010, 5, 16, 15, 7, 19, 596607)'}), + 'hash_code': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'seed': ('django.db.models.fields.CharField', [], {'max_length': '12'}), + 'type': ('django.db.models.fields.CharField', [], {'max_length': '12'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'forum.vote': { + 'Meta': {'unique_together': "(('content_type', 'object_id', 'user'),)", 'object_name': 'Vote', 'db_table': "u'vote'"}, + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'votes'", 'to': "orm['auth.User']"}), + 'vote': ('django.db.models.fields.SmallIntegerField', [], {}), + 'voted_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}) + } + } + + complete_apps = ['forum'] + else: + models = { + 'auth.group': { + 'Meta': {'object_name': 'Group'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), + 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'blank': 'True'}) + }, + 'auth.permission': { + 'Meta': {'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, + 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + }, + 'auth.user': { + 'Meta': {'object_name': 'User'}, + 'about': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'bronze': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'date_of_birth': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), + 'email_isvalid': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'email_key': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), + 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'gold': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'gravatar': ('django.db.models.fields.CharField', [], {'max_length': '32'}), + 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'blank': 'True'}), + 'hide_ignored_questions': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}), + 'is_approved': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'last_seen': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'location': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), + 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), + 'questions_per_page': ('django.db.models.fields.SmallIntegerField', [], {'default': '10'}), + 'real_name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), + 'reputation': ('django.db.models.fields.PositiveIntegerField', [], {'default': '1'}), + 'silver': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'tag_filter_setting': ('django.db.models.fields.CharField', [], {'default': "'ignored'", 'max_length': '16'}), + 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'blank': 'True'}), + 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), + 'website': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}) + }, + 'contenttypes.contenttype': { + 'Meta': {'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, + 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + 'askbot.activity': { + 'Meta': {'object_name': 'Activity', 'db_table': "u'activity'"}, + 'active_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'activity_type': ('django.db.models.fields.SmallIntegerField', [], {}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_auditted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'askbot.anonymousanswer': { + 'Meta': {'object_name': 'AnonymousAnswer'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ip_addr': ('django.db.models.fields.IPAddressField', [], {'max_length': '15'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'anonymous_answers'", 'to': "orm['askbot.Question']"}), + 'session_key': ('django.db.models.fields.CharField', [], {'max_length': '40'}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), + 'text': ('django.db.models.fields.TextField', [], {}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}) + }, + 'askbot.anonymousquestion': { + 'Meta': {'object_name': 'AnonymousQuestion'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ip_addr': ('django.db.models.fields.IPAddressField', [], {'max_length': '15'}), + 'session_key': ('django.db.models.fields.CharField', [], {'max_length': '40'}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'text': ('django.db.models.fields.TextField', [], {}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}) + }, + 'askbot.answer': { + 'Meta': {'object_name': 'Answer', 'db_table': "u'answer'"}, + 'accepted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'accepted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answers'", 'to': "orm['auth.User']"}), + 'comment_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_answers'", 'null': 'True', 'to': "orm['auth.User']"}), + 'html': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'last_edited_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'last_edited_answers'", 'null': 'True', 'to': "orm['auth.User']"}), + 'locked': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'locked_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'locked_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'locked_answers'", 'null': 'True', 'to': "orm['auth.User']"}), + 'offensive_flag_count': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answers'", 'to': "orm['askbot.Question']"}), + 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'text': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'vote_down_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'vote_up_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'wikified_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}) + }, + 'askbot.answerrevision': { + 'Meta': {'object_name': 'AnswerRevision', 'db_table': "u'answer_revision'"}, + 'answer': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'revisions'", 'to': "orm['askbot.Answer']"}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answerrevisions'", 'to': "orm['auth.User']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'revised_at': ('django.db.models.fields.DateTimeField', [], {}), + 'revision': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}), + 'text': ('django.db.models.fields.TextField', [], {}) + }, + 'askbot.authkeyuserassociation': { + 'Meta': {'object_name': 'AuthKeyUserAssociation'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'key': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'provider': ('django.db.models.fields.CharField', [], {'max_length': '64'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'auth_keys'", 'to': "orm['auth.User']"}) + }, + 'askbot.award': { + 'Meta': {'object_name': 'Award', 'db_table': "u'award'"}, + 'awarded_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'badge': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'award_badge'", 'to': "orm['askbot.Badge']"}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'notified': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'award_user'", 'to': "orm['auth.User']"}) + }, + 'askbot.badge': { + 'Meta': {'unique_together': "(('name', 'type'),)", 'object_name': 'Badge', 'db_table': "u'badge'"}, + 'awarded_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'awarded_to': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'badges'", 'through': "'Award'", 'to': "orm['auth.User']"}), + 'description': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'multiple': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}), + 'slug': ('django.db.models.fields.SlugField', [], {'db_index': 'True', 'max_length': '50', 'blank': 'True'}), + 'type': ('django.db.models.fields.SmallIntegerField', [], {}) + }, + 'askbot.book': { + 'Meta': {'object_name': 'Book', 'db_table': "u'book'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {}), + 'author': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'cover_img': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {}), + 'pages': ('django.db.models.fields.SmallIntegerField', [], {}), + 'price': ('django.db.models.fields.DecimalField', [], {'max_digits': '6', 'decimal_places': '2'}), + 'publication': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'published_at': ('django.db.models.fields.DateTimeField', [], {}), + 'questions': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'book'", 'db_table': "'book_question'", 'to': "orm['askbot.Question']"}), + 'short_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'askbot.bookauthorinfo': { + 'Meta': {'object_name': 'BookAuthorInfo', 'db_table': "u'book_author_info'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {}), + 'blog_url': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'book': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['askbot.Book']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'askbot.bookauthorrss': { + 'Meta': {'object_name': 'BookAuthorRss', 'db_table': "u'book_author_rss'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {}), + 'book': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['askbot.Book']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'rss_created_at': ('django.db.models.fields.DateTimeField', [], {}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'url': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'askbot.comment': { + 'Meta': {'object_name': 'Comment', 'db_table': "u'comment'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'comment': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'comments'", 'to': "orm['auth.User']"}) + }, + 'askbot.emailfeedsetting': { + 'Meta': {'object_name': 'EmailFeedSetting'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'feed_type': ('django.db.models.fields.CharField', [], {'max_length': '16'}), + 'frequency': ('django.db.models.fields.CharField', [], {'default': "'n'", 'max_length': '8'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'reported_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}), + 'subscriber': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'askbot.favoritequestion': { + 'Meta': {'object_name': 'FavoriteQuestion', 'db_table': "u'favorite_question'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['askbot.Question']"}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'user_favorite_questions'", 'to': "orm['auth.User']"}) + }, + 'askbot.flaggeditem': { + 'Meta': {'unique_together': "(('content_type', 'object_id', 'user'),)", 'object_name': 'FlaggedItem', 'db_table': "u'flagged_item'"}, + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'flagged_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'flaggeditems'", 'to': "orm['auth.User']"}) + }, + 'askbot.markedtag': { + 'Meta': {'object_name': 'MarkedTag'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'reason': ('django.db.models.fields.CharField', [], {'max_length': '16'}), + 'tag': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'user_selections'", 'to': "orm['askbot.Tag']"}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'tag_selections'", 'to': "orm['auth.User']"}) + }, + 'askbot.question': { + 'Meta': {'object_name': 'Question', 'db_table': "u'question'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'answer_accepted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'answer_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'questions'", 'to': "orm['auth.User']"}), + 'close_reason': ('django.db.models.fields.SmallIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'closed': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'closed_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'closed_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'closed_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'comment_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'favorited_by': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'favorite_questions'", 'through': "'FavoriteQuestion'", 'to': "orm['auth.User']"}), + 'favourite_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'followed_by': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'followed_questions'", 'to': "orm['auth.User']"}), + 'html': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_activity_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_activity_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'last_active_in_questions'", 'to': "orm['auth.User']"}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'last_edited_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'last_edited_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'locked': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'locked_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'locked_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'locked_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'offensive_flag_count': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'tags': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'questions'", 'to': "orm['askbot.Tag']"}), + 'text': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'view_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'vote_down_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'vote_up_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'wikified_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}) + }, + 'askbot.questionrevision': { + 'Meta': {'object_name': 'QuestionRevision', 'db_table': "u'question_revision'"}, + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'questionrevisions'", 'to': "orm['auth.User']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'revisions'", 'to': "orm['askbot.Question']"}), + 'revised_at': ('django.db.models.fields.DateTimeField', [], {}), + 'revision': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'text': ('django.db.models.fields.TextField', [], {}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}) + }, + 'askbot.questionview': { + 'Meta': {'object_name': 'QuestionView'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'viewed'", 'to': "orm['askbot.Question']"}), + 'when': ('django.db.models.fields.DateTimeField', [], {}), + 'who': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'question_views'", 'to': "orm['auth.User']"}) + }, + 'askbot.repute': { + 'Meta': {'object_name': 'Repute', 'db_table': "u'repute'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'negative': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'positive': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['askbot.Question']"}), + 'reputation': ('django.db.models.fields.IntegerField', [], {'default': '1'}), + 'reputation_type': ('django.db.models.fields.SmallIntegerField', [], {}), + 'reputed_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'askbot.tag': { + 'Meta': {'object_name': 'Tag', 'db_table': "u'tag'"}, + 'created_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'created_tags'", 'to': "orm['auth.User']"}), + 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_tags'", 'null': 'True', 'to': "orm['auth.User']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'used_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}) + }, + 'askbot.validationhash': { + 'Meta': {'unique_together': "(('user', 'type'),)", 'object_name': 'ValidationHash'}, + 'expiration': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2010, 5, 16, 15, 7, 19, 596607)'}), + 'hash_code': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'seed': ('django.db.models.fields.CharField', [], {'max_length': '12'}), + 'type': ('django.db.models.fields.CharField', [], {'max_length': '12'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'askbot.vote': { + 'Meta': {'unique_together': "(('content_type', 'object_id', 'user'),)", 'object_name': 'Vote', 'db_table': "u'vote'"}, + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'votes'", 'to': "orm['auth.User']"}), + 'vote': ('django.db.models.fields.SmallIntegerField', [], {}), + 'voted_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}) + } + } + + complete_apps = ['askbot'] diff --git a/askbot/migrations/0007_install_mentions_model.py b/askbot/migrations/0007_install_mentions_model.py new file mode 100644 index 00000000..f5a712ad --- /dev/null +++ b/askbot/migrations/0007_install_mentions_model.py @@ -0,0 +1,708 @@ +# encoding: utf-8 +import os +import datetime +from south.db import db +from south.v2 import SchemaMigration +from django.db import models + +app_dir_name = os.path.basename(os.path.dirname(os.path.dirname(__file__))) + +class Migration(SchemaMigration): + + def forwards(self, orm): + + # Adding model 'Mention' + db.create_table(u'mention', ( + ('mentioned_by', self.gf('django.db.models.fields.related.ForeignKey')(related_name='mentions_sent', to=orm['auth.User'])), + ('mentioned_at', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)), + ('object_id', self.gf('django.db.models.fields.PositiveIntegerField')()), + ('content_type', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['contenttypes.ContentType'])), + ('mentioned_whom', self.gf('django.db.models.fields.related.ForeignKey')(related_name='mentions_received', to=orm['auth.User'])), + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + )) + db.send_create_signal(app_dir_name, ['Mention']) + + + def backwards(self, orm): + + # Deleting model 'Mention' + db.delete_table(u'mention') + + if app_dir_name == 'forum': + models = { + 'auth.group': { + 'Meta': {'object_name': 'Group'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), + 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'blank': 'True'}) + }, + 'auth.permission': { + 'Meta': {'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, + 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + }, + 'auth.user': { + 'Meta': {'object_name': 'User'}, + 'about': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'bronze': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'date_of_birth': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), + 'email_isvalid': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'email_key': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), + 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'gold': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'gravatar': ('django.db.models.fields.CharField', [], {'max_length': '32'}), + 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'blank': 'True'}), + 'hide_ignored_questions': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}), + 'is_approved': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'last_seen': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'location': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), + 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), + 'questions_per_page': ('django.db.models.fields.SmallIntegerField', [], {'default': '10'}), + 'real_name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), + 'reputation': ('django.db.models.fields.PositiveIntegerField', [], {'default': '1'}), + 'silver': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'tag_filter_setting': ('django.db.models.fields.CharField', [], {'default': "'ignored'", 'max_length': '16'}), + 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'blank': 'True'}), + 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), + 'website': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}) + }, + 'contenttypes.contenttype': { + 'Meta': {'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, + 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + 'forum.activity': { + 'Meta': {'object_name': 'Activity', 'db_table': "u'activity'"}, + 'active_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'activity_type': ('django.db.models.fields.SmallIntegerField', [], {}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_auditted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'forum.anonymousanswer': { + 'Meta': {'object_name': 'AnonymousAnswer'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ip_addr': ('django.db.models.fields.IPAddressField', [], {'max_length': '15'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'anonymous_answers'", 'to': "orm['forum.Question']"}), + 'session_key': ('django.db.models.fields.CharField', [], {'max_length': '40'}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), + 'text': ('django.db.models.fields.TextField', [], {}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}) + }, + 'forum.anonymousquestion': { + 'Meta': {'object_name': 'AnonymousQuestion'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ip_addr': ('django.db.models.fields.IPAddressField', [], {'max_length': '15'}), + 'session_key': ('django.db.models.fields.CharField', [], {'max_length': '40'}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'text': ('django.db.models.fields.TextField', [], {}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}) + }, + 'forum.answer': { + 'Meta': {'object_name': 'Answer', 'db_table': "u'answer'"}, + 'accepted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'accepted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answers'", 'to': "orm['auth.User']"}), + 'comment_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_answers'", 'null': 'True', 'to': "orm['auth.User']"}), + 'html': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'last_edited_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'last_edited_answers'", 'null': 'True', 'to': "orm['auth.User']"}), + 'locked': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'locked_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'locked_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'locked_answers'", 'null': 'True', 'to': "orm['auth.User']"}), + 'offensive_flag_count': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answers'", 'to': "orm['forum.Question']"}), + 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'text': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'vote_down_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'vote_up_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'wikified_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}) + }, + 'forum.answerrevision': { + 'Meta': {'object_name': 'AnswerRevision', 'db_table': "u'answer_revision'"}, + 'answer': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'revisions'", 'to': "orm['forum.Answer']"}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answerrevisions'", 'to': "orm['auth.User']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'revised_at': ('django.db.models.fields.DateTimeField', [], {}), + 'revision': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}), + 'text': ('django.db.models.fields.TextField', [], {}) + }, + 'forum.authkeyuserassociation': { + 'Meta': {'object_name': 'AuthKeyUserAssociation'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'key': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'provider': ('django.db.models.fields.CharField', [], {'max_length': '64'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'auth_keys'", 'to': "orm['auth.User']"}) + }, + 'forum.award': { + 'Meta': {'object_name': 'Award', 'db_table': "u'award'"}, + 'awarded_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'badge': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'award_badge'", 'to': "orm['forum.Badge']"}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'notified': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'award_user'", 'to': "orm['auth.User']"}) + }, + 'forum.badge': { + 'Meta': {'unique_together': "(('name', 'type'),)", 'object_name': 'Badge', 'db_table': "u'badge'"}, + 'awarded_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'awarded_to': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'badges'", 'through': "'Award'", 'to': "orm['auth.User']"}), + 'description': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'multiple': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}), + 'slug': ('django.db.models.fields.SlugField', [], {'db_index': 'True', 'max_length': '50', 'blank': 'True'}), + 'type': ('django.db.models.fields.SmallIntegerField', [], {}) + }, + 'forum.book': { + 'Meta': {'object_name': 'Book', 'db_table': "u'book'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {}), + 'author': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'cover_img': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {}), + 'pages': ('django.db.models.fields.SmallIntegerField', [], {}), + 'price': ('django.db.models.fields.DecimalField', [], {'max_digits': '6', 'decimal_places': '2'}), + 'publication': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'published_at': ('django.db.models.fields.DateTimeField', [], {}), + 'questions': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'book'", 'db_table': "'book_question'", 'to': "orm['forum.Question']"}), + 'short_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'forum.bookauthorinfo': { + 'Meta': {'object_name': 'BookAuthorInfo', 'db_table': "u'book_author_info'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {}), + 'blog_url': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'book': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Book']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'forum.bookauthorrss': { + 'Meta': {'object_name': 'BookAuthorRss', 'db_table': "u'book_author_rss'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {}), + 'book': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Book']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'rss_created_at': ('django.db.models.fields.DateTimeField', [], {}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'url': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'forum.comment': { + 'Meta': {'object_name': 'Comment', 'db_table': "u'comment'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'comment': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'comments'", 'to': "orm['auth.User']"}) + }, + 'forum.emailfeedsetting': { + 'Meta': {'object_name': 'EmailFeedSetting'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'feed_type': ('django.db.models.fields.CharField', [], {'max_length': '16'}), + 'frequency': ('django.db.models.fields.CharField', [], {'default': "'n'", 'max_length': '8'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'reported_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}), + 'subscriber': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'notification_subscriptions'", 'to': "orm['auth.User']"}) + }, + 'forum.favoritequestion': { + 'Meta': {'object_name': 'FavoriteQuestion', 'db_table': "u'favorite_question'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Question']"}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'user_favorite_questions'", 'to': "orm['auth.User']"}) + }, + 'forum.flaggeditem': { + 'Meta': {'unique_together': "(('content_type', 'object_id', 'user'),)", 'object_name': 'FlaggedItem', 'db_table': "u'flagged_item'"}, + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'flagged_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'flaggeditems'", 'to': "orm['auth.User']"}) + }, + 'forum.markedtag': { + 'Meta': {'object_name': 'MarkedTag'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'reason': ('django.db.models.fields.CharField', [], {'max_length': '16'}), + 'tag': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'user_selections'", 'to': "orm['forum.Tag']"}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'tag_selections'", 'to': "orm['auth.User']"}) + }, + 'forum.mention': { + 'Meta': {'object_name': 'Mention', 'db_table': "u'mention'"}, + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'mentioned_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'mentioned_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'mentions_sent'", 'to': "orm['auth.User']"}), + 'mentioned_whom': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'mentions_received'", 'to': "orm['auth.User']"}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}) + }, + 'forum.question': { + 'Meta': {'object_name': 'Question', 'db_table': "u'question'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'answer_accepted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'answer_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'questions'", 'to': "orm['auth.User']"}), + 'close_reason': ('django.db.models.fields.SmallIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'closed': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'closed_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'closed_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'closed_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'comment_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'favorited_by': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'favorite_questions'", 'through': "'FavoriteQuestion'", 'to': "orm['auth.User']"}), + 'favourite_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'followed_by': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'followed_questions'", 'to': "orm['auth.User']"}), + 'html': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_activity_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_activity_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'last_active_in_questions'", 'to': "orm['auth.User']"}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'last_edited_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'last_edited_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'locked': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'locked_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'locked_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'locked_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'offensive_flag_count': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'tags': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'questions'", 'to': "orm['forum.Tag']"}), + 'text': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'view_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'vote_down_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'vote_up_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'wikified_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}) + }, + 'forum.questionrevision': { + 'Meta': {'object_name': 'QuestionRevision', 'db_table': "u'question_revision'"}, + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'questionrevisions'", 'to': "orm['auth.User']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'revisions'", 'to': "orm['forum.Question']"}), + 'revised_at': ('django.db.models.fields.DateTimeField', [], {}), + 'revision': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'text': ('django.db.models.fields.TextField', [], {}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}) + }, + 'forum.questionview': { + 'Meta': {'object_name': 'QuestionView'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'viewed'", 'to': "orm['forum.Question']"}), + 'when': ('django.db.models.fields.DateTimeField', [], {}), + 'who': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'question_views'", 'to': "orm['auth.User']"}) + }, + 'forum.repute': { + 'Meta': {'object_name': 'Repute', 'db_table': "u'repute'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'negative': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'positive': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Question']"}), + 'reputation': ('django.db.models.fields.IntegerField', [], {'default': '1'}), + 'reputation_type': ('django.db.models.fields.SmallIntegerField', [], {}), + 'reputed_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'forum.tag': { + 'Meta': {'object_name': 'Tag', 'db_table': "u'tag'"}, + 'created_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'created_tags'", 'to': "orm['auth.User']"}), + 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_tags'", 'null': 'True', 'to': "orm['auth.User']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'used_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}) + }, + 'forum.validationhash': { + 'Meta': {'unique_together': "(('user', 'type'),)", 'object_name': 'ValidationHash'}, + 'expiration': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2010, 5, 17, 13, 4, 34, 910299)'}), + 'hash_code': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'seed': ('django.db.models.fields.CharField', [], {'max_length': '12'}), + 'type': ('django.db.models.fields.CharField', [], {'max_length': '12'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'forum.vote': { + 'Meta': {'unique_together': "(('content_type', 'object_id', 'user'),)", 'object_name': 'Vote', 'db_table': "u'vote'"}, + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'votes'", 'to': "orm['auth.User']"}), + 'vote': ('django.db.models.fields.SmallIntegerField', [], {}), + 'voted_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}) + } + } + else: + models = { + 'auth.group': { + 'Meta': {'object_name': 'Group'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), + 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'blank': 'True'}) + }, + 'auth.permission': { + 'Meta': {'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, + 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + }, + 'auth.user': { + 'Meta': {'object_name': 'User'}, + 'about': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'bronze': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'date_of_birth': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), + 'email_isvalid': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'email_key': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), + 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'gold': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'gravatar': ('django.db.models.fields.CharField', [], {'max_length': '32'}), + 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'blank': 'True'}), + 'hide_ignored_questions': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}), + 'is_approved': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'last_seen': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'location': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), + 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), + 'questions_per_page': ('django.db.models.fields.SmallIntegerField', [], {'default': '10'}), + 'real_name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), + 'reputation': ('django.db.models.fields.PositiveIntegerField', [], {'default': '1'}), + 'silver': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'tag_filter_setting': ('django.db.models.fields.CharField', [], {'default': "'ignored'", 'max_length': '16'}), + 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'blank': 'True'}), + 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), + 'website': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}) + }, + 'contenttypes.contenttype': { + 'Meta': {'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, + 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + 'askbot.activity': { + 'Meta': {'object_name': 'Activity', 'db_table': "u'activity'"}, + 'active_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'activity_type': ('django.db.models.fields.SmallIntegerField', [], {}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_auditted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'askbot.anonymousanswer': { + 'Meta': {'object_name': 'AnonymousAnswer'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ip_addr': ('django.db.models.fields.IPAddressField', [], {'max_length': '15'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'anonymous_answers'", 'to': "orm['askbot.Question']"}), + 'session_key': ('django.db.models.fields.CharField', [], {'max_length': '40'}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), + 'text': ('django.db.models.fields.TextField', [], {}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}) + }, + 'askbot.anonymousquestion': { + 'Meta': {'object_name': 'AnonymousQuestion'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ip_addr': ('django.db.models.fields.IPAddressField', [], {'max_length': '15'}), + 'session_key': ('django.db.models.fields.CharField', [], {'max_length': '40'}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'text': ('django.db.models.fields.TextField', [], {}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}) + }, + 'askbot.answer': { + 'Meta': {'object_name': 'Answer', 'db_table': "u'answer'"}, + 'accepted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'accepted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answers'", 'to': "orm['auth.User']"}), + 'comment_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_answers'", 'null': 'True', 'to': "orm['auth.User']"}), + 'html': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'last_edited_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'last_edited_answers'", 'null': 'True', 'to': "orm['auth.User']"}), + 'locked': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'locked_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'locked_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'locked_answers'", 'null': 'True', 'to': "orm['auth.User']"}), + 'offensive_flag_count': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answers'", 'to': "orm['askbot.Question']"}), + 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'text': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'vote_down_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'vote_up_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'wikified_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}) + }, + 'askbot.answerrevision': { + 'Meta': {'object_name': 'AnswerRevision', 'db_table': "u'answer_revision'"}, + 'answer': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'revisions'", 'to': "orm['askbot.Answer']"}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answerrevisions'", 'to': "orm['auth.User']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'revised_at': ('django.db.models.fields.DateTimeField', [], {}), + 'revision': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}), + 'text': ('django.db.models.fields.TextField', [], {}) + }, + 'askbot.authkeyuserassociation': { + 'Meta': {'object_name': 'AuthKeyUserAssociation'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'key': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'provider': ('django.db.models.fields.CharField', [], {'max_length': '64'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'auth_keys'", 'to': "orm['auth.User']"}) + }, + 'askbot.award': { + 'Meta': {'object_name': 'Award', 'db_table': "u'award'"}, + 'awarded_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'badge': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'award_badge'", 'to': "orm['askbot.Badge']"}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'notified': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'award_user'", 'to': "orm['auth.User']"}) + }, + 'askbot.badge': { + 'Meta': {'unique_together': "(('name', 'type'),)", 'object_name': 'Badge', 'db_table': "u'badge'"}, + 'awarded_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'awarded_to': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'badges'", 'through': "'Award'", 'to': "orm['auth.User']"}), + 'description': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'multiple': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}), + 'slug': ('django.db.models.fields.SlugField', [], {'db_index': 'True', 'max_length': '50', 'blank': 'True'}), + 'type': ('django.db.models.fields.SmallIntegerField', [], {}) + }, + 'askbot.book': { + 'Meta': {'object_name': 'Book', 'db_table': "u'book'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {}), + 'author': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'cover_img': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {}), + 'pages': ('django.db.models.fields.SmallIntegerField', [], {}), + 'price': ('django.db.models.fields.DecimalField', [], {'max_digits': '6', 'decimal_places': '2'}), + 'publication': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'published_at': ('django.db.models.fields.DateTimeField', [], {}), + 'questions': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'book'", 'db_table': "'book_question'", 'to': "orm['askbot.Question']"}), + 'short_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'askbot.bookauthorinfo': { + 'Meta': {'object_name': 'BookAuthorInfo', 'db_table': "u'book_author_info'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {}), + 'blog_url': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'book': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['askbot.Book']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'askbot.bookauthorrss': { + 'Meta': {'object_name': 'BookAuthorRss', 'db_table': "u'book_author_rss'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {}), + 'book': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['askbot.Book']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'rss_created_at': ('django.db.models.fields.DateTimeField', [], {}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'url': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'askbot.comment': { + 'Meta': {'object_name': 'Comment', 'db_table': "u'comment'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'comment': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'comments'", 'to': "orm['auth.User']"}) + }, + 'askbot.emailfeedsetting': { + 'Meta': {'object_name': 'EmailFeedSetting'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'feed_type': ('django.db.models.fields.CharField', [], {'max_length': '16'}), + 'frequency': ('django.db.models.fields.CharField', [], {'default': "'n'", 'max_length': '8'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'reported_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}), + 'subscriber': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'notification_subscriptions'", 'to': "orm['auth.User']"}) + }, + 'askbot.favoritequestion': { + 'Meta': {'object_name': 'FavoriteQuestion', 'db_table': "u'favorite_question'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['askbot.Question']"}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'user_favorite_questions'", 'to': "orm['auth.User']"}) + }, + 'askbot.flaggeditem': { + 'Meta': {'unique_together': "(('content_type', 'object_id', 'user'),)", 'object_name': 'FlaggedItem', 'db_table': "u'flagged_item'"}, + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'flagged_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'flaggeditems'", 'to': "orm['auth.User']"}) + }, + 'askbot.markedtag': { + 'Meta': {'object_name': 'MarkedTag'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'reason': ('django.db.models.fields.CharField', [], {'max_length': '16'}), + 'tag': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'user_selections'", 'to': "orm['askbot.Tag']"}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'tag_selections'", 'to': "orm['auth.User']"}) + }, + 'askbot.mention': { + 'Meta': {'object_name': 'Mention', 'db_table': "u'mention'"}, + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'mentioned_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'mentioned_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'mentions_sent'", 'to': "orm['auth.User']"}), + 'mentioned_whom': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'mentions_received'", 'to': "orm['auth.User']"}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}) + }, + 'askbot.question': { + 'Meta': {'object_name': 'Question', 'db_table': "u'question'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'answer_accepted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'answer_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'questions'", 'to': "orm['auth.User']"}), + 'close_reason': ('django.db.models.fields.SmallIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'closed': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'closed_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'closed_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'closed_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'comment_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'favorited_by': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'favorite_questions'", 'through': "'FavoriteQuestion'", 'to': "orm['auth.User']"}), + 'favourite_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'followed_by': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'followed_questions'", 'to': "orm['auth.User']"}), + 'html': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_activity_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_activity_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'last_active_in_questions'", 'to': "orm['auth.User']"}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'last_edited_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'last_edited_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'locked': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'locked_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'locked_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'locked_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'offensive_flag_count': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'tags': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'questions'", 'to': "orm['askbot.Tag']"}), + 'text': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'view_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'vote_down_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'vote_up_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'wikified_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}) + }, + 'askbot.questionrevision': { + 'Meta': {'object_name': 'QuestionRevision', 'db_table': "u'question_revision'"}, + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'questionrevisions'", 'to': "orm['auth.User']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'revisions'", 'to': "orm['askbot.Question']"}), + 'revised_at': ('django.db.models.fields.DateTimeField', [], {}), + 'revision': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'text': ('django.db.models.fields.TextField', [], {}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}) + }, + 'askbot.questionview': { + 'Meta': {'object_name': 'QuestionView'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'viewed'", 'to': "orm['askbot.Question']"}), + 'when': ('django.db.models.fields.DateTimeField', [], {}), + 'who': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'question_views'", 'to': "orm['auth.User']"}) + }, + 'askbot.repute': { + 'Meta': {'object_name': 'Repute', 'db_table': "u'repute'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'negative': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'positive': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['askbot.Question']"}), + 'reputation': ('django.db.models.fields.IntegerField', [], {'default': '1'}), + 'reputation_type': ('django.db.models.fields.SmallIntegerField', [], {}), + 'reputed_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'askbot.tag': { + 'Meta': {'object_name': 'Tag', 'db_table': "u'tag'"}, + 'created_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'created_tags'", 'to': "orm['auth.User']"}), + 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_tags'", 'null': 'True', 'to': "orm['auth.User']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'used_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}) + }, + 'askbot.validationhash': { + 'Meta': {'unique_together': "(('user', 'type'),)", 'object_name': 'ValidationHash'}, + 'expiration': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2010, 5, 17, 13, 4, 34, 910299)'}), + 'hash_code': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'seed': ('django.db.models.fields.CharField', [], {'max_length': '12'}), + 'type': ('django.db.models.fields.CharField', [], {'max_length': '12'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'askbot.vote': { + 'Meta': {'unique_together': "(('content_type', 'object_id', 'user'),)", 'object_name': 'Vote', 'db_table': "u'vote'"}, + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'votes'", 'to': "orm['auth.User']"}), + 'vote': ('django.db.models.fields.SmallIntegerField', [], {}), + 'voted_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}) + } + } + + complete_apps = [app_dir_name] diff --git a/askbot/migrations/0008_add_html_field_to_comments.py b/askbot/migrations/0008_add_html_field_to_comments.py new file mode 100644 index 00000000..6da4b292 --- /dev/null +++ b/askbot/migrations/0008_add_html_field_to_comments.py @@ -0,0 +1,708 @@ +# encoding: utf-8 +import os +import datetime +from south.db import db +from south.v2 import SchemaMigration +from django.db import models + +app_dir_name = os.path.basename(os.path.dirname(os.path.dirname(__file__))) + +class Migration(SchemaMigration): + + def forwards(self, orm): + + # Adding field 'Comment.html' + db.add_column(u'comment', 'html', self.gf('django.db.models.fields.CharField')(default='', max_length=2048), keep_default=False) + + # Changing field 'Comment.comment' + db.alter_column(u'comment', 'comment', self.gf('django.db.models.fields.CharField')(max_length=2048)) + + def backwards(self, orm): + + # Deleting field 'Comment.html' + db.delete_column(u'comment', 'html') + + # Changing field 'Comment.comment' + db.alter_column(u'comment', 'comment', self.gf('django.db.models.fields.CharField')(max_length=300)) + + + if app_dir_name == 'forum': + models = { + 'auth.group': { + 'Meta': {'object_name': 'Group'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), + 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'blank': 'True'}) + }, + 'auth.permission': { + 'Meta': {'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, + 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + }, + 'auth.user': { + 'Meta': {'object_name': 'User'}, + 'about': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'bronze': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'date_of_birth': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), + 'email_isvalid': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'email_key': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), + 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'gold': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'gravatar': ('django.db.models.fields.CharField', [], {'max_length': '32'}), + 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'blank': 'True'}), + 'hide_ignored_questions': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}), + 'is_approved': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'last_seen': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'location': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), + 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), + 'questions_per_page': ('django.db.models.fields.SmallIntegerField', [], {'default': '10'}), + 'real_name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), + 'reputation': ('django.db.models.fields.PositiveIntegerField', [], {'default': '1'}), + 'silver': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'tag_filter_setting': ('django.db.models.fields.CharField', [], {'default': "'ignored'", 'max_length': '16'}), + 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'blank': 'True'}), + 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), + 'website': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}) + }, + 'contenttypes.contenttype': { + 'Meta': {'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, + 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + 'forum.activity': { + 'Meta': {'object_name': 'Activity', 'db_table': "u'activity'"}, + 'active_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'activity_type': ('django.db.models.fields.SmallIntegerField', [], {}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_auditted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'forum.anonymousanswer': { + 'Meta': {'object_name': 'AnonymousAnswer'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ip_addr': ('django.db.models.fields.IPAddressField', [], {'max_length': '15'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'anonymous_answers'", 'to': "orm['forum.Question']"}), + 'session_key': ('django.db.models.fields.CharField', [], {'max_length': '40'}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), + 'text': ('django.db.models.fields.TextField', [], {}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}) + }, + 'forum.anonymousquestion': { + 'Meta': {'object_name': 'AnonymousQuestion'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ip_addr': ('django.db.models.fields.IPAddressField', [], {'max_length': '15'}), + 'session_key': ('django.db.models.fields.CharField', [], {'max_length': '40'}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'text': ('django.db.models.fields.TextField', [], {}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}) + }, + 'forum.answer': { + 'Meta': {'object_name': 'Answer', 'db_table': "u'answer'"}, + 'accepted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'accepted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answers'", 'to': "orm['auth.User']"}), + 'comment_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_answers'", 'null': 'True', 'to': "orm['auth.User']"}), + 'html': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'last_edited_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'last_edited_answers'", 'null': 'True', 'to': "orm['auth.User']"}), + 'locked': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'locked_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'locked_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'locked_answers'", 'null': 'True', 'to': "orm['auth.User']"}), + 'offensive_flag_count': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answers'", 'to': "orm['forum.Question']"}), + 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'text': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'vote_down_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'vote_up_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'wikified_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}) + }, + 'forum.answerrevision': { + 'Meta': {'object_name': 'AnswerRevision', 'db_table': "u'answer_revision'"}, + 'answer': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'revisions'", 'to': "orm['forum.Answer']"}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answerrevisions'", 'to': "orm['auth.User']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'revised_at': ('django.db.models.fields.DateTimeField', [], {}), + 'revision': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}), + 'text': ('django.db.models.fields.TextField', [], {}) + }, + 'forum.authkeyuserassociation': { + 'Meta': {'object_name': 'AuthKeyUserAssociation'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'key': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'provider': ('django.db.models.fields.CharField', [], {'max_length': '64'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'auth_keys'", 'to': "orm['auth.User']"}) + }, + 'forum.award': { + 'Meta': {'object_name': 'Award', 'db_table': "u'award'"}, + 'awarded_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'badge': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'award_badge'", 'to': "orm['forum.Badge']"}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'notified': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'award_user'", 'to': "orm['auth.User']"}) + }, + 'forum.badge': { + 'Meta': {'unique_together': "(('name', 'type'),)", 'object_name': 'Badge', 'db_table': "u'badge'"}, + 'awarded_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'awarded_to': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'badges'", 'through': "'Award'", 'to': "orm['auth.User']"}), + 'description': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'multiple': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}), + 'slug': ('django.db.models.fields.SlugField', [], {'db_index': 'True', 'max_length': '50', 'blank': 'True'}), + 'type': ('django.db.models.fields.SmallIntegerField', [], {}) + }, + 'forum.book': { + 'Meta': {'object_name': 'Book', 'db_table': "u'book'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {}), + 'author': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'cover_img': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {}), + 'pages': ('django.db.models.fields.SmallIntegerField', [], {}), + 'price': ('django.db.models.fields.DecimalField', [], {'max_digits': '6', 'decimal_places': '2'}), + 'publication': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'published_at': ('django.db.models.fields.DateTimeField', [], {}), + 'questions': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'book'", 'db_table': "'book_question'", 'to': "orm['forum.Question']"}), + 'short_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'forum.bookauthorinfo': { + 'Meta': {'object_name': 'BookAuthorInfo', 'db_table': "u'book_author_info'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {}), + 'blog_url': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'book': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Book']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'forum.bookauthorrss': { + 'Meta': {'object_name': 'BookAuthorRss', 'db_table': "u'book_author_rss'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {}), + 'book': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Book']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'rss_created_at': ('django.db.models.fields.DateTimeField', [], {}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'url': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'forum.comment': { + 'Meta': {'object_name': 'Comment', 'db_table': "u'comment'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'comment': ('django.db.models.fields.CharField', [], {'max_length': '2048'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'html': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '2048'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'comments'", 'to': "orm['auth.User']"}) + }, + 'forum.emailfeedsetting': { + 'Meta': {'object_name': 'EmailFeedSetting'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'feed_type': ('django.db.models.fields.CharField', [], {'max_length': '16'}), + 'frequency': ('django.db.models.fields.CharField', [], {'default': "'n'", 'max_length': '8'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'reported_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}), + 'subscriber': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'notification_subscriptions'", 'to': "orm['auth.User']"}) + }, + 'forum.favoritequestion': { + 'Meta': {'object_name': 'FavoriteQuestion', 'db_table': "u'favorite_question'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Question']"}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'user_favorite_questions'", 'to': "orm['auth.User']"}) + }, + 'forum.flaggeditem': { + 'Meta': {'unique_together': "(('content_type', 'object_id', 'user'),)", 'object_name': 'FlaggedItem', 'db_table': "u'flagged_item'"}, + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'flagged_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'flaggeditems'", 'to': "orm['auth.User']"}) + }, + 'forum.markedtag': { + 'Meta': {'object_name': 'MarkedTag'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'reason': ('django.db.models.fields.CharField', [], {'max_length': '16'}), + 'tag': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'user_selections'", 'to': "orm['forum.Tag']"}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'tag_selections'", 'to': "orm['auth.User']"}) + }, + 'forum.mention': { + 'Meta': {'object_name': 'Mention', 'db_table': "u'mention'"}, + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'mentioned_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'mentioned_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'mentions_sent'", 'to': "orm['auth.User']"}), + 'mentioned_whom': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'mentions_received'", 'to': "orm['auth.User']"}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}) + }, + 'forum.question': { + 'Meta': {'object_name': 'Question', 'db_table': "u'question'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'answer_accepted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'answer_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'questions'", 'to': "orm['auth.User']"}), + 'close_reason': ('django.db.models.fields.SmallIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'closed': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'closed_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'closed_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'closed_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'comment_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'favorited_by': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'favorite_questions'", 'through': "'FavoriteQuestion'", 'to': "orm['auth.User']"}), + 'favourite_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'followed_by': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'followed_questions'", 'to': "orm['auth.User']"}), + 'html': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_activity_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_activity_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'last_active_in_questions'", 'to': "orm['auth.User']"}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'last_edited_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'last_edited_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'locked': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'locked_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'locked_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'locked_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'offensive_flag_count': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'tags': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'questions'", 'to': "orm['forum.Tag']"}), + 'text': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'view_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'vote_down_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'vote_up_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'wikified_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}) + }, + 'forum.questionrevision': { + 'Meta': {'object_name': 'QuestionRevision', 'db_table': "u'question_revision'"}, + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'questionrevisions'", 'to': "orm['auth.User']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'revisions'", 'to': "orm['forum.Question']"}), + 'revised_at': ('django.db.models.fields.DateTimeField', [], {}), + 'revision': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'text': ('django.db.models.fields.TextField', [], {}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}) + }, + 'forum.questionview': { + 'Meta': {'object_name': 'QuestionView'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'viewed'", 'to': "orm['forum.Question']"}), + 'when': ('django.db.models.fields.DateTimeField', [], {}), + 'who': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'question_views'", 'to': "orm['auth.User']"}) + }, + 'forum.repute': { + 'Meta': {'object_name': 'Repute', 'db_table': "u'repute'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'negative': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'positive': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Question']"}), + 'reputation': ('django.db.models.fields.IntegerField', [], {'default': '1'}), + 'reputation_type': ('django.db.models.fields.SmallIntegerField', [], {}), + 'reputed_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'forum.tag': { + 'Meta': {'object_name': 'Tag', 'db_table': "u'tag'"}, + 'created_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'created_tags'", 'to': "orm['auth.User']"}), + 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_tags'", 'null': 'True', 'to': "orm['auth.User']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'used_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}) + }, + 'forum.validationhash': { + 'Meta': {'unique_together': "(('user', 'type'),)", 'object_name': 'ValidationHash'}, + 'expiration': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2010, 5, 17, 15, 29, 56, 802370)'}), + 'hash_code': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'seed': ('django.db.models.fields.CharField', [], {'max_length': '12'}), + 'type': ('django.db.models.fields.CharField', [], {'max_length': '12'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'forum.vote': { + 'Meta': {'unique_together': "(('content_type', 'object_id', 'user'),)", 'object_name': 'Vote', 'db_table': "u'vote'"}, + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'votes'", 'to': "orm['auth.User']"}), + 'vote': ('django.db.models.fields.SmallIntegerField', [], {}), + 'voted_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}) + } + } + else: + models = { + 'auth.group': { + 'Meta': {'object_name': 'Group'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), + 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'blank': 'True'}) + }, + 'auth.permission': { + 'Meta': {'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, + 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + }, + 'auth.user': { + 'Meta': {'object_name': 'User'}, + 'about': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'bronze': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'date_of_birth': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), + 'email_isvalid': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'email_key': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), + 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'gold': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'gravatar': ('django.db.models.fields.CharField', [], {'max_length': '32'}), + 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'blank': 'True'}), + 'hide_ignored_questions': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}), + 'is_approved': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'last_seen': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'location': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), + 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), + 'questions_per_page': ('django.db.models.fields.SmallIntegerField', [], {'default': '10'}), + 'real_name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), + 'reputation': ('django.db.models.fields.PositiveIntegerField', [], {'default': '1'}), + 'silver': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'tag_filter_setting': ('django.db.models.fields.CharField', [], {'default': "'ignored'", 'max_length': '16'}), + 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'blank': 'True'}), + 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), + 'website': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}) + }, + 'contenttypes.contenttype': { + 'Meta': {'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, + 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + 'askbot.activity': { + 'Meta': {'object_name': 'Activity', 'db_table': "u'activity'"}, + 'active_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'activity_type': ('django.db.models.fields.SmallIntegerField', [], {}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_auditted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'askbot.anonymousanswer': { + 'Meta': {'object_name': 'AnonymousAnswer'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ip_addr': ('django.db.models.fields.IPAddressField', [], {'max_length': '15'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'anonymous_answers'", 'to': "orm['askbot.Question']"}), + 'session_key': ('django.db.models.fields.CharField', [], {'max_length': '40'}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), + 'text': ('django.db.models.fields.TextField', [], {}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}) + }, + 'askbot.anonymousquestion': { + 'Meta': {'object_name': 'AnonymousQuestion'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ip_addr': ('django.db.models.fields.IPAddressField', [], {'max_length': '15'}), + 'session_key': ('django.db.models.fields.CharField', [], {'max_length': '40'}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'text': ('django.db.models.fields.TextField', [], {}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}) + }, + 'askbot.answer': { + 'Meta': {'object_name': 'Answer', 'db_table': "u'answer'"}, + 'accepted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'accepted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answers'", 'to': "orm['auth.User']"}), + 'comment_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_answers'", 'null': 'True', 'to': "orm['auth.User']"}), + 'html': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'last_edited_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'last_edited_answers'", 'null': 'True', 'to': "orm['auth.User']"}), + 'locked': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'locked_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'locked_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'locked_answers'", 'null': 'True', 'to': "orm['auth.User']"}), + 'offensive_flag_count': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answers'", 'to': "orm['askbot.Question']"}), + 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'text': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'vote_down_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'vote_up_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'wikified_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}) + }, + 'askbot.answerrevision': { + 'Meta': {'object_name': 'AnswerRevision', 'db_table': "u'answer_revision'"}, + 'answer': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'revisions'", 'to': "orm['askbot.Answer']"}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answerrevisions'", 'to': "orm['auth.User']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'revised_at': ('django.db.models.fields.DateTimeField', [], {}), + 'revision': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}), + 'text': ('django.db.models.fields.TextField', [], {}) + }, + 'askbot.authkeyuserassociation': { + 'Meta': {'object_name': 'AuthKeyUserAssociation'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'key': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'provider': ('django.db.models.fields.CharField', [], {'max_length': '64'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'auth_keys'", 'to': "orm['auth.User']"}) + }, + 'askbot.award': { + 'Meta': {'object_name': 'Award', 'db_table': "u'award'"}, + 'awarded_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'badge': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'award_badge'", 'to': "orm['askbot.Badge']"}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'notified': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'award_user'", 'to': "orm['auth.User']"}) + }, + 'askbot.badge': { + 'Meta': {'unique_together': "(('name', 'type'),)", 'object_name': 'Badge', 'db_table': "u'badge'"}, + 'awarded_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'awarded_to': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'badges'", 'through': "'Award'", 'to': "orm['auth.User']"}), + 'description': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'multiple': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}), + 'slug': ('django.db.models.fields.SlugField', [], {'db_index': 'True', 'max_length': '50', 'blank': 'True'}), + 'type': ('django.db.models.fields.SmallIntegerField', [], {}) + }, + 'askbot.book': { + 'Meta': {'object_name': 'Book', 'db_table': "u'book'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {}), + 'author': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'cover_img': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {}), + 'pages': ('django.db.models.fields.SmallIntegerField', [], {}), + 'price': ('django.db.models.fields.DecimalField', [], {'max_digits': '6', 'decimal_places': '2'}), + 'publication': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'published_at': ('django.db.models.fields.DateTimeField', [], {}), + 'questions': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'book'", 'db_table': "'book_question'", 'to': "orm['askbot.Question']"}), + 'short_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'askbot.bookauthorinfo': { + 'Meta': {'object_name': 'BookAuthorInfo', 'db_table': "u'book_author_info'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {}), + 'blog_url': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'book': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['askbot.Book']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'askbot.bookauthorrss': { + 'Meta': {'object_name': 'BookAuthorRss', 'db_table': "u'book_author_rss'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {}), + 'book': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['askbot.Book']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'rss_created_at': ('django.db.models.fields.DateTimeField', [], {}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'url': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'askbot.comment': { + 'Meta': {'object_name': 'Comment', 'db_table': "u'comment'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'comment': ('django.db.models.fields.CharField', [], {'max_length': '2048'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'html': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '2048'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'comments'", 'to': "orm['auth.User']"}) + }, + 'askbot.emailfeedsetting': { + 'Meta': {'object_name': 'EmailFeedSetting'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'feed_type': ('django.db.models.fields.CharField', [], {'max_length': '16'}), + 'frequency': ('django.db.models.fields.CharField', [], {'default': "'n'", 'max_length': '8'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'reported_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}), + 'subscriber': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'notification_subscriptions'", 'to': "orm['auth.User']"}) + }, + 'askbot.favoritequestion': { + 'Meta': {'object_name': 'FavoriteQuestion', 'db_table': "u'favorite_question'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['askbot.Question']"}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'user_favorite_questions'", 'to': "orm['auth.User']"}) + }, + 'askbot.flaggeditem': { + 'Meta': {'unique_together': "(('content_type', 'object_id', 'user'),)", 'object_name': 'FlaggedItem', 'db_table': "u'flagged_item'"}, + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'flagged_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'flaggeditems'", 'to': "orm['auth.User']"}) + }, + 'askbot.markedtag': { + 'Meta': {'object_name': 'MarkedTag'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'reason': ('django.db.models.fields.CharField', [], {'max_length': '16'}), + 'tag': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'user_selections'", 'to': "orm['askbot.Tag']"}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'tag_selections'", 'to': "orm['auth.User']"}) + }, + 'askbot.mention': { + 'Meta': {'object_name': 'Mention', 'db_table': "u'mention'"}, + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'mentioned_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'mentioned_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'mentions_sent'", 'to': "orm['auth.User']"}), + 'mentioned_whom': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'mentions_received'", 'to': "orm['auth.User']"}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}) + }, + 'askbot.question': { + 'Meta': {'object_name': 'Question', 'db_table': "u'question'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'answer_accepted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'answer_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'questions'", 'to': "orm['auth.User']"}), + 'close_reason': ('django.db.models.fields.SmallIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'closed': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'closed_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'closed_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'closed_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'comment_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'favorited_by': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'favorite_questions'", 'through': "'FavoriteQuestion'", 'to': "orm['auth.User']"}), + 'favourite_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'followed_by': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'followed_questions'", 'to': "orm['auth.User']"}), + 'html': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_activity_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_activity_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'last_active_in_questions'", 'to': "orm['auth.User']"}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'last_edited_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'last_edited_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'locked': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'locked_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'locked_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'locked_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'offensive_flag_count': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'tags': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'questions'", 'to': "orm['askbot.Tag']"}), + 'text': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'view_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'vote_down_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'vote_up_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'wikified_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}) + }, + 'askbot.questionrevision': { + 'Meta': {'object_name': 'QuestionRevision', 'db_table': "u'question_revision'"}, + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'questionrevisions'", 'to': "orm['auth.User']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'revisions'", 'to': "orm['askbot.Question']"}), + 'revised_at': ('django.db.models.fields.DateTimeField', [], {}), + 'revision': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'text': ('django.db.models.fields.TextField', [], {}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}) + }, + 'askbot.questionview': { + 'Meta': {'object_name': 'QuestionView'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'viewed'", 'to': "orm['askbot.Question']"}), + 'when': ('django.db.models.fields.DateTimeField', [], {}), + 'who': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'question_views'", 'to': "orm['auth.User']"}) + }, + 'askbot.repute': { + 'Meta': {'object_name': 'Repute', 'db_table': "u'repute'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'negative': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'positive': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['askbot.Question']"}), + 'reputation': ('django.db.models.fields.IntegerField', [], {'default': '1'}), + 'reputation_type': ('django.db.models.fields.SmallIntegerField', [], {}), + 'reputed_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'askbot.tag': { + 'Meta': {'object_name': 'Tag', 'db_table': "u'tag'"}, + 'created_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'created_tags'", 'to': "orm['auth.User']"}), + 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_tags'", 'null': 'True', 'to': "orm['auth.User']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'used_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}) + }, + 'askbot.validationhash': { + 'Meta': {'unique_together': "(('user', 'type'),)", 'object_name': 'ValidationHash'}, + 'expiration': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2010, 5, 17, 15, 29, 56, 802370)'}), + 'hash_code': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'seed': ('django.db.models.fields.CharField', [], {'max_length': '12'}), + 'type': ('django.db.models.fields.CharField', [], {'max_length': '12'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'askbot.vote': { + 'Meta': {'unique_together': "(('content_type', 'object_id', 'user'),)", 'object_name': 'Vote', 'db_table': "u'vote'"}, + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'votes'", 'to': "orm['auth.User']"}), + 'vote': ('django.db.models.fields.SmallIntegerField', [], {}), + 'voted_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}) + } + } + + complete_apps = [app_dir_name] diff --git a/askbot/migrations/0009_calculate_html_field_for_comments.py b/askbot/migrations/0009_calculate_html_field_for_comments.py new file mode 100644 index 00000000..a98447da --- /dev/null +++ b/askbot/migrations/0009_calculate_html_field_for_comments.py @@ -0,0 +1,854 @@ +# encoding: utf-8 +import os +import datetime +from south.db import db +from south.v2 import DataMigration +from django.db import models +from django.utils.html import urlize +from django.template.defaultfilters import slugify +from django.core.urlresolvers import reverse +try: + from forum import const +except ImportError: + from askbot import const +import re + +def get_authors(question, orm = None): + authors = set() + for q_rev in orm.QuestionRevision.objects.filter(question=question): + authors.add(q_rev.author) + + q_comments = orm.Comment.objects.filter( + content_type__model='question', + object_id = question.id + ) + for q_c in q_comments: + authors.add(q_c.user) + + answers = orm.Answer.objects.filter( + question = question, + deleted = False + ) + for a in answers: + for a_rev in orm.AnswerRevision.objects.filter(answer = a): + authors.add(a_rev.author) + a_comments = orm.Comment.objects.filter( + content_type__model = 'answer', + object_id = a.id + ) + for a_c in a_comments: + authors.add(a_c.user) + return authors + +def get_absolute_url(user): + url = reverse( + 'user_profile', + kwargs={ + 'id':user.id, + 'slug': slugify(user.username) + } + ) + return u'<a href="%s">@%s</a>' % (url, user.username) + +def get_comment_continuation(matching_author): + if matching_author: + return get_absolute_url(matching_author) + else: + return '@' + +def maybe_save_mention( + context = None, + mentioned_whom = None, + orm = None, + comment_content_type = None + ): + if mentioned_whom and mentioned_whom != context.user: + m = orm['forum.Mention']( + mentioned_by = context.user, + mentioned_whom = mentioned_whom, + mentioned_at = context.added_at, + object_id = context.id, + content_type = comment_content_type, + ) + m.save() + +def extract_matching_author(text, ordered_authors): + for a in ordered_authors: + if text.startswith(a.username): + ulen = len(a.username) + if len(text) == ulen: + text = '' + elif text[ulen] in const.TWITTER_STYLE_MENTION_TERMINATION_CHARS: + text = text[ulen:] + else: + #near miss, here we could insert a warning that perhaps + #a termination character is needed + continue + return a, text + return None, text + + +def mentionize(text, comment = None, all_users = None, orm = None): + if comment.content_type.model == 'answer': + answer = orm.Answer.objects.get(id = comment.object_id) + question = answer.question + else: + question = orm.Question.objects.get(id = comment.object_id) + + #build ordered list of author names + authors = get_authors(question, orm = orm) + the_rest = all_users - authors + ordered_authors = list(authors) + list(the_rest) + + comment_content_type = orm.ContentType.objects.get(model='comment') + + output = '' + while '@' in text: + #the purpose of this loop is to convert any occurance of '@mention ' syntax + #to user account links leading space is required unless @ is the first + #character in whole text, also, either a punctuation or a ' ' char is required + #after the name + pos = text.index('@') + + output += text[:pos] + + if len(text) == pos + 1: + output += '@' + text = '' + break + + if pos > 0: + if text[pos-1] in const.TWITTER_STYLE_MENTION_TERMINATION_CHARS: + + text = text[pos+1:] + matching_author, text = extract_matching_author(text, ordered_authors) + output += get_comment_continuation(matching_author) + maybe_save_mention( + context = comment, + mentioned_whom = matching_author, + orm = orm, + comment_content_type = comment_content_type + ) + else: + text = text[pos+1:] + output += '@' + else: + text = text[1:] + matching_author, text = extract_matching_author(text, ordered_authors) + output += get_comment_continuation(matching_author) + maybe_save_mention( + context = comment, + mentioned_whom = matching_author, + orm = orm, + comment_content_type = comment_content_type + ) + + #append the rest of text that did not have @ symbols + output += text + return output + +class Migration(DataMigration): + + def forwards(self, orm): + "Write your forwards methods here." + all_users = set(orm['auth.User'].objects.all()) + for comment in orm.Comment.objects.all(): + comment.html = mentionize( + urlize(comment.comment, nofollow=True), + comment = comment, + all_users = all_users, + orm = orm + ) + #print 'was %s' % comment.comment + #print 'now %s' % comment.html + comment.save() + + def backwards(self, orm): + "Write your backwards methods here." + for comment in orm.Comment.objects.all(): + comment.html = comment.comment + comment.save() + + forum_app_name = os.path.basename(os.path.dirname(os.path.dirname(__file__))) + if forum_app_name == 'forum': + models = { + 'auth.group': { + 'Meta': {'object_name': 'Group'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), + 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'blank': 'True'}) + }, + 'auth.permission': { + 'Meta': {'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, + 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + }, + 'auth.user': { + 'Meta': {'object_name': 'User'}, + 'about': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'bronze': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'date_of_birth': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), + 'email_isvalid': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'email_key': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), + 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'gold': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'gravatar': ('django.db.models.fields.CharField', [], {'max_length': '32'}), + 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'blank': 'True'}), + 'hide_ignored_questions': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}), + 'is_approved': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'last_seen': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'location': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), + 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), + 'questions_per_page': ('django.db.models.fields.SmallIntegerField', [], {'default': '10'}), + 'real_name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), + 'reputation': ('django.db.models.fields.PositiveIntegerField', [], {'default': '1'}), + 'silver': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'tag_filter_setting': ('django.db.models.fields.CharField', [], {'default': "'ignored'", 'max_length': '16'}), + 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'blank': 'True'}), + 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), + 'website': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}) + }, + 'contenttypes.contenttype': { + 'Meta': {'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, + 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + 'forum.activity': { + 'Meta': {'object_name': 'Activity', 'db_table': "u'activity'"}, + 'active_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'activity_type': ('django.db.models.fields.SmallIntegerField', [], {}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_auditted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'forum.anonymousanswer': { + 'Meta': {'object_name': 'AnonymousAnswer'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ip_addr': ('django.db.models.fields.IPAddressField', [], {'max_length': '15'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'anonymous_answers'", 'to': "orm['forum.Question']"}), + 'session_key': ('django.db.models.fields.CharField', [], {'max_length': '40'}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), + 'text': ('django.db.models.fields.TextField', [], {}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}) + }, + 'forum.anonymousquestion': { + 'Meta': {'object_name': 'AnonymousQuestion'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ip_addr': ('django.db.models.fields.IPAddressField', [], {'max_length': '15'}), + 'session_key': ('django.db.models.fields.CharField', [], {'max_length': '40'}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'text': ('django.db.models.fields.TextField', [], {}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}) + }, + 'forum.answer': { + 'Meta': {'object_name': 'Answer', 'db_table': "u'answer'"}, + 'accepted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'accepted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answers'", 'to': "orm['auth.User']"}), + 'comment_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_answers'", 'null': 'True', 'to': "orm['auth.User']"}), + 'html': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'last_edited_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'last_edited_answers'", 'null': 'True', 'to': "orm['auth.User']"}), + 'locked': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'locked_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'locked_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'locked_answers'", 'null': 'True', 'to': "orm['auth.User']"}), + 'offensive_flag_count': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answers'", 'to': "orm['forum.Question']"}), + 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'text': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'vote_down_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'vote_up_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'wikified_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}) + }, + 'forum.answerrevision': { + 'Meta': {'object_name': 'AnswerRevision', 'db_table': "u'answer_revision'"}, + 'answer': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'revisions'", 'to': "orm['forum.Answer']"}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answerrevisions'", 'to': "orm['auth.User']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'revised_at': ('django.db.models.fields.DateTimeField', [], {}), + 'revision': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}), + 'text': ('django.db.models.fields.TextField', [], {}) + }, + 'forum.authkeyuserassociation': { + 'Meta': {'object_name': 'AuthKeyUserAssociation'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'key': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'provider': ('django.db.models.fields.CharField', [], {'max_length': '64'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'auth_keys'", 'to': "orm['auth.User']"}) + }, + 'forum.award': { + 'Meta': {'object_name': 'Award', 'db_table': "u'award'"}, + 'awarded_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'badge': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'award_badge'", 'to': "orm['forum.Badge']"}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'notified': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'award_user'", 'to': "orm['auth.User']"}) + }, + 'forum.badge': { + 'Meta': {'unique_together': "(('name', 'type'),)", 'object_name': 'Badge', 'db_table': "u'badge'"}, + 'awarded_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'awarded_to': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'badges'", 'through': "'Award'", 'to': "orm['auth.User']"}), + 'description': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'multiple': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}), + 'slug': ('django.db.models.fields.SlugField', [], {'db_index': 'True', 'max_length': '50', 'blank': 'True'}), + 'type': ('django.db.models.fields.SmallIntegerField', [], {}) + }, + 'forum.book': { + 'Meta': {'object_name': 'Book', 'db_table': "u'book'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {}), + 'author': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'cover_img': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {}), + 'pages': ('django.db.models.fields.SmallIntegerField', [], {}), + 'price': ('django.db.models.fields.DecimalField', [], {'max_digits': '6', 'decimal_places': '2'}), + 'publication': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'published_at': ('django.db.models.fields.DateTimeField', [], {}), + 'questions': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'book'", 'db_table': "'book_question'", 'to': "orm['forum.Question']"}), + 'short_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'forum.bookauthorinfo': { + 'Meta': {'object_name': 'BookAuthorInfo', 'db_table': "u'book_author_info'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {}), + 'blog_url': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'book': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Book']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'forum.bookauthorrss': { + 'Meta': {'object_name': 'BookAuthorRss', 'db_table': "u'book_author_rss'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {}), + 'book': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Book']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'rss_created_at': ('django.db.models.fields.DateTimeField', [], {}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'url': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'forum.comment': { + 'Meta': {'object_name': 'Comment', 'db_table': "u'comment'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'comment': ('django.db.models.fields.CharField', [], {'max_length': '2048'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'html': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '2048'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'comments'", 'to': "orm['auth.User']"}) + }, + 'forum.emailfeedsetting': { + 'Meta': {'object_name': 'EmailFeedSetting'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'feed_type': ('django.db.models.fields.CharField', [], {'max_length': '16'}), + 'frequency': ('django.db.models.fields.CharField', [], {'default': "'n'", 'max_length': '8'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'reported_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}), + 'subscriber': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'notification_subscriptions'", 'to': "orm['auth.User']"}) + }, + 'forum.favoritequestion': { + 'Meta': {'object_name': 'FavoriteQuestion', 'db_table': "u'favorite_question'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Question']"}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'user_favorite_questions'", 'to': "orm['auth.User']"}) + }, + 'forum.flaggeditem': { + 'Meta': {'unique_together': "(('content_type', 'object_id', 'user'),)", 'object_name': 'FlaggedItem', 'db_table': "u'flagged_item'"}, + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'flagged_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'flaggeditems'", 'to': "orm['auth.User']"}) + }, + 'forum.markedtag': { + 'Meta': {'object_name': 'MarkedTag'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'reason': ('django.db.models.fields.CharField', [], {'max_length': '16'}), + 'tag': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'user_selections'", 'to': "orm['forum.Tag']"}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'tag_selections'", 'to': "orm['auth.User']"}) + }, + 'forum.mention': { + 'Meta': {'object_name': 'Mention', 'db_table': "u'mention'"}, + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'mentioned_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'mentioned_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'mentions_sent'", 'to': "orm['auth.User']"}), + 'mentioned_whom': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'mentions_received'", 'to': "orm['auth.User']"}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}) + }, + 'forum.question': { + 'Meta': {'object_name': 'Question', 'db_table': "u'question'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'answer_accepted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'answer_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'questions'", 'to': "orm['auth.User']"}), + 'close_reason': ('django.db.models.fields.SmallIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'closed': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'closed_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'closed_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'closed_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'comment_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'favorited_by': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'favorite_questions'", 'through': "'FavoriteQuestion'", 'to': "orm['auth.User']"}), + 'favourite_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'followed_by': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'followed_questions'", 'to': "orm['auth.User']"}), + 'html': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_activity_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_activity_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'last_active_in_questions'", 'to': "orm['auth.User']"}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'last_edited_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'last_edited_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'locked': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'locked_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'locked_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'locked_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'offensive_flag_count': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'tags': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'questions'", 'to': "orm['forum.Tag']"}), + 'text': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'view_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'vote_down_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'vote_up_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'wikified_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}) + }, + 'forum.questionrevision': { + 'Meta': {'object_name': 'QuestionRevision', 'db_table': "u'question_revision'"}, + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'questionrevisions'", 'to': "orm['auth.User']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'revisions'", 'to': "orm['forum.Question']"}), + 'revised_at': ('django.db.models.fields.DateTimeField', [], {}), + 'revision': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'text': ('django.db.models.fields.TextField', [], {}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}) + }, + 'forum.questionview': { + 'Meta': {'object_name': 'QuestionView'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'viewed'", 'to': "orm['forum.Question']"}), + 'when': ('django.db.models.fields.DateTimeField', [], {}), + 'who': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'question_views'", 'to': "orm['auth.User']"}) + }, + 'forum.repute': { + 'Meta': {'object_name': 'Repute', 'db_table': "u'repute'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'negative': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'positive': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Question']"}), + 'reputation': ('django.db.models.fields.IntegerField', [], {'default': '1'}), + 'reputation_type': ('django.db.models.fields.SmallIntegerField', [], {}), + 'reputed_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'forum.tag': { + 'Meta': {'object_name': 'Tag', 'db_table': "u'tag'"}, + 'created_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'created_tags'", 'to': "orm['auth.User']"}), + 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_tags'", 'null': 'True', 'to': "orm['auth.User']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'used_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}) + }, + 'forum.validationhash': { + 'Meta': {'unique_together': "(('user', 'type'),)", 'object_name': 'ValidationHash'}, + 'expiration': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2010, 5, 17, 15, 33, 45, 429877)'}), + 'hash_code': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'seed': ('django.db.models.fields.CharField', [], {'max_length': '12'}), + 'type': ('django.db.models.fields.CharField', [], {'max_length': '12'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'forum.vote': { + 'Meta': {'unique_together': "(('content_type', 'object_id', 'user'),)", 'object_name': 'Vote', 'db_table': "u'vote'"}, + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'votes'", 'to': "orm['auth.User']"}), + 'vote': ('django.db.models.fields.SmallIntegerField', [], {}), + 'voted_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}) + } + } + + complete_apps = ['forum'] + else: + models = { + 'auth.group': { + 'Meta': {'object_name': 'Group'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), + 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'blank': 'True'}) + }, + 'auth.permission': { + 'Meta': {'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, + 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + }, + 'auth.user': { + 'Meta': {'object_name': 'User'}, + 'about': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'bronze': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'date_of_birth': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), + 'email_isvalid': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'email_key': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), + 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'gold': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'gravatar': ('django.db.models.fields.CharField', [], {'max_length': '32'}), + 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'blank': 'True'}), + 'hide_ignored_questions': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}), + 'is_approved': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'last_seen': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'location': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), + 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), + 'questions_per_page': ('django.db.models.fields.SmallIntegerField', [], {'default': '10'}), + 'real_name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), + 'reputation': ('django.db.models.fields.PositiveIntegerField', [], {'default': '1'}), + 'silver': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'tag_filter_setting': ('django.db.models.fields.CharField', [], {'default': "'ignored'", 'max_length': '16'}), + 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'blank': 'True'}), + 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), + 'website': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}) + }, + 'contenttypes.contenttype': { + 'Meta': {'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, + 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + 'askbot.activity': { + 'Meta': {'object_name': 'Activity', 'db_table': "u'activity'"}, + 'active_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'activity_type': ('django.db.models.fields.SmallIntegerField', [], {}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_auditted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'askbot.anonymousanswer': { + 'Meta': {'object_name': 'AnonymousAnswer'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ip_addr': ('django.db.models.fields.IPAddressField', [], {'max_length': '15'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'anonymous_answers'", 'to': "orm['askbot.Question']"}), + 'session_key': ('django.db.models.fields.CharField', [], {'max_length': '40'}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), + 'text': ('django.db.models.fields.TextField', [], {}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}) + }, + 'askbot.anonymousquestion': { + 'Meta': {'object_name': 'AnonymousQuestion'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ip_addr': ('django.db.models.fields.IPAddressField', [], {'max_length': '15'}), + 'session_key': ('django.db.models.fields.CharField', [], {'max_length': '40'}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'text': ('django.db.models.fields.TextField', [], {}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}) + }, + 'askbot.answer': { + 'Meta': {'object_name': 'Answer', 'db_table': "u'answer'"}, + 'accepted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'accepted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answers'", 'to': "orm['auth.User']"}), + 'comment_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_answers'", 'null': 'True', 'to': "orm['auth.User']"}), + 'html': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'last_edited_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'last_edited_answers'", 'null': 'True', 'to': "orm['auth.User']"}), + 'locked': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'locked_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'locked_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'locked_answers'", 'null': 'True', 'to': "orm['auth.User']"}), + 'offensive_flag_count': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answers'", 'to': "orm['askbot.Question']"}), + 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'text': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'vote_down_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'vote_up_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'wikified_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}) + }, + 'askbot.answerrevision': { + 'Meta': {'object_name': 'AnswerRevision', 'db_table': "u'answer_revision'"}, + 'answer': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'revisions'", 'to': "orm['askbot.Answer']"}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answerrevisions'", 'to': "orm['auth.User']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'revised_at': ('django.db.models.fields.DateTimeField', [], {}), + 'revision': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}), + 'text': ('django.db.models.fields.TextField', [], {}) + }, + 'askbot.authkeyuserassociation': { + 'Meta': {'object_name': 'AuthKeyUserAssociation'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'key': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'provider': ('django.db.models.fields.CharField', [], {'max_length': '64'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'auth_keys'", 'to': "orm['auth.User']"}) + }, + 'askbot.award': { + 'Meta': {'object_name': 'Award', 'db_table': "u'award'"}, + 'awarded_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'badge': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'award_badge'", 'to': "orm['askbot.Badge']"}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'notified': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'award_user'", 'to': "orm['auth.User']"}) + }, + 'askbot.badge': { + 'Meta': {'unique_together': "(('name', 'type'),)", 'object_name': 'Badge', 'db_table': "u'badge'"}, + 'awarded_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'awarded_to': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'badges'", 'through': "'Award'", 'to': "orm['auth.User']"}), + 'description': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'multiple': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}), + 'slug': ('django.db.models.fields.SlugField', [], {'db_index': 'True', 'max_length': '50', 'blank': 'True'}), + 'type': ('django.db.models.fields.SmallIntegerField', [], {}) + }, + 'askbot.book': { + 'Meta': {'object_name': 'Book', 'db_table': "u'book'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {}), + 'author': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'cover_img': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {}), + 'pages': ('django.db.models.fields.SmallIntegerField', [], {}), + 'price': ('django.db.models.fields.DecimalField', [], {'max_digits': '6', 'decimal_places': '2'}), + 'publication': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'published_at': ('django.db.models.fields.DateTimeField', [], {}), + 'questions': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'book'", 'db_table': "'book_question'", 'to': "orm['askbot.Question']"}), + 'short_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'askbot.bookauthorinfo': { + 'Meta': {'object_name': 'BookAuthorInfo', 'db_table': "u'book_author_info'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {}), + 'blog_url': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'book': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['askbot.Book']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'askbot.bookauthorrss': { + 'Meta': {'object_name': 'BookAuthorRss', 'db_table': "u'book_author_rss'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {}), + 'book': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['askbot.Book']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'rss_created_at': ('django.db.models.fields.DateTimeField', [], {}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'url': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'askbot.comment': { + 'Meta': {'object_name': 'Comment', 'db_table': "u'comment'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'comment': ('django.db.models.fields.CharField', [], {'max_length': '2048'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'html': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '2048'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'comments'", 'to': "orm['auth.User']"}) + }, + 'askbot.emailfeedsetting': { + 'Meta': {'object_name': 'EmailFeedSetting'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'feed_type': ('django.db.models.fields.CharField', [], {'max_length': '16'}), + 'frequency': ('django.db.models.fields.CharField', [], {'default': "'n'", 'max_length': '8'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'reported_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}), + 'subscriber': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'notification_subscriptions'", 'to': "orm['auth.User']"}) + }, + 'askbot.favoritequestion': { + 'Meta': {'object_name': 'FavoriteQuestion', 'db_table': "u'favorite_question'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['askbot.Question']"}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'user_favorite_questions'", 'to': "orm['auth.User']"}) + }, + 'askbot.flaggeditem': { + 'Meta': {'unique_together': "(('content_type', 'object_id', 'user'),)", 'object_name': 'FlaggedItem', 'db_table': "u'flagged_item'"}, + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'flagged_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'flaggeditems'", 'to': "orm['auth.User']"}) + }, + 'askbot.markedtag': { + 'Meta': {'object_name': 'MarkedTag'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'reason': ('django.db.models.fields.CharField', [], {'max_length': '16'}), + 'tag': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'user_selections'", 'to': "orm['askbot.Tag']"}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'tag_selections'", 'to': "orm['auth.User']"}) + }, + 'askbot.mention': { + 'Meta': {'object_name': 'Mention', 'db_table': "u'mention'"}, + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'mentioned_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'mentioned_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'mentions_sent'", 'to': "orm['auth.User']"}), + 'mentioned_whom': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'mentions_received'", 'to': "orm['auth.User']"}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}) + }, + 'askbot.question': { + 'Meta': {'object_name': 'Question', 'db_table': "u'question'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'answer_accepted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'answer_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'questions'", 'to': "orm['auth.User']"}), + 'close_reason': ('django.db.models.fields.SmallIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'closed': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'closed_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'closed_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'closed_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'comment_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'favorited_by': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'favorite_questions'", 'through': "'FavoriteQuestion'", 'to': "orm['auth.User']"}), + 'favourite_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'followed_by': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'followed_questions'", 'to': "orm['auth.User']"}), + 'html': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_activity_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_activity_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'last_active_in_questions'", 'to': "orm['auth.User']"}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'last_edited_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'last_edited_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'locked': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'locked_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'locked_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'locked_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'offensive_flag_count': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'tags': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'questions'", 'to': "orm['askbot.Tag']"}), + 'text': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'view_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'vote_down_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'vote_up_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'wikified_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}) + }, + 'askbot.questionrevision': { + 'Meta': {'object_name': 'QuestionRevision', 'db_table': "u'question_revision'"}, + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'questionrevisions'", 'to': "orm['auth.User']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'revisions'", 'to': "orm['askbot.Question']"}), + 'revised_at': ('django.db.models.fields.DateTimeField', [], {}), + 'revision': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'text': ('django.db.models.fields.TextField', [], {}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}) + }, + 'askbot.questionview': { + 'Meta': {'object_name': 'QuestionView'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'viewed'", 'to': "orm['askbot.Question']"}), + 'when': ('django.db.models.fields.DateTimeField', [], {}), + 'who': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'question_views'", 'to': "orm['auth.User']"}) + }, + 'askbot.repute': { + 'Meta': {'object_name': 'Repute', 'db_table': "u'repute'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'negative': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'positive': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['askbot.Question']"}), + 'reputation': ('django.db.models.fields.IntegerField', [], {'default': '1'}), + 'reputation_type': ('django.db.models.fields.SmallIntegerField', [], {}), + 'reputed_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'askbot.tag': { + 'Meta': {'object_name': 'Tag', 'db_table': "u'tag'"}, + 'created_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'created_tags'", 'to': "orm['auth.User']"}), + 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_tags'", 'null': 'True', 'to': "orm['auth.User']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'used_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}) + }, + 'askbot.validationhash': { + 'Meta': {'unique_together': "(('user', 'type'),)", 'object_name': 'ValidationHash'}, + 'expiration': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2010, 5, 17, 15, 33, 45, 429877)'}), + 'hash_code': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'seed': ('django.db.models.fields.CharField', [], {'max_length': '12'}), + 'type': ('django.db.models.fields.CharField', [], {'max_length': '12'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'askbot.vote': { + 'Meta': {'unique_together': "(('content_type', 'object_id', 'user'),)", 'object_name': 'Vote', 'db_table': "u'vote'"}, + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'votes'", 'to': "orm['auth.User']"}), + 'vote': ('django.db.models.fields.SmallIntegerField', [], {}), + 'voted_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}) + } + } + + complete_apps = ['askbot'] diff --git a/forum/migrations/0010_add_receiving_user_to_activity_model.py b/askbot/migrations/0010_add_receiving_user_to_activity_model.py index 5fb6ebe0..5fb6ebe0 100644 --- a/forum/migrations/0010_add_receiving_user_to_activity_model.py +++ b/askbot/migrations/0010_add_receiving_user_to_activity_model.py diff --git a/askbot/migrations/0011_merge_mentions_into_activity.py b/askbot/migrations/0011_merge_mentions_into_activity.py new file mode 100644 index 00000000..de19a5d2 --- /dev/null +++ b/askbot/migrations/0011_merge_mentions_into_activity.py @@ -0,0 +1,724 @@ +# encoding: utf-8 +import os +import datetime +from south.db import db +from south.v2 import DataMigration +from django.db import models +try: + from forum import const +except: + from askbot import const + +class Migration(DataMigration): + + def forwards(self, orm): + "Write your forwards methods here." + for m in orm.Mention.objects.all(): + a = orm.Activity() + a.activity_type = const.TYPE_ACTIVITY_MENTION + a.user = m.mentioned_by + a.active_at = m.mentioned_at + a.object_id = m.object_id + a.content_type = m.content_type + a.save() + a.receiving_users.add(m.mentioned_whom) + m.delete() + + def backwards(self, orm): + "Write your backwards methods here." + m_type = const.TYPE_ACTIVITY_MENTION + for a in orm.Activity.objects.filter(activity_type = m_type): + m = orm.Mention() + m.mentioned_by = a.user + m.mentioned_whom = a.receiving_users.all()[0] + m.mentioned_at = a.active_at + m.content_type = a.content_type + m.object_id = a.object_id + a.delete() + m.save() + + forum_app_name = os.path.basename(os.path.dirname(os.path.dirname(__file__))) + if forum_app_name == 'forum': + models = { + 'auth.group': { + 'Meta': {'object_name': 'Group'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), + 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'blank': 'True'}) + }, + 'auth.permission': { + 'Meta': {'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, + 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + }, + 'auth.user': { + 'Meta': {'object_name': 'User'}, + 'about': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'bronze': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'date_of_birth': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), + 'email_isvalid': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'email_key': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), + 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'gold': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'gravatar': ('django.db.models.fields.CharField', [], {'max_length': '32'}), + 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'blank': 'True'}), + 'hide_ignored_questions': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}), + 'is_approved': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'last_seen': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'location': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), + 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), + 'questions_per_page': ('django.db.models.fields.SmallIntegerField', [], {'default': '10'}), + 'real_name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), + 'reputation': ('django.db.models.fields.PositiveIntegerField', [], {'default': '1'}), + 'silver': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'tag_filter_setting': ('django.db.models.fields.CharField', [], {'default': "'ignored'", 'max_length': '16'}), + 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'blank': 'True'}), + 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), + 'website': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}) + }, + 'contenttypes.contenttype': { + 'Meta': {'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, + 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + 'forum.activity': { + 'Meta': {'object_name': 'Activity', 'db_table': "u'activity'"}, + 'active_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'activity_type': ('django.db.models.fields.SmallIntegerField', [], {}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_auditted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'receiving_users': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'received_activity'", 'to': "orm['auth.User']"}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'forum.anonymousanswer': { + 'Meta': {'object_name': 'AnonymousAnswer'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ip_addr': ('django.db.models.fields.IPAddressField', [], {'max_length': '15'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'anonymous_answers'", 'to': "orm['forum.Question']"}), + 'session_key': ('django.db.models.fields.CharField', [], {'max_length': '40'}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), + 'text': ('django.db.models.fields.TextField', [], {}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}) + }, + 'forum.anonymousquestion': { + 'Meta': {'object_name': 'AnonymousQuestion'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ip_addr': ('django.db.models.fields.IPAddressField', [], {'max_length': '15'}), + 'session_key': ('django.db.models.fields.CharField', [], {'max_length': '40'}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'text': ('django.db.models.fields.TextField', [], {}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}) + }, + 'forum.answer': { + 'Meta': {'object_name': 'Answer', 'db_table': "u'answer'"}, + 'accepted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'accepted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answers'", 'to': "orm['auth.User']"}), + 'comment_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_answers'", 'null': 'True', 'to': "orm['auth.User']"}), + 'html': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'last_edited_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'last_edited_answers'", 'null': 'True', 'to': "orm['auth.User']"}), + 'locked': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'locked_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'locked_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'locked_answers'", 'null': 'True', 'to': "orm['auth.User']"}), + 'offensive_flag_count': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answers'", 'to': "orm['forum.Question']"}), + 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'text': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'vote_down_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'vote_up_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'wikified_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}) + }, + 'forum.answerrevision': { + 'Meta': {'object_name': 'AnswerRevision', 'db_table': "u'answer_revision'"}, + 'answer': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'revisions'", 'to': "orm['forum.Answer']"}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answerrevisions'", 'to': "orm['auth.User']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'revised_at': ('django.db.models.fields.DateTimeField', [], {}), + 'revision': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}), + 'text': ('django.db.models.fields.TextField', [], {}) + }, + 'forum.authkeyuserassociation': { + 'Meta': {'object_name': 'AuthKeyUserAssociation'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'key': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'provider': ('django.db.models.fields.CharField', [], {'max_length': '64'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'auth_keys'", 'to': "orm['auth.User']"}) + }, + 'forum.award': { + 'Meta': {'object_name': 'Award', 'db_table': "u'award'"}, + 'awarded_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'badge': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'award_badge'", 'to': "orm['forum.Badge']"}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'notified': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'award_user'", 'to': "orm['auth.User']"}) + }, + 'forum.badge': { + 'Meta': {'unique_together': "(('name', 'type'),)", 'object_name': 'Badge', 'db_table': "u'badge'"}, + 'awarded_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'awarded_to': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'badges'", 'through': "'Award'", 'to': "orm['auth.User']"}), + 'description': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'multiple': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}), + 'slug': ('django.db.models.fields.SlugField', [], {'db_index': 'True', 'max_length': '50', 'blank': 'True'}), + 'type': ('django.db.models.fields.SmallIntegerField', [], {}) + }, + 'forum.book': { + 'Meta': {'object_name': 'Book', 'db_table': "u'book'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {}), + 'author': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'cover_img': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {}), + 'pages': ('django.db.models.fields.SmallIntegerField', [], {}), + 'price': ('django.db.models.fields.DecimalField', [], {'max_digits': '6', 'decimal_places': '2'}), + 'publication': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'published_at': ('django.db.models.fields.DateTimeField', [], {}), + 'questions': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'book'", 'db_table': "'book_question'", 'to': "orm['forum.Question']"}), + 'short_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'forum.bookauthorinfo': { + 'Meta': {'object_name': 'BookAuthorInfo', 'db_table': "u'book_author_info'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {}), + 'blog_url': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'book': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Book']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'forum.bookauthorrss': { + 'Meta': {'object_name': 'BookAuthorRss', 'db_table': "u'book_author_rss'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {}), + 'book': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Book']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'rss_created_at': ('django.db.models.fields.DateTimeField', [], {}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'url': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'forum.comment': { + 'Meta': {'object_name': 'Comment', 'db_table': "u'comment'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'comment': ('django.db.models.fields.CharField', [], {'max_length': '2048'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'html': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '2048'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'comments'", 'to': "orm['auth.User']"}) + }, + 'forum.emailfeedsetting': { + 'Meta': {'object_name': 'EmailFeedSetting'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'feed_type': ('django.db.models.fields.CharField', [], {'max_length': '16'}), + 'frequency': ('django.db.models.fields.CharField', [], {'default': "'n'", 'max_length': '8'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'reported_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}), + 'subscriber': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'notification_subscriptions'", 'to': "orm['auth.User']"}) + }, + 'forum.favoritequestion': { + 'Meta': {'object_name': 'FavoriteQuestion', 'db_table': "u'favorite_question'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Question']"}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'user_favorite_questions'", 'to': "orm['auth.User']"}) + }, + 'forum.flaggeditem': { + 'Meta': {'unique_together': "(('content_type', 'object_id', 'user'),)", 'object_name': 'FlaggedItem', 'db_table': "u'flagged_item'"}, + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'flagged_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'flaggeditems'", 'to': "orm['auth.User']"}) + }, + 'forum.markedtag': { + 'Meta': {'object_name': 'MarkedTag'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'reason': ('django.db.models.fields.CharField', [], {'max_length': '16'}), + 'tag': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'user_selections'", 'to': "orm['forum.Tag']"}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'tag_selections'", 'to': "orm['auth.User']"}) + }, + 'forum.mention': { + 'Meta': {'object_name': 'Mention', 'db_table': "u'mention'"}, + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'mentioned_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'mentioned_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'mentions_sent'", 'to': "orm['auth.User']"}), + 'mentioned_whom': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'mentions_received'", 'to': "orm['auth.User']"}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}) + }, + 'forum.question': { + 'Meta': {'object_name': 'Question', 'db_table': "u'question'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'answer_accepted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'answer_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'questions'", 'to': "orm['auth.User']"}), + 'close_reason': ('django.db.models.fields.SmallIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'closed': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'closed_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'closed_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'closed_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'comment_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'favorited_by': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'favorite_questions'", 'through': "'FavoriteQuestion'", 'to': "orm['auth.User']"}), + 'favourite_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'followed_by': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'followed_questions'", 'to': "orm['auth.User']"}), + 'html': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_activity_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_activity_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'last_active_in_questions'", 'to': "orm['auth.User']"}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'last_edited_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'last_edited_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'locked': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'locked_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'locked_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'locked_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'offensive_flag_count': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'tags': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'questions'", 'to': "orm['forum.Tag']"}), + 'text': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'view_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'vote_down_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'vote_up_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'wikified_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}) + }, + 'forum.questionrevision': { + 'Meta': {'object_name': 'QuestionRevision', 'db_table': "u'question_revision'"}, + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'questionrevisions'", 'to': "orm['auth.User']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'revisions'", 'to': "orm['forum.Question']"}), + 'revised_at': ('django.db.models.fields.DateTimeField', [], {}), + 'revision': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'text': ('django.db.models.fields.TextField', [], {}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}) + }, + 'forum.questionview': { + 'Meta': {'object_name': 'QuestionView'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'viewed'", 'to': "orm['forum.Question']"}), + 'when': ('django.db.models.fields.DateTimeField', [], {}), + 'who': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'question_views'", 'to': "orm['auth.User']"}) + }, + 'forum.repute': { + 'Meta': {'object_name': 'Repute', 'db_table': "u'repute'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'negative': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'positive': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Question']"}), + 'reputation': ('django.db.models.fields.IntegerField', [], {'default': '1'}), + 'reputation_type': ('django.db.models.fields.SmallIntegerField', [], {}), + 'reputed_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'forum.tag': { + 'Meta': {'object_name': 'Tag', 'db_table': "u'tag'"}, + 'created_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'created_tags'", 'to': "orm['auth.User']"}), + 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_tags'", 'null': 'True', 'to': "orm['auth.User']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'used_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}) + }, + 'forum.validationhash': { + 'Meta': {'unique_together': "(('user', 'type'),)", 'object_name': 'ValidationHash'}, + 'expiration': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2010, 5, 22, 21, 40, 30, 531379)'}), + 'hash_code': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'seed': ('django.db.models.fields.CharField', [], {'max_length': '12'}), + 'type': ('django.db.models.fields.CharField', [], {'max_length': '12'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'forum.vote': { + 'Meta': {'unique_together': "(('content_type', 'object_id', 'user'),)", 'object_name': 'Vote', 'db_table': "u'vote'"}, + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'votes'", 'to': "orm['auth.User']"}), + 'vote': ('django.db.models.fields.SmallIntegerField', [], {}), + 'voted_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}) + } + } + + complete_apps = ['forum'] + else: + models = { + 'auth.group': { + 'Meta': {'object_name': 'Group'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), + 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'blank': 'True'}) + }, + 'auth.permission': { + 'Meta': {'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, + 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + }, + 'auth.user': { + 'Meta': {'object_name': 'User'}, + 'about': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'bronze': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'date_of_birth': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), + 'email_isvalid': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'email_key': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), + 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'gold': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'gravatar': ('django.db.models.fields.CharField', [], {'max_length': '32'}), + 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'blank': 'True'}), + 'hide_ignored_questions': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}), + 'is_approved': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'last_seen': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'location': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), + 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), + 'questions_per_page': ('django.db.models.fields.SmallIntegerField', [], {'default': '10'}), + 'real_name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), + 'reputation': ('django.db.models.fields.PositiveIntegerField', [], {'default': '1'}), + 'silver': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'tag_filter_setting': ('django.db.models.fields.CharField', [], {'default': "'ignored'", 'max_length': '16'}), + 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'blank': 'True'}), + 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), + 'website': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}) + }, + 'contenttypes.contenttype': { + 'Meta': {'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, + 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + 'askbot.activity': { + 'Meta': {'object_name': 'Activity', 'db_table': "u'activity'"}, + 'active_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'activity_type': ('django.db.models.fields.SmallIntegerField', [], {}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_auditted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'receiving_users': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'received_activity'", 'to': "orm['auth.User']"}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'askbot.anonymousanswer': { + 'Meta': {'object_name': 'AnonymousAnswer'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ip_addr': ('django.db.models.fields.IPAddressField', [], {'max_length': '15'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'anonymous_answers'", 'to': "orm['askbot.Question']"}), + 'session_key': ('django.db.models.fields.CharField', [], {'max_length': '40'}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), + 'text': ('django.db.models.fields.TextField', [], {}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}) + }, + 'askbot.anonymousquestion': { + 'Meta': {'object_name': 'AnonymousQuestion'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ip_addr': ('django.db.models.fields.IPAddressField', [], {'max_length': '15'}), + 'session_key': ('django.db.models.fields.CharField', [], {'max_length': '40'}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'text': ('django.db.models.fields.TextField', [], {}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}) + }, + 'askbot.answer': { + 'Meta': {'object_name': 'Answer', 'db_table': "u'answer'"}, + 'accepted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'accepted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answers'", 'to': "orm['auth.User']"}), + 'comment_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_answers'", 'null': 'True', 'to': "orm['auth.User']"}), + 'html': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'last_edited_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'last_edited_answers'", 'null': 'True', 'to': "orm['auth.User']"}), + 'locked': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'locked_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'locked_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'locked_answers'", 'null': 'True', 'to': "orm['auth.User']"}), + 'offensive_flag_count': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answers'", 'to': "orm['askbot.Question']"}), + 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'text': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'vote_down_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'vote_up_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'wikified_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}) + }, + 'askbot.answerrevision': { + 'Meta': {'object_name': 'AnswerRevision', 'db_table': "u'answer_revision'"}, + 'answer': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'revisions'", 'to': "orm['askbot.Answer']"}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answerrevisions'", 'to': "orm['auth.User']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'revised_at': ('django.db.models.fields.DateTimeField', [], {}), + 'revision': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}), + 'text': ('django.db.models.fields.TextField', [], {}) + }, + 'askbot.authkeyuserassociation': { + 'Meta': {'object_name': 'AuthKeyUserAssociation'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'key': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'provider': ('django.db.models.fields.CharField', [], {'max_length': '64'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'auth_keys'", 'to': "orm['auth.User']"}) + }, + 'askbot.award': { + 'Meta': {'object_name': 'Award', 'db_table': "u'award'"}, + 'awarded_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'badge': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'award_badge'", 'to': "orm['askbot.Badge']"}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'notified': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'award_user'", 'to': "orm['auth.User']"}) + }, + 'askbot.badge': { + 'Meta': {'unique_together': "(('name', 'type'),)", 'object_name': 'Badge', 'db_table': "u'badge'"}, + 'awarded_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'awarded_to': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'badges'", 'through': "'Award'", 'to': "orm['auth.User']"}), + 'description': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'multiple': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}), + 'slug': ('django.db.models.fields.SlugField', [], {'db_index': 'True', 'max_length': '50', 'blank': 'True'}), + 'type': ('django.db.models.fields.SmallIntegerField', [], {}) + }, + 'askbot.book': { + 'Meta': {'object_name': 'Book', 'db_table': "u'book'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {}), + 'author': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'cover_img': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {}), + 'pages': ('django.db.models.fields.SmallIntegerField', [], {}), + 'price': ('django.db.models.fields.DecimalField', [], {'max_digits': '6', 'decimal_places': '2'}), + 'publication': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'published_at': ('django.db.models.fields.DateTimeField', [], {}), + 'questions': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'book'", 'db_table': "'book_question'", 'to': "orm['askbot.Question']"}), + 'short_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'askbot.bookauthorinfo': { + 'Meta': {'object_name': 'BookAuthorInfo', 'db_table': "u'book_author_info'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {}), + 'blog_url': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'book': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['askbot.Book']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'askbot.bookauthorrss': { + 'Meta': {'object_name': 'BookAuthorRss', 'db_table': "u'book_author_rss'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {}), + 'book': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['askbot.Book']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'rss_created_at': ('django.db.models.fields.DateTimeField', [], {}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'url': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'askbot.comment': { + 'Meta': {'object_name': 'Comment', 'db_table': "u'comment'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'comment': ('django.db.models.fields.CharField', [], {'max_length': '2048'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'html': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '2048'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'comments'", 'to': "orm['auth.User']"}) + }, + 'askbot.emailfeedsetting': { + 'Meta': {'object_name': 'EmailFeedSetting'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'feed_type': ('django.db.models.fields.CharField', [], {'max_length': '16'}), + 'frequency': ('django.db.models.fields.CharField', [], {'default': "'n'", 'max_length': '8'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'reported_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}), + 'subscriber': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'notification_subscriptions'", 'to': "orm['auth.User']"}) + }, + 'askbot.favoritequestion': { + 'Meta': {'object_name': 'FavoriteQuestion', 'db_table': "u'favorite_question'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['askbot.Question']"}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'user_favorite_questions'", 'to': "orm['auth.User']"}) + }, + 'askbot.flaggeditem': { + 'Meta': {'unique_together': "(('content_type', 'object_id', 'user'),)", 'object_name': 'FlaggedItem', 'db_table': "u'flagged_item'"}, + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'flagged_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'flaggeditems'", 'to': "orm['auth.User']"}) + }, + 'askbot.markedtag': { + 'Meta': {'object_name': 'MarkedTag'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'reason': ('django.db.models.fields.CharField', [], {'max_length': '16'}), + 'tag': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'user_selections'", 'to': "orm['askbot.Tag']"}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'tag_selections'", 'to': "orm['auth.User']"}) + }, + 'askbot.mention': { + 'Meta': {'object_name': 'Mention', 'db_table': "u'mention'"}, + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'mentioned_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'mentioned_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'mentions_sent'", 'to': "orm['auth.User']"}), + 'mentioned_whom': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'mentions_received'", 'to': "orm['auth.User']"}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}) + }, + 'askbot.question': { + 'Meta': {'object_name': 'Question', 'db_table': "u'question'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'answer_accepted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'answer_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'questions'", 'to': "orm['auth.User']"}), + 'close_reason': ('django.db.models.fields.SmallIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'closed': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'closed_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'closed_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'closed_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'comment_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'favorited_by': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'favorite_questions'", 'through': "'FavoriteQuestion'", 'to': "orm['auth.User']"}), + 'favourite_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'followed_by': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'followed_questions'", 'to': "orm['auth.User']"}), + 'html': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_activity_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_activity_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'last_active_in_questions'", 'to': "orm['auth.User']"}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'last_edited_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'last_edited_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'locked': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'locked_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'locked_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'locked_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'offensive_flag_count': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'tags': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'questions'", 'to': "orm['askbot.Tag']"}), + 'text': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'view_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'vote_down_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'vote_up_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'wikified_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}) + }, + 'askbot.questionrevision': { + 'Meta': {'object_name': 'QuestionRevision', 'db_table': "u'question_revision'"}, + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'questionrevisions'", 'to': "orm['auth.User']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'revisions'", 'to': "orm['askbot.Question']"}), + 'revised_at': ('django.db.models.fields.DateTimeField', [], {}), + 'revision': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'text': ('django.db.models.fields.TextField', [], {}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}) + }, + 'askbot.questionview': { + 'Meta': {'object_name': 'QuestionView'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'viewed'", 'to': "orm['askbot.Question']"}), + 'when': ('django.db.models.fields.DateTimeField', [], {}), + 'who': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'question_views'", 'to': "orm['auth.User']"}) + }, + 'askbot.repute': { + 'Meta': {'object_name': 'Repute', 'db_table': "u'repute'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'negative': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'positive': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['askbot.Question']"}), + 'reputation': ('django.db.models.fields.IntegerField', [], {'default': '1'}), + 'reputation_type': ('django.db.models.fields.SmallIntegerField', [], {}), + 'reputed_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'askbot.tag': { + 'Meta': {'object_name': 'Tag', 'db_table': "u'tag'"}, + 'created_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'created_tags'", 'to': "orm['auth.User']"}), + 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_tags'", 'null': 'True', 'to': "orm['auth.User']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'used_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}) + }, + 'askbot.validationhash': { + 'Meta': {'unique_together': "(('user', 'type'),)", 'object_name': 'ValidationHash'}, + 'expiration': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2010, 5, 22, 21, 40, 30, 531379)'}), + 'hash_code': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'seed': ('django.db.models.fields.CharField', [], {'max_length': '12'}), + 'type': ('django.db.models.fields.CharField', [], {'max_length': '12'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'askbot.vote': { + 'Meta': {'unique_together': "(('content_type', 'object_id', 'user'),)", 'object_name': 'Vote', 'db_table': "u'vote'"}, + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'votes'", 'to': "orm['auth.User']"}), + 'vote': ('django.db.models.fields.SmallIntegerField', [], {}), + 'voted_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}) + } + } + + complete_apps = ['askbot'] diff --git a/askbot/migrations/0012_delete_some_unused_models.py b/askbot/migrations/0012_delete_some_unused_models.py new file mode 100644 index 00000000..f34575e4 --- /dev/null +++ b/askbot/migrations/0012_delete_some_unused_models.py @@ -0,0 +1,755 @@ +# encoding: utf-8 +import os +import datetime +from south.db import db +from south.v2 import SchemaMigration +from django.db import models +from django.db import connection + +app_dir_name = os.path.basename(os.path.dirname(os.path.dirname(__file__))) + +class Migration(SchemaMigration): + + def forwards(self, orm): + + # Deleting model 'AuthKeyUserAssociation' + if app_dir_name == 'forum': + db.delete_table('forum_authkeyuserassociation') + else: + db.delete_table('askbot_authkeyuserassociation') + + # Deleting model 'BookAuthorInfo' + db.delete_table(u'book_author_info') + + # Deleting model 'Mention' + db.delete_table(u'mention') + + # Deleting model 'Book' + db.delete_table(u'book') + + # Removing M2M table for field questions on 'Book' + db.delete_table('book_question') + + # Deleting model 'BookAuthorRss' + db.delete_table(u'book_author_rss') + + + def backwards(self, orm): + + # Adding model 'AuthKeyUserAssociation' + if app_dir_name == 'forum': + db.create_table('forum_authkeyuserassociation', ( + ('key', self.gf('django.db.models.fields.CharField')(max_length=255, unique=True)), + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('user', self.gf('django.db.models.fields.related.ForeignKey')(related_name='auth_keys', to=orm['auth.User'])), + ('added_at', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)), + ('provider', self.gf('django.db.models.fields.CharField')(max_length=64)), + )) + db.send_create_signal('forum', ['AuthKeyUserAssociation']) + + # Adding model 'BookAuthorInfo' + db.create_table(u'book_author_info', ( + ('added_at', self.gf('django.db.models.fields.DateTimeField')()), + ('book', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['forum.Book'])), + ('user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'])), + ('blog_url', self.gf('django.db.models.fields.CharField')(max_length=255)), + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('last_edited_at', self.gf('django.db.models.fields.DateTimeField')()), + )) + db.send_create_signal('forum', ['BookAuthorInfo']) + + # Adding model 'Mention' + db.create_table(u'mention', ( + ('mentioned_by', self.gf('django.db.models.fields.related.ForeignKey')(related_name='mentions_sent', to=orm['auth.User'])), + ('mentioned_at', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)), + ('object_id', self.gf('django.db.models.fields.PositiveIntegerField')()), + ('content_type', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['contenttypes.ContentType'])), + ('mentioned_whom', self.gf('django.db.models.fields.related.ForeignKey')(related_name='mentions_received', to=orm['auth.User'])), + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + )) + db.send_create_signal('forum', ['Mention']) + + # Adding model 'Book' + db.create_table(u'book', ( + ('publication', self.gf('django.db.models.fields.CharField')(max_length=255)), + ('short_name', self.gf('django.db.models.fields.CharField')(max_length=255)), + ('author', self.gf('django.db.models.fields.CharField')(max_length=255)), + ('cover_img', self.gf('django.db.models.fields.CharField')(max_length=255)), + ('price', self.gf('django.db.models.fields.DecimalField')(max_digits=6, decimal_places=2)), + ('title', self.gf('django.db.models.fields.CharField')(max_length=255)), + ('added_at', self.gf('django.db.models.fields.DateTimeField')()), + ('pages', self.gf('django.db.models.fields.SmallIntegerField')()), + ('tagnames', self.gf('django.db.models.fields.CharField')(max_length=125)), + ('published_at', self.gf('django.db.models.fields.DateTimeField')()), + ('user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'])), + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('last_edited_at', self.gf('django.db.models.fields.DateTimeField')()), + )) + db.send_create_signal('forum', ['Book']) + + # Adding M2M table for field questions on 'Book' + db.create_table('book_question', ( + ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), + ('book', models.ForeignKey(orm['forum.book'], null=False)), + ('question', models.ForeignKey(orm['forum.question'], null=False)) + )) + db.create_unique('book_question', ['book_id', 'question_id']) + + # Adding model 'BookAuthorRss' + db.create_table(u'book_author_rss', ( + ('title', self.gf('django.db.models.fields.CharField')(max_length=255)), + ('url', self.gf('django.db.models.fields.CharField')(max_length=255)), + ('added_at', self.gf('django.db.models.fields.DateTimeField')()), + ('book', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['forum.Book'])), + ('user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'])), + ('rss_created_at', self.gf('django.db.models.fields.DateTimeField')()), + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + )) + db.send_create_signal('forum', ['BookAuthorRss']) + else: + db.create_table('askbot_authkeyuserassociation', ( + ('key', self.gf('django.db.models.fields.CharField')(max_length=255, unique=True)), + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('user', self.gf('django.db.models.fields.related.ForeignKey')(related_name='auth_keys', to=orm['auth.User'])), + ('added_at', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)), + ('provider', self.gf('django.db.models.fields.CharField')(max_length=64)), + )) + db.send_create_signal('askbot', ['AuthKeyUserAssociation']) + + # Adding model 'BookAuthorInfo' + db.create_table(u'book_author_info', ( + ('added_at', self.gf('django.db.models.fields.DateTimeField')()), + ('book', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['askbot.Book'])), + ('user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'])), + ('blog_url', self.gf('django.db.models.fields.CharField')(max_length=255)), + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('last_edited_at', self.gf('django.db.models.fields.DateTimeField')()), + )) + db.send_create_signal('askbot', ['BookAuthorInfo']) + + # Adding model 'Mention' + db.create_table(u'mention', ( + ('mentioned_by', self.gf('django.db.models.fields.related.ForeignKey')(related_name='mentions_sent', to=orm['auth.User'])), + ('mentioned_at', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)), + ('object_id', self.gf('django.db.models.fields.PositiveIntegerField')()), + ('content_type', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['contenttypes.ContentType'])), + ('mentioned_whom', self.gf('django.db.models.fields.related.ForeignKey')(related_name='mentions_received', to=orm['auth.User'])), + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + )) + db.send_create_signal('askbot', ['Mention']) + + # Adding model 'Book' + db.create_table(u'book', ( + ('publication', self.gf('django.db.models.fields.CharField')(max_length=255)), + ('short_name', self.gf('django.db.models.fields.CharField')(max_length=255)), + ('author', self.gf('django.db.models.fields.CharField')(max_length=255)), + ('cover_img', self.gf('django.db.models.fields.CharField')(max_length=255)), + ('price', self.gf('django.db.models.fields.DecimalField')(max_digits=6, decimal_places=2)), + ('title', self.gf('django.db.models.fields.CharField')(max_length=255)), + ('added_at', self.gf('django.db.models.fields.DateTimeField')()), + ('pages', self.gf('django.db.models.fields.SmallIntegerField')()), + ('tagnames', self.gf('django.db.models.fields.CharField')(max_length=125)), + ('published_at', self.gf('django.db.models.fields.DateTimeField')()), + ('user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'])), + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('last_edited_at', self.gf('django.db.models.fields.DateTimeField')()), + )) + db.send_create_signal('askbot', ['Book']) + + # Adding M2M table for field questions on 'Book' + db.create_table('book_question', ( + ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), + ('book', models.ForeignKey(orm['askbot.book'], null=False)), + ('question', models.ForeignKey(orm['askbot.question'], null=False)) + )) + db.create_unique('book_question', ['book_id', 'question_id']) + + # Adding model 'BookAuthorRss' + db.create_table(u'book_author_rss', ( + ('title', self.gf('django.db.models.fields.CharField')(max_length=255)), + ('url', self.gf('django.db.models.fields.CharField')(max_length=255)), + ('added_at', self.gf('django.db.models.fields.DateTimeField')()), + ('book', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['askbot.Book'])), + ('user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'])), + ('rss_created_at', self.gf('django.db.models.fields.DateTimeField')()), + ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + )) + db.send_create_signal('askbot', ['BookAuthorRss']) + + + if app_dir_name == 'forum': + models = { + 'auth.group': { + 'Meta': {'object_name': 'Group'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), + 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'blank': 'True'}) + }, + 'auth.permission': { + 'Meta': {'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, + 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + }, + 'auth.user': { + 'Meta': {'object_name': 'User'}, + 'about': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'bronze': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'date_of_birth': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), + 'email_isvalid': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'email_key': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), + 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'gold': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'gravatar': ('django.db.models.fields.CharField', [], {'max_length': '32'}), + 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'blank': 'True'}), + 'hide_ignored_questions': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}), + 'is_approved': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'last_seen': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'location': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), + 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), + 'questions_per_page': ('django.db.models.fields.SmallIntegerField', [], {'default': '10'}), + 'real_name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), + 'reputation': ('django.db.models.fields.PositiveIntegerField', [], {'default': '1'}), + 'silver': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'tag_filter_setting': ('django.db.models.fields.CharField', [], {'default': "'ignored'", 'max_length': '16'}), + 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'blank': 'True'}), + 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), + 'website': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}) + }, + 'contenttypes.contenttype': { + 'Meta': {'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, + 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + 'forum.activity': { + 'Meta': {'object_name': 'Activity', 'db_table': "u'activity'"}, + 'active_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'activity_type': ('django.db.models.fields.SmallIntegerField', [], {}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_auditted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'receiving_users': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'received_activity'", 'to': "orm['auth.User']"}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'forum.anonymousanswer': { + 'Meta': {'object_name': 'AnonymousAnswer'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ip_addr': ('django.db.models.fields.IPAddressField', [], {'max_length': '15'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'anonymous_answers'", 'to': "orm['forum.Question']"}), + 'session_key': ('django.db.models.fields.CharField', [], {'max_length': '40'}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), + 'text': ('django.db.models.fields.TextField', [], {}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}) + }, + 'forum.anonymousquestion': { + 'Meta': {'object_name': 'AnonymousQuestion'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ip_addr': ('django.db.models.fields.IPAddressField', [], {'max_length': '15'}), + 'session_key': ('django.db.models.fields.CharField', [], {'max_length': '40'}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'text': ('django.db.models.fields.TextField', [], {}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}) + }, + 'forum.answer': { + 'Meta': {'object_name': 'Answer', 'db_table': "u'answer'"}, + 'accepted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'accepted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answers'", 'to': "orm['auth.User']"}), + 'comment_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_answers'", 'null': 'True', 'to': "orm['auth.User']"}), + 'html': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'last_edited_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'last_edited_answers'", 'null': 'True', 'to': "orm['auth.User']"}), + 'locked': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'locked_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'locked_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'locked_answers'", 'null': 'True', 'to': "orm['auth.User']"}), + 'offensive_flag_count': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answers'", 'to': "orm['forum.Question']"}), + 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'text': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'vote_down_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'vote_up_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'wikified_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}) + }, + 'forum.answerrevision': { + 'Meta': {'object_name': 'AnswerRevision', 'db_table': "u'answer_revision'"}, + 'answer': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'revisions'", 'to': "orm['forum.Answer']"}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answerrevisions'", 'to': "orm['auth.User']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'revised_at': ('django.db.models.fields.DateTimeField', [], {}), + 'revision': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}), + 'text': ('django.db.models.fields.TextField', [], {}) + }, + 'forum.award': { + 'Meta': {'object_name': 'Award', 'db_table': "u'award'"}, + 'awarded_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'badge': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'award_badge'", 'to': "orm['forum.Badge']"}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'notified': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'award_user'", 'to': "orm['auth.User']"}) + }, + 'forum.badge': { + 'Meta': {'unique_together': "(('name', 'type'),)", 'object_name': 'Badge', 'db_table': "u'badge'"}, + 'awarded_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'awarded_to': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'badges'", 'through': "'Award'", 'to': "orm['auth.User']"}), + 'description': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'multiple': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}), + 'slug': ('django.db.models.fields.SlugField', [], {'db_index': 'True', 'max_length': '50', 'blank': 'True'}), + 'type': ('django.db.models.fields.SmallIntegerField', [], {}) + }, + 'forum.comment': { + 'Meta': {'object_name': 'Comment', 'db_table': "u'comment'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'comment': ('django.db.models.fields.CharField', [], {'max_length': '2048'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'html': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '2048'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'comments'", 'to': "orm['auth.User']"}) + }, + 'forum.emailfeedsetting': { + 'Meta': {'object_name': 'EmailFeedSetting'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'feed_type': ('django.db.models.fields.CharField', [], {'max_length': '16'}), + 'frequency': ('django.db.models.fields.CharField', [], {'default': "'n'", 'max_length': '8'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'reported_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}), + 'subscriber': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'notification_subscriptions'", 'to': "orm['auth.User']"}) + }, + 'forum.favoritequestion': { + 'Meta': {'object_name': 'FavoriteQuestion', 'db_table': "u'favorite_question'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Question']"}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'user_favorite_questions'", 'to': "orm['auth.User']"}) + }, + 'forum.flaggeditem': { + 'Meta': {'unique_together': "(('content_type', 'object_id', 'user'),)", 'object_name': 'FlaggedItem', 'db_table': "u'flagged_item'"}, + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'flagged_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'flaggeditems'", 'to': "orm['auth.User']"}) + }, + 'forum.markedtag': { + 'Meta': {'object_name': 'MarkedTag'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'reason': ('django.db.models.fields.CharField', [], {'max_length': '16'}), + 'tag': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'user_selections'", 'to': "orm['forum.Tag']"}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'tag_selections'", 'to': "orm['auth.User']"}) + }, + 'forum.question': { + 'Meta': {'object_name': 'Question', 'db_table': "u'question'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'answer_accepted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'answer_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'questions'", 'to': "orm['auth.User']"}), + 'close_reason': ('django.db.models.fields.SmallIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'closed': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'closed_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'closed_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'closed_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'comment_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'favorited_by': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'favorite_questions'", 'through': "'FavoriteQuestion'", 'to': "orm['auth.User']"}), + 'favourite_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'followed_by': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'followed_questions'", 'to': "orm['auth.User']"}), + 'html': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_activity_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_activity_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'last_active_in_questions'", 'to': "orm['auth.User']"}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'last_edited_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'last_edited_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'locked': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'locked_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'locked_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'locked_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'offensive_flag_count': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'tags': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'questions'", 'to': "orm['forum.Tag']"}), + 'text': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'view_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'vote_down_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'vote_up_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'wikified_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}) + }, + 'forum.questionrevision': { + 'Meta': {'object_name': 'QuestionRevision', 'db_table': "u'question_revision'"}, + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'questionrevisions'", 'to': "orm['auth.User']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'revisions'", 'to': "orm['forum.Question']"}), + 'revised_at': ('django.db.models.fields.DateTimeField', [], {}), + 'revision': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'text': ('django.db.models.fields.TextField', [], {}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}) + }, + 'forum.questionview': { + 'Meta': {'object_name': 'QuestionView'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'viewed'", 'to': "orm['forum.Question']"}), + 'when': ('django.db.models.fields.DateTimeField', [], {}), + 'who': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'question_views'", 'to': "orm['auth.User']"}) + }, + 'forum.repute': { + 'Meta': {'object_name': 'Repute', 'db_table': "u'repute'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'negative': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'positive': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Question']"}), + 'reputation': ('django.db.models.fields.IntegerField', [], {'default': '1'}), + 'reputation_type': ('django.db.models.fields.SmallIntegerField', [], {}), + 'reputed_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'forum.tag': { + 'Meta': {'object_name': 'Tag', 'db_table': "u'tag'"}, + 'created_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'created_tags'", 'to': "orm['auth.User']"}), + 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_tags'", 'null': 'True', 'to': "orm['auth.User']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'used_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}) + }, + 'forum.validationhash': { + 'Meta': {'unique_together': "(('user', 'type'),)", 'object_name': 'ValidationHash'}, + 'expiration': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2010, 5, 29, 12, 2, 31, 449262)'}), + 'hash_code': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'seed': ('django.db.models.fields.CharField', [], {'max_length': '12'}), + 'type': ('django.db.models.fields.CharField', [], {'max_length': '12'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'forum.vote': { + 'Meta': {'unique_together': "(('content_type', 'object_id', 'user'),)", 'object_name': 'Vote', 'db_table': "u'vote'"}, + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'votes'", 'to': "orm['auth.User']"}), + 'vote': ('django.db.models.fields.SmallIntegerField', [], {}), + 'voted_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}) + } + } + else: + models = { + 'auth.group': { + 'Meta': {'object_name': 'Group'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), + 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'blank': 'True'}) + }, + 'auth.permission': { + 'Meta': {'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, + 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + }, + 'auth.user': { + 'Meta': {'object_name': 'User'}, + 'about': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'bronze': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'date_of_birth': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), + 'email_isvalid': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'email_key': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), + 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'gold': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'gravatar': ('django.db.models.fields.CharField', [], {'max_length': '32'}), + 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'blank': 'True'}), + 'hide_ignored_questions': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}), + 'is_approved': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'last_seen': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'location': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), + 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), + 'questions_per_page': ('django.db.models.fields.SmallIntegerField', [], {'default': '10'}), + 'real_name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), + 'reputation': ('django.db.models.fields.PositiveIntegerField', [], {'default': '1'}), + 'silver': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'tag_filter_setting': ('django.db.models.fields.CharField', [], {'default': "'ignored'", 'max_length': '16'}), + 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'blank': 'True'}), + 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), + 'website': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}) + }, + 'contenttypes.contenttype': { + 'Meta': {'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, + 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + 'askbot.activity': { + 'Meta': {'object_name': 'Activity', 'db_table': "u'activity'"}, + 'active_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'activity_type': ('django.db.models.fields.SmallIntegerField', [], {}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_auditted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'receiving_users': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'received_activity'", 'to': "orm['auth.User']"}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'askbot.anonymousanswer': { + 'Meta': {'object_name': 'AnonymousAnswer'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ip_addr': ('django.db.models.fields.IPAddressField', [], {'max_length': '15'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'anonymous_answers'", 'to': "orm['askbot.Question']"}), + 'session_key': ('django.db.models.fields.CharField', [], {'max_length': '40'}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), + 'text': ('django.db.models.fields.TextField', [], {}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}) + }, + 'askbot.anonymousquestion': { + 'Meta': {'object_name': 'AnonymousQuestion'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ip_addr': ('django.db.models.fields.IPAddressField', [], {'max_length': '15'}), + 'session_key': ('django.db.models.fields.CharField', [], {'max_length': '40'}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'text': ('django.db.models.fields.TextField', [], {}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}) + }, + 'askbot.answer': { + 'Meta': {'object_name': 'Answer', 'db_table': "u'answer'"}, + 'accepted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'accepted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answers'", 'to': "orm['auth.User']"}), + 'comment_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_answers'", 'null': 'True', 'to': "orm['auth.User']"}), + 'html': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'last_edited_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'last_edited_answers'", 'null': 'True', 'to': "orm['auth.User']"}), + 'locked': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'locked_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'locked_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'locked_answers'", 'null': 'True', 'to': "orm['auth.User']"}), + 'offensive_flag_count': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answers'", 'to': "orm['askbot.Question']"}), + 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'text': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'vote_down_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'vote_up_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'wikified_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}) + }, + 'askbot.answerrevision': { + 'Meta': {'object_name': 'AnswerRevision', 'db_table': "u'answer_revision'"}, + 'answer': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'revisions'", 'to': "orm['askbot.Answer']"}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answerrevisions'", 'to': "orm['auth.User']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'revised_at': ('django.db.models.fields.DateTimeField', [], {}), + 'revision': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}), + 'text': ('django.db.models.fields.TextField', [], {}) + }, + 'askbot.award': { + 'Meta': {'object_name': 'Award', 'db_table': "u'award'"}, + 'awarded_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'badge': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'award_badge'", 'to': "orm['askbot.Badge']"}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'notified': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'award_user'", 'to': "orm['auth.User']"}) + }, + 'askbot.badge': { + 'Meta': {'unique_together': "(('name', 'type'),)", 'object_name': 'Badge', 'db_table': "u'badge'"}, + 'awarded_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'awarded_to': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'badges'", 'through': "'Award'", 'to': "orm['auth.User']"}), + 'description': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'multiple': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}), + 'slug': ('django.db.models.fields.SlugField', [], {'db_index': 'True', 'max_length': '50', 'blank': 'True'}), + 'type': ('django.db.models.fields.SmallIntegerField', [], {}) + }, + 'askbot.comment': { + 'Meta': {'object_name': 'Comment', 'db_table': "u'comment'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'comment': ('django.db.models.fields.CharField', [], {'max_length': '2048'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'html': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '2048'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'comments'", 'to': "orm['auth.User']"}) + }, + 'askbot.emailfeedsetting': { + 'Meta': {'object_name': 'EmailFeedSetting'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'feed_type': ('django.db.models.fields.CharField', [], {'max_length': '16'}), + 'frequency': ('django.db.models.fields.CharField', [], {'default': "'n'", 'max_length': '8'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'reported_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}), + 'subscriber': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'notification_subscriptions'", 'to': "orm['auth.User']"}) + }, + 'askbot.favoritequestion': { + 'Meta': {'object_name': 'FavoriteQuestion', 'db_table': "u'favorite_question'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['askbot.Question']"}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'user_favorite_questions'", 'to': "orm['auth.User']"}) + }, + 'askbot.flaggeditem': { + 'Meta': {'unique_together': "(('content_type', 'object_id', 'user'),)", 'object_name': 'FlaggedItem', 'db_table': "u'flagged_item'"}, + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'flagged_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'flaggeditems'", 'to': "orm['auth.User']"}) + }, + 'askbot.markedtag': { + 'Meta': {'object_name': 'MarkedTag'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'reason': ('django.db.models.fields.CharField', [], {'max_length': '16'}), + 'tag': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'user_selections'", 'to': "orm['askbot.Tag']"}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'tag_selections'", 'to': "orm['auth.User']"}) + }, + 'askbot.question': { + 'Meta': {'object_name': 'Question', 'db_table': "u'question'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'answer_accepted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'answer_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'questions'", 'to': "orm['auth.User']"}), + 'close_reason': ('django.db.models.fields.SmallIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'closed': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'closed_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'closed_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'closed_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'comment_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'favorited_by': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'favorite_questions'", 'through': "'FavoriteQuestion'", 'to': "orm['auth.User']"}), + 'favourite_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'followed_by': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'followed_questions'", 'to': "orm['auth.User']"}), + 'html': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_activity_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_activity_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'last_active_in_questions'", 'to': "orm['auth.User']"}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'last_edited_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'last_edited_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'locked': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'locked_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'locked_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'locked_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'offensive_flag_count': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'tags': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'questions'", 'to': "orm['askbot.Tag']"}), + 'text': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'view_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'vote_down_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'vote_up_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'wikified_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}) + }, + 'askbot.questionrevision': { + 'Meta': {'object_name': 'QuestionRevision', 'db_table': "u'question_revision'"}, + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'questionrevisions'", 'to': "orm['auth.User']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'revisions'", 'to': "orm['askbot.Question']"}), + 'revised_at': ('django.db.models.fields.DateTimeField', [], {}), + 'revision': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'text': ('django.db.models.fields.TextField', [], {}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}) + }, + 'askbot.questionview': { + 'Meta': {'object_name': 'QuestionView'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'viewed'", 'to': "orm['askbot.Question']"}), + 'when': ('django.db.models.fields.DateTimeField', [], {}), + 'who': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'question_views'", 'to': "orm['auth.User']"}) + }, + 'askbot.repute': { + 'Meta': {'object_name': 'Repute', 'db_table': "u'repute'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'negative': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'positive': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['askbot.Question']"}), + 'reputation': ('django.db.models.fields.IntegerField', [], {'default': '1'}), + 'reputation_type': ('django.db.models.fields.SmallIntegerField', [], {}), + 'reputed_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'askbot.tag': { + 'Meta': {'object_name': 'Tag', 'db_table': "u'tag'"}, + 'created_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'created_tags'", 'to': "orm['auth.User']"}), + 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_tags'", 'null': 'True', 'to': "orm['auth.User']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'used_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}) + }, + 'askbot.validationhash': { + 'Meta': {'unique_together': "(('user', 'type'),)", 'object_name': 'ValidationHash'}, + 'expiration': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2010, 5, 29, 12, 2, 31, 449262)'}), + 'hash_code': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'seed': ('django.db.models.fields.CharField', [], {'max_length': '12'}), + 'type': ('django.db.models.fields.CharField', [], {'max_length': '12'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'askbot.vote': { + 'Meta': {'unique_together': "(('content_type', 'object_id', 'user'),)", 'object_name': 'Vote', 'db_table': "u'vote'"}, + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'votes'", 'to': "orm['auth.User']"}), + 'vote': ('django.db.models.fields.SmallIntegerField', [], {}), + 'voted_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}) + } + } + + complete_apps = [app_dir_name] diff --git a/forum/migrations/0013_add_response_count__to_user.py b/askbot/migrations/0013_add_response_count__to_user.py index 30ca164e..30ca164e 100644 --- a/forum/migrations/0013_add_response_count__to_user.py +++ b/askbot/migrations/0013_add_response_count__to_user.py diff --git a/askbot/migrations/0014_rename_schema_from_forum_to_askbot.py b/askbot/migrations/0014_rename_schema_from_forum_to_askbot.py new file mode 100644 index 00000000..8af0e9d6 --- /dev/null +++ b/askbot/migrations/0014_rename_schema_from_forum_to_askbot.py @@ -0,0 +1,611 @@ +# encoding: utf-8 +import os +import datetime +from south.db import db +from south.v2 import SchemaMigration +from django.db import models + +app_dir_name = os.path.basename(os.path.dirname(os.path.dirname(__file__))) + +class Migration(SchemaMigration): + + def forwards(self, orm): + try: + db.rename_table('forum_anonymousanswer', 'forum_anonymousanswer') + db.rename_table('forum_anonymousquestion', 'forum_anonymousquestion') + db.rename_table('forum_emailfeedsetting', 'forum_emailfeedsetting') + db.rename_table('forum_markedtag', 'forum_markedtag') + db.rename_table('forum_questionview', 'forum_questionview') + db.rename_table('forum_validationhash', 'forum_validationhash') + except: + pass + + + def backwards(self, orm): + if app_dirname == 'forum': + db.rename_table('forum_anonymousanswer', 'forum_anonymousanswer') + db.rename_table('forum_anonymousquestion', 'forum_anonymousquestion') + db.rename_table('forum_emailfeedsetting', 'forum_emailfeedsetting') + db.rename_table('forum_markedtag', 'forum_markedtag') + db.rename_table('forum_questionview', 'forum_questionview') + db.rename_table('forum_validationhash', 'forum_validationhash') + + + if app_dir_name == 'forum': + models = { + 'forum.activity': { + 'Meta': {'object_name': 'Activity', 'db_table': "u'activity'"}, + 'active_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'activity_type': ('django.db.models.fields.SmallIntegerField', [], {}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_auditted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'receiving_users': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'received_activity'", 'symmetrical': 'False', 'to': "orm['auth.User']"}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'forum.anonymousanswer': { + 'Meta': {'object_name': 'AnonymousAnswer'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ip_addr': ('django.db.models.fields.IPAddressField', [], {'max_length': '15'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'anonymous_answers'", 'to': "orm['forum.Question']"}), + 'session_key': ('django.db.models.fields.CharField', [], {'max_length': '40'}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), + 'text': ('django.db.models.fields.TextField', [], {}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}) + }, + 'forum.anonymousquestion': { + 'Meta': {'object_name': 'AnonymousQuestion'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ip_addr': ('django.db.models.fields.IPAddressField', [], {'max_length': '15'}), + 'session_key': ('django.db.models.fields.CharField', [], {'max_length': '40'}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'text': ('django.db.models.fields.TextField', [], {}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}) + }, + 'forum.answer': { + 'Meta': {'object_name': 'Answer', 'db_table': "u'answer'"}, + 'accepted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'accepted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answers'", 'to': "orm['auth.User']"}), + 'comment_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_answers'", 'null': 'True', 'to': "orm['auth.User']"}), + 'html': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'last_edited_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'last_edited_answers'", 'null': 'True', 'to': "orm['auth.User']"}), + 'locked': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'locked_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'locked_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'locked_answers'", 'null': 'True', 'to': "orm['auth.User']"}), + 'offensive_flag_count': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answers'", 'to': "orm['forum.Question']"}), + 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'text': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'vote_down_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'vote_up_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'wikified_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}) + }, + 'forum.answerrevision': { + 'Meta': {'object_name': 'AnswerRevision', 'db_table': "u'answer_revision'"}, + 'answer': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'revisions'", 'to': "orm['forum.Answer']"}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answerrevisions'", 'to': "orm['auth.User']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'revised_at': ('django.db.models.fields.DateTimeField', [], {}), + 'revision': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}), + 'text': ('django.db.models.fields.TextField', [], {}) + }, + 'forum.award': { + 'Meta': {'object_name': 'Award', 'db_table': "u'award'"}, + 'awarded_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'badge': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'award_badge'", 'to': "orm['forum.Badge']"}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'notified': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'award_user'", 'to': "orm['auth.User']"}) + }, + 'forum.badge': { + 'Meta': {'unique_together': "(('name', 'type'),)", 'object_name': 'Badge', 'db_table': "u'badge'"}, + 'awarded_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'awarded_to': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'badges'", 'symmetrical': 'False', 'through': "'Award'", 'to': "orm['auth.User']"}), + 'description': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'multiple': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}), + 'slug': ('django.db.models.fields.SlugField', [], {'db_index': 'True', 'max_length': '50', 'blank': 'True'}), + 'type': ('django.db.models.fields.SmallIntegerField', [], {}) + }, + 'forum.comment': { + 'Meta': {'object_name': 'Comment', 'db_table': "u'comment'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'comment': ('django.db.models.fields.CharField', [], {'max_length': '2048'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'html': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '2048'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'comments'", 'to': "orm['auth.User']"}) + }, + 'forum.emailfeedsetting': { + 'Meta': {'object_name': 'EmailFeedSetting'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'feed_type': ('django.db.models.fields.CharField', [], {'max_length': '16'}), + 'frequency': ('django.db.models.fields.CharField', [], {'default': "'n'", 'max_length': '8'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'reported_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}), + 'subscriber': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'notification_subscriptions'", 'to': "orm['auth.User']"}) + }, + 'forum.favoritequestion': { + 'Meta': {'object_name': 'FavoriteQuestion', 'db_table': "u'favorite_question'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Question']"}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'user_favorite_questions'", 'to': "orm['auth.User']"}) + }, + 'forum.flaggeditem': { + 'Meta': {'unique_together': "(('content_type', 'object_id', 'user'),)", 'object_name': 'FlaggedItem', 'db_table': "u'flagged_item'"}, + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'flagged_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'flaggeditems'", 'to': "orm['auth.User']"}) + }, + 'forum.markedtag': { + 'Meta': {'object_name': 'MarkedTag'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'reason': ('django.db.models.fields.CharField', [], {'max_length': '16'}), + 'tag': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'user_selections'", 'to': "orm['forum.Tag']"}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'tag_selections'", 'to': "orm['auth.User']"}) + }, + 'forum.question': { + 'Meta': {'object_name': 'Question', 'db_table': "u'question'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'answer_accepted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'answer_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'questions'", 'to': "orm['auth.User']"}), + 'close_reason': ('django.db.models.fields.SmallIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'closed': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'closed_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'closed_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'closed_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'comment_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'favorited_by': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'favorite_questions'", 'symmetrical': 'False', 'through': "'FavoriteQuestion'", 'to': "orm['auth.User']"}), + 'favourite_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'followed_by': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'followed_questions'", 'symmetrical': 'False', 'to': "orm['auth.User']"}), + 'html': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_activity_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_activity_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'last_active_in_questions'", 'to': "orm['auth.User']"}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'last_edited_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'last_edited_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'locked': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'locked_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'locked_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'locked_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'offensive_flag_count': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'tags': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'questions'", 'symmetrical': 'False', 'to': "orm['forum.Tag']"}), + 'text': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'view_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'vote_down_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'vote_up_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'wikified_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}) + }, + 'forum.questionrevision': { + 'Meta': {'object_name': 'QuestionRevision', 'db_table': "u'question_revision'"}, + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'questionrevisions'", 'to': "orm['auth.User']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'revisions'", 'to': "orm['forum.Question']"}), + 'revised_at': ('django.db.models.fields.DateTimeField', [], {}), + 'revision': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'text': ('django.db.models.fields.TextField', [], {}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}) + }, + 'forum.questionview': { + 'Meta': {'object_name': 'QuestionView'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'viewed'", 'to': "orm['forum.Question']"}), + 'when': ('django.db.models.fields.DateTimeField', [], {}), + 'who': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'question_views'", 'to': "orm['auth.User']"}) + }, + 'forum.repute': { + 'Meta': {'object_name': 'Repute', 'db_table': "u'repute'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'negative': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'positive': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Question']"}), + 'reputation': ('django.db.models.fields.IntegerField', [], {'default': '1'}), + 'reputation_type': ('django.db.models.fields.SmallIntegerField', [], {}), + 'reputed_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'forum.tag': { + 'Meta': {'object_name': 'Tag', 'db_table': "u'tag'"}, + 'created_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'created_tags'", 'to': "orm['auth.User']"}), + 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_tags'", 'null': 'True', 'to': "orm['auth.User']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'used_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}) + }, + 'forum.validationhash': { + 'Meta': {'unique_together': "(('user', 'type'),)", 'object_name': 'ValidationHash'}, + 'expiration': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2010, 6, 13, 23, 16, 4, 680070)'}), + 'hash_code': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'seed': ('django.db.models.fields.CharField', [], {'max_length': '12'}), + 'type': ('django.db.models.fields.CharField', [], {'max_length': '12'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'forum.vote': { + 'Meta': {'unique_together': "(('content_type', 'object_id', 'user'),)", 'object_name': 'Vote', 'db_table': "u'vote'"}, + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'votes'", 'to': "orm['auth.User']"}), + 'vote': ('django.db.models.fields.SmallIntegerField', [], {}), + 'voted_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}) + }, + 'auth.group': { + 'Meta': {'object_name': 'Group'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), + 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) + }, + 'auth.permission': { + 'Meta': {'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, + 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + }, + 'auth.user': { + 'Meta': {'object_name': 'User'}, + 'about': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'bronze': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'date_of_birth': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), + 'email_isvalid': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'email_key': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), + 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'gold': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'gravatar': ('django.db.models.fields.CharField', [], {'max_length': '32'}), + 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), + 'hide_ignored_questions': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}), + 'is_approved': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'last_seen': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'location': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), + 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), + 'questions_per_page': ('django.db.models.fields.SmallIntegerField', [], {'default': '10'}), + 'real_name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), + 'reputation': ('django.db.models.fields.PositiveIntegerField', [], {'default': '1'}), + 'response_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'silver': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'tag_filter_setting': ('django.db.models.fields.CharField', [], {'default': "'ignored'", 'max_length': '16'}), + 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), + 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), + 'website': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}) + }, + 'contenttypes.contenttype': { + 'Meta': {'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, + 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + } + } + else: + models = { + 'askbot.activity': { + 'Meta': {'object_name': 'Activity', 'db_table': "u'activity'"}, + 'active_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'activity_type': ('django.db.models.fields.SmallIntegerField', [], {}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_auditted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'receiving_users': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'received_activity'", 'symmetrical': 'False', 'to': "orm['auth.User']"}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'askbot.anonymousanswer': { + 'Meta': {'object_name': 'AnonymousAnswer'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ip_addr': ('django.db.models.fields.IPAddressField', [], {'max_length': '15'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'anonymous_answers'", 'to': "orm['askbot.Question']"}), + 'session_key': ('django.db.models.fields.CharField', [], {'max_length': '40'}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), + 'text': ('django.db.models.fields.TextField', [], {}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}) + }, + 'askbot.anonymousquestion': { + 'Meta': {'object_name': 'AnonymousQuestion'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ip_addr': ('django.db.models.fields.IPAddressField', [], {'max_length': '15'}), + 'session_key': ('django.db.models.fields.CharField', [], {'max_length': '40'}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'text': ('django.db.models.fields.TextField', [], {}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}) + }, + 'askbot.answer': { + 'Meta': {'object_name': 'Answer', 'db_table': "u'answer'"}, + 'accepted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'accepted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answers'", 'to': "orm['auth.User']"}), + 'comment_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_answers'", 'null': 'True', 'to': "orm['auth.User']"}), + 'html': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'last_edited_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'last_edited_answers'", 'null': 'True', 'to': "orm['auth.User']"}), + 'locked': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'locked_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'locked_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'locked_answers'", 'null': 'True', 'to': "orm['auth.User']"}), + 'offensive_flag_count': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answers'", 'to': "orm['askbot.Question']"}), + 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'text': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'vote_down_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'vote_up_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'wikified_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}) + }, + 'askbot.answerrevision': { + 'Meta': {'object_name': 'AnswerRevision', 'db_table': "u'answer_revision'"}, + 'answer': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'revisions'", 'to': "orm['askbot.Answer']"}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answerrevisions'", 'to': "orm['auth.User']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'revised_at': ('django.db.models.fields.DateTimeField', [], {}), + 'revision': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}), + 'text': ('django.db.models.fields.TextField', [], {}) + }, + 'askbot.award': { + 'Meta': {'object_name': 'Award', 'db_table': "u'award'"}, + 'awarded_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'badge': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'award_badge'", 'to': "orm['askbot.Badge']"}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'notified': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'award_user'", 'to': "orm['auth.User']"}) + }, + 'askbot.badge': { + 'Meta': {'unique_together': "(('name', 'type'),)", 'object_name': 'Badge', 'db_table': "u'badge'"}, + 'awarded_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'awarded_to': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'badges'", 'symmetrical': 'False', 'through': "'Award'", 'to': "orm['auth.User']"}), + 'description': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'multiple': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}), + 'slug': ('django.db.models.fields.SlugField', [], {'db_index': 'True', 'max_length': '50', 'blank': 'True'}), + 'type': ('django.db.models.fields.SmallIntegerField', [], {}) + }, + 'askbot.comment': { + 'Meta': {'object_name': 'Comment', 'db_table': "u'comment'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'comment': ('django.db.models.fields.CharField', [], {'max_length': '2048'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'html': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '2048'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'comments'", 'to': "orm['auth.User']"}) + }, + 'askbot.emailfeedsetting': { + 'Meta': {'object_name': 'EmailFeedSetting'}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'feed_type': ('django.db.models.fields.CharField', [], {'max_length': '16'}), + 'frequency': ('django.db.models.fields.CharField', [], {'default': "'n'", 'max_length': '8'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'reported_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}), + 'subscriber': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'notification_subscriptions'", 'to': "orm['auth.User']"}) + }, + 'askbot.favoritequestion': { + 'Meta': {'object_name': 'FavoriteQuestion', 'db_table': "u'favorite_question'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['askbot.Question']"}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'user_favorite_questions'", 'to': "orm['auth.User']"}) + }, + 'askbot.flaggeditem': { + 'Meta': {'unique_together': "(('content_type', 'object_id', 'user'),)", 'object_name': 'FlaggedItem', 'db_table': "u'flagged_item'"}, + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'flagged_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'flaggeditems'", 'to': "orm['auth.User']"}) + }, + 'askbot.markedtag': { + 'Meta': {'object_name': 'MarkedTag'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'reason': ('django.db.models.fields.CharField', [], {'max_length': '16'}), + 'tag': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'user_selections'", 'to': "orm['askbot.Tag']"}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'tag_selections'", 'to': "orm['auth.User']"}) + }, + 'askbot.question': { + 'Meta': {'object_name': 'Question', 'db_table': "u'question'"}, + 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'answer_accepted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'answer_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'questions'", 'to': "orm['auth.User']"}), + 'close_reason': ('django.db.models.fields.SmallIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'closed': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'closed_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'closed_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'closed_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'comment_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'favorited_by': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'favorite_questions'", 'symmetrical': 'False', 'through': "'FavoriteQuestion'", 'to': "orm['auth.User']"}), + 'favourite_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'followed_by': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'followed_questions'", 'symmetrical': 'False', 'to': "orm['auth.User']"}), + 'html': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_activity_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_activity_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'last_active_in_questions'", 'to': "orm['auth.User']"}), + 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'last_edited_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'last_edited_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'locked': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'locked_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'locked_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'locked_questions'", 'null': 'True', 'to': "orm['auth.User']"}), + 'offensive_flag_count': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'tags': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'questions'", 'symmetrical': 'False', 'to': "orm['askbot.Tag']"}), + 'text': ('django.db.models.fields.TextField', [], {'null': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'view_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), + 'vote_down_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'vote_up_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'wikified_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}) + }, + 'askbot.questionrevision': { + 'Meta': {'object_name': 'QuestionRevision', 'db_table': "u'question_revision'"}, + 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'questionrevisions'", 'to': "orm['auth.User']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'revisions'", 'to': "orm['askbot.Question']"}), + 'revised_at': ('django.db.models.fields.DateTimeField', [], {}), + 'revision': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'summary': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}), + 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), + 'text': ('django.db.models.fields.TextField', [], {}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}) + }, + 'askbot.questionview': { + 'Meta': {'object_name': 'QuestionView'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'viewed'", 'to': "orm['askbot.Question']"}), + 'when': ('django.db.models.fields.DateTimeField', [], {}), + 'who': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'question_views'", 'to': "orm['auth.User']"}) + }, + 'askbot.repute': { + 'Meta': {'object_name': 'Repute', 'db_table': "u'repute'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'negative': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'positive': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['askbot.Question']"}), + 'reputation': ('django.db.models.fields.IntegerField', [], {'default': '1'}), + 'reputation_type': ('django.db.models.fields.SmallIntegerField', [], {}), + 'reputed_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'askbot.tag': { + 'Meta': {'object_name': 'Tag', 'db_table': "u'tag'"}, + 'created_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'created_tags'", 'to': "orm['auth.User']"}), + 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_tags'", 'null': 'True', 'to': "orm['auth.User']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'used_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}) + }, + 'askbot.validationhash': { + 'Meta': {'unique_together': "(('user', 'type'),)", 'object_name': 'ValidationHash'}, + 'expiration': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2010, 6, 13, 23, 16, 4, 680070)'}), + 'hash_code': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'seed': ('django.db.models.fields.CharField', [], {'max_length': '12'}), + 'type': ('django.db.models.fields.CharField', [], {'max_length': '12'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'askbot.vote': { + 'Meta': {'unique_together': "(('content_type', 'object_id', 'user'),)", 'object_name': 'Vote', 'db_table': "u'vote'"}, + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'votes'", 'to': "orm['auth.User']"}), + 'vote': ('django.db.models.fields.SmallIntegerField', [], {}), + 'voted_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}) + }, + 'auth.group': { + 'Meta': {'object_name': 'Group'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), + 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) + }, + 'auth.permission': { + 'Meta': {'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, + 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + }, + 'auth.user': { + 'Meta': {'object_name': 'User'}, + 'about': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'bronze': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'date_of_birth': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), + 'email_isvalid': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'email_key': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), + 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'gold': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'gravatar': ('django.db.models.fields.CharField', [], {'max_length': '32'}), + 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), + 'hide_ignored_questions': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}), + 'is_approved': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'last_seen': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'location': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), + 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), + 'questions_per_page': ('django.db.models.fields.SmallIntegerField', [], {'default': '10'}), + 'real_name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), + 'reputation': ('django.db.models.fields.PositiveIntegerField', [], {'default': '1'}), + 'response_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'silver': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'tag_filter_setting': ('django.db.models.fields.CharField', [], {'default': "'ignored'", 'max_length': '16'}), + 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), + 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), + 'website': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}) + }, + 'contenttypes.contenttype': { + 'Meta': {'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, + 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + } + } + + complete_apps = [app_dir_name] diff --git a/forum/migrations/0003_copy_denorm_text_record_to_posts_for_fulltext_search.py b/askbot/migrations/0015_rename_forum_contenttypes_to_askbot.py index 3e79b9d2..854de75d 100644 --- a/forum/migrations/0003_copy_denorm_text_record_to_posts_for_fulltext_search.py +++ b/askbot/migrations/0015_rename_forum_contenttypes_to_askbot.py @@ -3,80 +3,24 @@ import datetime from south.db import db from south.v2 import DataMigration from django.db import models -from forum.models import Question, Answer class Migration(DataMigration): def forwards(self, orm): "Write your forwards methods here." - for q in orm.Question.objects.all(): - r = q.revisions.all()[0] #cannot use get_latest_revision() - q.text = r.text - q.save() - for a in orm.Answer.objects.all(): - r = a.revisions.all()[0] - a.text = r.text - a.save() + content_types = orm['contenttypes.ContentType'].objects.filter(app_label='forum') + content_types.update(app_label='askbot') + pass + def backwards(self, orm): "Write your backwards methods here." - pass#there's no need to clean data here, just delete columns + content_types = orm['contenttypes.ContentType'].objects.filter(app_label='askbot') + content_types.update(app_label='forum') + pass models = { - 'auth.group': { - 'Meta': {'object_name': 'Group'}, - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'blank': 'True'}) - }, - 'auth.permission': { - 'Meta': {'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) - }, - 'auth.user': { - 'Meta': {'object_name': 'User'}, - 'about': ('django.db.models.fields.TextField', [], {'blank': 'True'}), - 'bronze': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'date_of_birth': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), - 'email_isvalid': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'email_key': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), - 'gold': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), - 'gravatar': ('django.db.models.fields.CharField', [], {'max_length': '32'}), - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'blank': 'True'}), - 'hide_ignored_questions': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}), - 'is_approved': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), - 'last_seen': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'location': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), - 'questions_per_page': ('django.db.models.fields.SmallIntegerField', [], {'default': '10'}), - 'real_name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), - 'reputation': ('django.db.models.fields.PositiveIntegerField', [], {'default': '1'}), - 'silver': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), - 'tag_filter_setting': ('django.db.models.fields.CharField', [], {'default': "'ignored'", 'max_length': '16'}), - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'blank': 'True'}), - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), - 'website': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}) - }, - 'contenttypes.contenttype': { - 'Meta': {'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), - 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) - }, - 'forum.activity': { + 'askbot.activity': { 'Meta': {'object_name': 'Activity', 'db_table': "u'activity'"}, 'active_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), 'activity_type': ('django.db.models.fields.SmallIntegerField', [], {}), @@ -84,21 +28,22 @@ class Migration(DataMigration): 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), 'is_auditted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'receiving_users': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'received_activity'", 'symmetrical': 'False', 'to': "orm['auth.User']"}), 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) }, - 'forum.anonymousanswer': { + 'askbot.anonymousanswer': { 'Meta': {'object_name': 'AnonymousAnswer'}, 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), 'author': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}), 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), 'ip_addr': ('django.db.models.fields.IPAddressField', [], {'max_length': '15'}), - 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'anonymous_answers'", 'to': "orm['forum.Question']"}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'anonymous_answers'", 'to': "orm['askbot.Question']"}), 'session_key': ('django.db.models.fields.CharField', [], {'max_length': '40'}), 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), 'text': ('django.db.models.fields.TextField', [], {}), 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}) }, - 'forum.anonymousquestion': { + 'askbot.anonymousquestion': { 'Meta': {'object_name': 'AnonymousQuestion'}, 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), 'author': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}), @@ -111,7 +56,7 @@ class Migration(DataMigration): 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}), 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}) }, - 'forum.answer': { + 'askbot.answer': { 'Meta': {'object_name': 'Answer', 'db_table': "u'answer'"}, 'accepted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), 'accepted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), @@ -129,7 +74,7 @@ class Migration(DataMigration): 'locked_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), 'locked_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'locked_answers'", 'null': 'True', 'to': "orm['auth.User']"}), 'offensive_flag_count': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), - 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answers'", 'to': "orm['forum.Question']"}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answers'", 'to': "orm['askbot.Question']"}), 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), 'text': ('django.db.models.fields.TextField', [], {'null': 'True'}), 'vote_down_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), @@ -137,9 +82,9 @@ class Migration(DataMigration): 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), 'wikified_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}) }, - 'forum.answerrevision': { + 'askbot.answerrevision': { 'Meta': {'object_name': 'AnswerRevision', 'db_table': "u'answer_revision'"}, - 'answer': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'revisions'", 'to': "orm['forum.Answer']"}), + 'answer': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'revisions'", 'to': "orm['askbot.Answer']"}), 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answerrevisions'", 'to': "orm['auth.User']"}), 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), 'revised_at': ('django.db.models.fields.DateTimeField', [], {}), @@ -147,28 +92,20 @@ class Migration(DataMigration): 'summary': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}), 'text': ('django.db.models.fields.TextField', [], {}) }, - 'forum.authkeyuserassociation': { - 'Meta': {'object_name': 'AuthKeyUserAssociation'}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'key': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), - 'provider': ('django.db.models.fields.CharField', [], {'max_length': '64'}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'auth_keys'", 'to': "orm['auth.User']"}) - }, - 'forum.award': { + 'askbot.award': { 'Meta': {'object_name': 'Award', 'db_table': "u'award'"}, 'awarded_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'badge': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'award_badge'", 'to': "orm['forum.Badge']"}), + 'badge': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'award_badge'", 'to': "orm['askbot.Badge']"}), 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), 'notified': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'award_user'", 'to': "orm['auth.User']"}) }, - 'forum.badge': { + 'askbot.badge': { 'Meta': {'unique_together': "(('name', 'type'),)", 'object_name': 'Badge', 'db_table': "u'badge'"}, 'awarded_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), - 'awarded_to': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'badges'", 'through': "'Award'", 'to': "orm['auth.User']"}), + 'awarded_to': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'badges'", 'symmetrical': 'False', 'through': "'Award'", 'to': "orm['auth.User']"}), 'description': ('django.db.models.fields.CharField', [], {'max_length': '300'}), 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), 'multiple': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), @@ -176,68 +113,33 @@ class Migration(DataMigration): 'slug': ('django.db.models.fields.SlugField', [], {'db_index': 'True', 'max_length': '50', 'blank': 'True'}), 'type': ('django.db.models.fields.SmallIntegerField', [], {}) }, - 'forum.book': { - 'Meta': {'object_name': 'Book', 'db_table': "u'book'"}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {}), - 'author': ('django.db.models.fields.CharField', [], {'max_length': '255'}), - 'cover_img': ('django.db.models.fields.CharField', [], {'max_length': '255'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {}), - 'pages': ('django.db.models.fields.SmallIntegerField', [], {}), - 'price': ('django.db.models.fields.DecimalField', [], {'max_digits': '6', 'decimal_places': '2'}), - 'publication': ('django.db.models.fields.CharField', [], {'max_length': '255'}), - 'published_at': ('django.db.models.fields.DateTimeField', [], {}), - 'questions': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'book'", 'db_table': "'book_question'", 'to': "orm['forum.Question']"}), - 'short_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}), - 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), - 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) - }, - 'forum.bookauthorinfo': { - 'Meta': {'object_name': 'BookAuthorInfo', 'db_table': "u'book_author_info'"}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {}), - 'blog_url': ('django.db.models.fields.CharField', [], {'max_length': '255'}), - 'book': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Book']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) - }, - 'forum.bookauthorrss': { - 'Meta': {'object_name': 'BookAuthorRss', 'db_table': "u'book_author_rss'"}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {}), - 'book': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Book']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'rss_created_at': ('django.db.models.fields.DateTimeField', [], {}), - 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}), - 'url': ('django.db.models.fields.CharField', [], {'max_length': '255'}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) - }, - 'forum.comment': { + 'askbot.comment': { 'Meta': {'object_name': 'Comment', 'db_table': "u'comment'"}, 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'comment': ('django.db.models.fields.CharField', [], {'max_length': '300'}), + 'comment': ('django.db.models.fields.CharField', [], {'max_length': '2048'}), 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'html': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '2048'}), 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'comments'", 'to': "orm['auth.User']"}) }, - 'forum.emailfeedsetting': { + 'askbot.emailfeedsetting': { 'Meta': {'object_name': 'EmailFeedSetting'}, 'added_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), 'feed_type': ('django.db.models.fields.CharField', [], {'max_length': '16'}), 'frequency': ('django.db.models.fields.CharField', [], {'default': "'n'", 'max_length': '8'}), 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), 'reported_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}), - 'subscriber': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + 'subscriber': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'notification_subscriptions'", 'to': "orm['auth.User']"}) }, - 'forum.favoritequestion': { + 'askbot.favoritequestion': { 'Meta': {'object_name': 'FavoriteQuestion', 'db_table': "u'favorite_question'"}, 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Question']"}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['askbot.Question']"}), 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'user_favorite_questions'", 'to': "orm['auth.User']"}) }, - 'forum.flaggeditem': { + 'askbot.flaggeditem': { 'Meta': {'unique_together': "(('content_type', 'object_id', 'user'),)", 'object_name': 'FlaggedItem', 'db_table': "u'flagged_item'"}, 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), 'flagged_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), @@ -245,14 +147,14 @@ class Migration(DataMigration): 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'flaggeditems'", 'to': "orm['auth.User']"}) }, - 'forum.markedtag': { + 'askbot.markedtag': { 'Meta': {'object_name': 'MarkedTag'}, 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), 'reason': ('django.db.models.fields.CharField', [], {'max_length': '16'}), - 'tag': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'user_selections'", 'to': "orm['forum.Tag']"}), + 'tag': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'user_selections'", 'to': "orm['askbot.Tag']"}), 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'tag_selections'", 'to': "orm['auth.User']"}) }, - 'forum.question': { + 'askbot.question': { 'Meta': {'object_name': 'Question', 'db_table': "u'question'"}, 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), 'answer_accepted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), @@ -266,9 +168,9 @@ class Migration(DataMigration): 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_questions'", 'null': 'True', 'to': "orm['auth.User']"}), - 'favorited_by': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'favorite_questions'", 'through': "'FavoriteQuestion'", 'to': "orm['auth.User']"}), + 'favorited_by': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'favorite_questions'", 'symmetrical': 'False', 'through': "'FavoriteQuestion'", 'to': "orm['auth.User']"}), 'favourite_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), - 'followed_by': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'followed_questions'", 'to': "orm['auth.User']"}), + 'followed_by': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'followed_questions'", 'symmetrical': 'False', 'to': "orm['auth.User']"}), 'html': ('django.db.models.fields.TextField', [], {'null': 'True'}), 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), 'last_activity_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), @@ -282,7 +184,7 @@ class Migration(DataMigration): 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), - 'tags': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'questions'", 'to': "orm['forum.Tag']"}), + 'tags': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'questions'", 'symmetrical': 'False', 'to': "orm['askbot.Tag']"}), 'text': ('django.db.models.fields.TextField', [], {'null': 'True'}), 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}), 'view_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), @@ -291,11 +193,11 @@ class Migration(DataMigration): 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), 'wikified_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}) }, - 'forum.questionrevision': { + 'askbot.questionrevision': { 'Meta': {'object_name': 'QuestionRevision', 'db_table': "u'question_revision'"}, 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'questionrevisions'", 'to': "orm['auth.User']"}), 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'revisions'", 'to': "orm['forum.Question']"}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'revisions'", 'to': "orm['askbot.Question']"}), 'revised_at': ('django.db.models.fields.DateTimeField', [], {}), 'revision': ('django.db.models.fields.PositiveIntegerField', [], {}), 'summary': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}), @@ -303,25 +205,25 @@ class Migration(DataMigration): 'text': ('django.db.models.fields.TextField', [], {}), 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}) }, - 'forum.questionview': { + 'askbot.questionview': { 'Meta': {'object_name': 'QuestionView'}, 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'viewed'", 'to': "orm['forum.Question']"}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'viewed'", 'to': "orm['askbot.Question']"}), 'when': ('django.db.models.fields.DateTimeField', [], {}), 'who': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'question_views'", 'to': "orm['auth.User']"}) }, - 'forum.repute': { + 'askbot.repute': { 'Meta': {'object_name': 'Repute', 'db_table': "u'repute'"}, 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), 'negative': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), 'positive': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), - 'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Question']"}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['askbot.Question']"}), 'reputation': ('django.db.models.fields.IntegerField', [], {'default': '1'}), 'reputation_type': ('django.db.models.fields.SmallIntegerField', [], {}), 'reputed_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) }, - 'forum.tag': { + 'askbot.tag': { 'Meta': {'object_name': 'Tag', 'db_table': "u'tag'"}, 'created_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'created_tags'", 'to': "orm['auth.User']"}), 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), @@ -331,16 +233,16 @@ class Migration(DataMigration): 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), 'used_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}) }, - 'forum.validationhash': { + 'askbot.validationhash': { 'Meta': {'unique_together': "(('user', 'type'),)", 'object_name': 'ValidationHash'}, - 'expiration': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2010, 4, 25, 16, 24, 24, 604164)'}), + 'expiration': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2010, 6, 13, 23, 48, 5, 784060)'}), 'hash_code': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), 'seed': ('django.db.models.fields.CharField', [], {'max_length': '12'}), 'type': ('django.db.models.fields.CharField', [], {'max_length': '12'}), 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) }, - 'forum.vote': { + 'askbot.vote': { 'Meta': {'unique_together': "(('content_type', 'object_id', 'user'),)", 'object_name': 'Vote', 'db_table': "u'vote'"}, 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), @@ -348,7 +250,61 @@ class Migration(DataMigration): 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'votes'", 'to': "orm['auth.User']"}), 'vote': ('django.db.models.fields.SmallIntegerField', [], {}), 'voted_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}) + }, + 'auth.group': { + 'Meta': {'object_name': 'Group'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), + 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) + }, + 'auth.permission': { + 'Meta': {'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, + 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + }, + 'auth.user': { + 'Meta': {'object_name': 'User'}, + 'about': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'bronze': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'date_of_birth': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), + 'email_isvalid': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'email_key': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), + 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'gold': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'gravatar': ('django.db.models.fields.CharField', [], {'max_length': '32'}), + 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), + 'hide_ignored_questions': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}), + 'is_approved': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'last_seen': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'location': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), + 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), + 'questions_per_page': ('django.db.models.fields.SmallIntegerField', [], {'default': '10'}), + 'real_name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), + 'reputation': ('django.db.models.fields.PositiveIntegerField', [], {'default': '1'}), + 'response_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'silver': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), + 'tag_filter_setting': ('django.db.models.fields.CharField', [], {'default': "'ignored'", 'max_length': '16'}), + 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), + 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), + 'website': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}) + }, + 'contenttypes.contenttype': { + 'Meta': {'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, + 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) } } - complete_apps = ['forum'] + complete_apps = ['askbot'] diff --git a/forum/migrations/__init__.py b/askbot/migrations/__init__.py index e69de29b..e69de29b 100644 --- a/forum/migrations/__init__.py +++ b/askbot/migrations/__init__.py diff --git a/forum/models/__init__.py b/askbot/models/__init__.py index 1fb18ff9..eb8d0185 100644 --- a/forum/models/__init__.py +++ b/askbot/models/__init__.py @@ -4,7 +4,7 @@ import hashlib import datetime from django.core.urlresolvers import reverse from django.core.mail import EmailMessage -from forum.search.indexer import create_fulltext_indexes +from askbot.search.indexer import create_fulltext_indexes from django.db.models import signals as django_signals from django.template import loader, Context from django.utils.translation import ugettext as _ @@ -14,19 +14,19 @@ from django.utils.safestring import mark_safe from django.db import models from django.conf import settings as django_settings from django.contrib.contenttypes.models import ContentType -from forum import const -from forum.conf import settings as forum_settings -from forum.models.question import Question, QuestionRevision -from forum.models.question import QuestionView, AnonymousQuestion -from forum.models.question import FavoriteQuestion -from forum.models.answer import Answer, AnonymousAnswer, AnswerRevision -from forum.models.tag import Tag, MarkedTag -from forum.models.meta import Vote, Comment, FlaggedItem -from forum.models.user import Activity, ValidationHash, EmailFeedSetting -from forum.models import signals +from askbot import const +from askbot.conf import settings as askbot_settings +from askbot.models.question import Question, QuestionRevision +from askbot.models.question import QuestionView, AnonymousQuestion +from askbot.models.question import FavoriteQuestion +from askbot.models.answer import Answer, AnonymousAnswer, AnswerRevision +from askbot.models.tag import Tag, MarkedTag +from askbot.models.meta import Vote, Comment, FlaggedItem +from askbot.models.user import Activity, ValidationHash, EmailFeedSetting +from askbot.models import signals #from user import AuthKeyUserAssociation -from forum.models.repute import Badge, Award, Repute -from forum import auth +from askbot.models.repute import Badge, Award, Repute +from askbot import auth User.add_to_class('is_approved', models.BooleanField(default=False)) User.add_to_class('email_isvalid', models.BooleanField(default=False)) @@ -110,7 +110,7 @@ def get_profile_link(self): #series of methods for user vote-type commands #same call signature func(self, post, timestamp=None, cancel=None) #note that none of these have business logic checks internally -#these functions are used by the forum app and +#these functions are used by the askbot app and #by the data importer jobs from say stackexchange, where internal rules #may be different #maybe if we do use business rule checks here - we should add @@ -163,7 +163,7 @@ def _process_vote(user, post, timestamp=None, cancel=False, vote_type=None): else: #we would call vote.delete() here #but for now all that is handled by the - #legacy forum.auth functions + #legacy askbot.auth functions #vote.delete() pass else: @@ -242,7 +242,7 @@ User.add_to_class('get_messages', get_messages) User.add_to_class('delete_messages', delete_messages) User.add_to_class('toggle_favorite_question', toggle_favorite_question) -#todo: move this to forum/utils ?? +#todo: move this to askbot/utils ?? def format_instant_notification_body( to_user = None, from_user = None, @@ -257,7 +257,7 @@ def format_instant_notification_body( are supported """ - site_url = forum_settings.APP_URL + site_url = askbot_settings.APP_URL origin_post = post.get_origin_post() #todo: create a better method to access "sub-urls" in user views user_subscriptions_url = site_url + to_user.get_absolute_url() + \ @@ -349,7 +349,7 @@ def record_post_update_activity( created = False, **kwargs ): - """called upon signal forum.models.signals.post_updated + """called upon signal askbot.models.signals.post_updated which is sent at the end of save() method in posts """ assert(timestamp != None) @@ -586,8 +586,8 @@ def post_stored_anonymous_content( aq_list = AnonymousQuestion.objects.filter(session_key = session_key) aa_list = AnonymousAnswer.objects.filter(session_key = session_key) - #from forum.conf import settings as forum_settings - if forum_settings.EMAIL_VALIDATION == True:#add user to the record + #from askbot.conf import settings as askbot_settings + if askbot_settings.EMAIL_VALIDATION == True:#add user to the record for aq in aq_list: aq.author = user aq.save() diff --git a/forum/models/answer.py b/askbot/models/answer.py index fd336ffa..22951417 100644 --- a/forum/models/answer.py +++ b/askbot/models/answer.py @@ -3,12 +3,12 @@ from django.db import models from django.utils.http import urlquote as django_urlquote from django.template.defaultfilters import slugify from django.core.urlresolvers import reverse -from forum.models.base import AnonymousContent, DeletableContent -from forum.models.base import ContentRevision -from forum.models.base import parse_post_text, parse_and_save_post -from forum.models import content -from forum.models.question import Question -from forum import const +from askbot.models.base import AnonymousContent, DeletableContent +from askbot.models.base import ContentRevision +from askbot.models.base import parse_post_text, parse_and_save_post +from askbot.models import content +from askbot.models.question import Question +from askbot import const class AnswerManager(models.Manager): diff --git a/forum/models/base.py b/askbot/models/base.py index c6c196fc..8627b9e4 100644 --- a/forum/models/base.py +++ b/askbot/models/base.py @@ -4,9 +4,9 @@ from django.utils.html import strip_tags from django.contrib.auth.models import User from django.contrib.contenttypes import generic from django.contrib.contenttypes.models import ContentType -#todo: maybe merge forum.utils.markup and forum.utils.html -from forum.utils import markup -from forum.utils.html import sanitize_html +#todo: maybe merge askbot.utils.markup and forum.utils.html +from askbot.utils import markup +from askbot.utils.html import sanitize_html from django.utils import html import logging from markdown2 import Markdown @@ -44,7 +44,7 @@ def parse_post_text(post): mentioned_authors = list() removed_mentions = list() if '@' in text: - from forum.models.user import Activity + from askbot.models.user import Activity op = post.get_origin_post() anticipated_authors = op.get_author_list( @@ -125,7 +125,7 @@ def parse_and_save_post(post, author = None, **kwargs): #create new mentions for u in newly_mentioned_users: - from forum.models.user import Activity + from askbot.models.user import Activity Activity.objects.create_new_mention( mentioned_whom = u, mentioned_in = post, @@ -134,7 +134,7 @@ def parse_and_save_post(post, author = None, **kwargs): #todo: this is handled in signal because models for posts #are too spread out - from forum.models import signals + from askbot.models import signals signals.post_updated.send( post = post, updated_by = author, @@ -154,7 +154,7 @@ class UserContent(models.Model): class Meta: abstract = True - app_label = 'forum' + app_label = 'askbot' class MetaContent(models.Model): @@ -167,7 +167,7 @@ class MetaContent(models.Model): class Meta: abstract = True - app_label = 'forum' + app_label = 'askbot' class DeletableContent(models.Model): deleted = models.BooleanField(default=False) @@ -176,7 +176,7 @@ class DeletableContent(models.Model): class Meta: abstract = True - app_label = 'forum' + app_label = 'askbot' class ContentRevision(models.Model): @@ -191,7 +191,7 @@ class ContentRevision(models.Model): class Meta: abstract = True - app_label = 'forum' + app_label = 'askbot' class AnonymousContent(models.Model): @@ -208,4 +208,4 @@ class AnonymousContent(models.Model): class Meta: abstract = True - app_label = 'forum' + app_label = 'askbot' diff --git a/forum/models/content.py b/askbot/models/content.py index fd73c419..d3be3195 100644 --- a/forum/models/content.py +++ b/askbot/models/content.py @@ -4,8 +4,8 @@ from django.contrib.auth.models import User from django.contrib.contenttypes import generic from django.contrib.sitemaps import ping_google from django.db import models -from forum.models.meta import Comment, Vote, FlaggedItem -from forum.models.user import EmailFeedSetting +from askbot.models.meta import Comment, Vote, FlaggedItem +from askbot.models.user import EmailFeedSetting class Content(models.Model): """ @@ -42,7 +42,7 @@ class Content(models.Model): class Meta: abstract = True - app_label = 'forum' + app_label = 'askbot' def get_comments(self): comments = self.comments.all().order_by('id') @@ -58,7 +58,7 @@ class Content(models.Model): if None in (comment ,user): raise Exception('arguments comment and user are required') - #Comment = models.get_model('forum','Comment')#todo: forum hardcoded + #Comment = models.get_model('askbot','Comment')#todo: forum hardcoded comment = Comment( content_object=self, comment=comment, @@ -120,7 +120,7 @@ class Content(models.Model): subscriber_set.update(selective_subscribers) - #3) whole forum subscibers + #3) whole askbot subscibers global_subscribers = EmailFeedSetting.objects.filter( feed_type = 'q_all', frequency = 'i' diff --git a/forum/models/meta.py b/askbot/models/meta.py index 59becc24..00ee60c7 100644 --- a/forum/models/meta.py +++ b/askbot/models/meta.py @@ -1,8 +1,8 @@ import datetime from django.db import models -from forum import const -from forum.models import base -from forum.models.user import EmailFeedSetting +from askbot import const +from askbot.models import base +from askbot.models.user import EmailFeedSetting class VoteManager(models.Manager): def get_up_vote_count_from_user(self, user): @@ -194,7 +194,7 @@ class Comment(base.MetaContent, base.UserContent): def delete(self, **kwargs): #todo: not very good import in models of other models #todo: potentially a circular import - from forum.models.user import Activity + from askbot.models.user import Activity Activity.objects.get_mentions( mentioned_in = self ).delete() diff --git a/forum/models/question.py b/askbot/models/question.py index f24aecc7..696b747e 100644 --- a/forum/models/question.py +++ b/askbot/models/question.py @@ -9,13 +9,13 @@ from django.template.defaultfilters import slugify from django.core.urlresolvers import reverse from django.contrib.sitemaps import ping_google from django.utils.translation import ugettext as _ -from forum.models.tag import Tag, MarkedTag -from forum.models import signals -from forum.models.base import AnonymousContent, DeletableContent, ContentRevision -from forum.models.base import parse_post_text, parse_and_save_post -from forum.models import content -from forum import const -from forum.utils.lists import LazyList +from askbot.models.tag import Tag, MarkedTag +from askbot.models import signals +from askbot.models.base import AnonymousContent, DeletableContent, ContentRevision +from askbot.models.base import parse_post_text, parse_and_save_post +from askbot.models import content +from askbot import const +from askbot.utils.lists import LazyList #todo: too bad keys are duplicated see const sort methods QUESTION_ORDER_BY_MAP = { @@ -48,7 +48,7 @@ class QuestionManager(models.Manager): if question.wiki: #todo: this is confusing - last_edited_at field #is used as an indicator whether question has been edited - #in template forum/skins/default/templates/post_contributor_info.html + #in template askbot/skins/default/templates/post_contributor_info.html #but in principle, post creation should count as edit as well question.last_edited_by = question.author question.last_edited_at = added_at @@ -103,14 +103,14 @@ class QuestionManager(models.Manager): #have to import this at run time, otherwise there #a circular import dependency... - from forum.conf import settings as forum_settings + from askbot.conf import settings as askbot_settings if scope_selector: if scope_selector == 'unanswered': - if forum_settings.UNANSWERED_QUESTION_MEANING == 'NO_ANSWERS': + if askbot_settings.UNANSWERED_QUESTION_MEANING == 'NO_ANSWERS': qs = qs.filter(answer_count=0)#todo: expand for different meanings of this - elif forum_settings.UNANSWERED_QUESTION_MEANING == 'NO_ACCEPTED_ANSWERS': + elif askbot_settings.UNANSWERED_QUESTION_MEANING == 'NO_ACCEPTED_ANSWERS': qs = qs.filter(answer_accepted=False) - elif forum_settings.UNANSWERED_QUESTION_MEANING == 'NO_UPVOTED_ANSWERS': + elif askbot_settings.UNANSWERED_QUESTION_MEANING == 'NO_UPVOTED_ANSWERS': raise NotImplementedError() else: raise Exception('UNANSWERED_QUESTION_MEANING setting is wrong') @@ -137,10 +137,10 @@ class QuestionManager(models.Manager): select = SortedDict([ ( 'interesting_score', - 'SELECT COUNT(1) FROM forum_markedtag, question_tags ' - + 'WHERE forum_markedtag.user_id = %s ' - + 'AND forum_markedtag.tag_id = question_tags.tag_id ' - + 'AND forum_markedtag.reason = \'good\' ' + 'SELECT COUNT(1) FROM askbot_markedtag, question_tags ' + + 'WHERE askbot_markedtag.user_id = %s ' + + 'AND askbot_markedtag.tag_id = question_tags.tag_id ' + + 'AND askbot_markedtag.reason = \'good\' ' + 'AND question_tags.question_id = question.id' ), ]), @@ -157,10 +157,10 @@ class QuestionManager(models.Manager): select = SortedDict([ ( 'ignored_score', - 'SELECT COUNT(1) FROM forum_markedtag, question_tags ' - + 'WHERE forum_markedtag.user_id = %s ' - + 'AND forum_markedtag.tag_id = question_tags.tag_id ' - + 'AND forum_markedtag.reason = \'bad\' ' + 'SELECT COUNT(1) FROM askbot_markedtag, question_tags ' + + 'WHERE askbot_markedtag.user_id = %s ' + + 'AND askbot_markedtag.tag_id = question_tags.tag_id ' + + 'AND askbot_markedtag.reason = \'bad\' ' + 'AND question_tags.question_id = question.id' ) ]), @@ -247,7 +247,7 @@ class QuestionManager(models.Manager): # for some reasons, this Answer class failed to be imported, # although we have imported all classes from models on top. - from forum.models.answer import Answer + from askbot.models.answer import Answer self.filter(id=question.id).update( answer_count=Answer.objects.get_answers_from_question(question).filter(deleted=False).count()) @@ -497,7 +497,7 @@ class Question(content.Content, DeletableContent): return FavoriteQuestion.objects.filter(question=self, user=user).count() > 0 def get_answer_count_by_user(self, user_id): - from forum.models.answer import Answer + from askbot.models.answer import Answer query_set = Answer.objects.filter(author__id=user_id) return query_set.filter(question=self).count() @@ -557,7 +557,7 @@ class Question(content.Content, DeletableContent): answer_comments.append(comment) #create the report - from forum.conf import settings as forum_settings + from askbot.conf import settings as askbot_settings if edited or new_answers or modified_answers or answer_comments: out = [] if edited: @@ -578,7 +578,7 @@ class Question(content.Content, DeletableContent): out.append(_('%(people)s commented answers') % {'people':people}) else: out.append(_('%(people)s commented an answer') % {'people':people}) - url = forum_settings.APP_URL + self.get_absolute_url() + url = askbot_settings.APP_URL + self.get_absolute_url() retval = '<a href="%s">%s</a>:<br>\n' % (url,self.title) out = map(lambda x: '<li>' + x + '</li>',out) retval += '<ul>' + '\n'.join(out) + '</ul><br>\n' @@ -596,7 +596,7 @@ class QuestionView(models.Model): when = models.DateTimeField() class Meta: - app_label = 'forum' + app_label = 'askbot' class FavoriteQuestion(models.Model): """A favorite Question of a User.""" @@ -605,7 +605,7 @@ class FavoriteQuestion(models.Model): added_at = models.DateTimeField(default=datetime.datetime.now) class Meta: - app_label = 'forum' + app_label = 'askbot' db_table = u'favorite_question' def __unicode__(self): return '[%s] favorited at %s' %(self.user, self.added_at) diff --git a/forum/models/repute.py b/askbot/models/repute.py index bf44922b..b7b379a2 100644 --- a/forum/models/repute.py +++ b/askbot/models/repute.py @@ -4,7 +4,7 @@ from django.contrib.auth.models import User from django.db import models from django.utils.translation import ugettext as _ import datetime -from forum import const +from askbot import const from django.core.urlresolvers import reverse class Badge(models.Model): @@ -35,7 +35,7 @@ class Badge(models.Model): awarded_to = models.ManyToManyField(User, through='Award', related_name='badges') class Meta: - app_label = 'forum' + app_label = 'askbot' db_table = u'badge' ordering = ('name',) unique_together = ('name', 'type') @@ -80,7 +80,7 @@ class Award(models.Model): return u'[%s] is awarded a badge [%s] at %s' % (self.user.username, self.badge.name, self.awarded_at) class Meta: - app_label = 'forum' + app_label = 'askbot' db_table = u'award' class ReputeManager(models.Manager): @@ -127,5 +127,5 @@ class Repute(models.Model): return u'[%s]\' reputation changed at %s' % (self.user.username, self.reputed_at) class Meta: - app_label = 'forum' + app_label = 'askbot' db_table = u'repute' diff --git a/forum/models/signals.py b/askbot/models/signals.py index b4ed0d1b..b4ed0d1b 100644 --- a/forum/models/signals.py +++ b/askbot/models/signals.py diff --git a/forum/models/tag.py b/askbot/models/tag.py index 89f706f5..5b1613b7 100644 --- a/forum/models/tag.py +++ b/askbot/models/tag.py @@ -2,7 +2,7 @@ from django.db import models from django.db import connection, transaction from django.contrib.auth.models import User from django.utils.translation import ugettext as _ -from forum.models.base import DeletableContent +from askbot.models.base import DeletableContent class TagManager(models.Manager): @@ -87,4 +87,4 @@ class MarkedTag(models.Model): reason = models.CharField(max_length=16, choices=TAG_MARK_REASONS) class Meta: - app_label = 'forum' + app_label = 'askbot' diff --git a/forum/models/user.py b/askbot/models/user.py index c0e05144..d06c4ed2 100644 --- a/forum/models/user.py +++ b/askbot/models/user.py @@ -9,8 +9,8 @@ from django.contrib.contenttypes.models import ContentType from django.contrib.contenttypes import generic from django.contrib.auth.models import User from django.utils.translation import ugettext as _ -from forum import const -from forum.utils import functions +from askbot import const +from askbot.utils import functions class ResponseAndMentionActivityManager(models.Manager): @@ -153,7 +153,7 @@ class Activity(models.Model): return u'[%s] was active at %s' % (self.user.username, self.active_at) class Meta: - app_label = 'forum' + app_label = 'askbot' db_table = u'activity' def get_mentioned_user(self): @@ -173,7 +173,7 @@ class EmailFeedSetting(models.Model): 'n':datetime.timedelta(-1), } FEED_TYPES = ( - ('q_all',_('Entire forum')), + ('q_all',_('Entire askbot')), ('q_ask',_('Questions that I asked')), ('q_ans',_('Questions that I answered')), ('q_sel',_('Individually selected questions')), @@ -251,9 +251,9 @@ class EmailFeedSetting(models.Model): self.save() class Meta: - app_label = 'forum' + app_label = 'askbot' -from forum.utils.time import one_day_from_now +from askbot.utils.time import one_day_from_now class ValidationHashManager(models.Manager): def _generate_md5_hash(self, user, type, hash_data, seed): @@ -325,7 +325,7 @@ class ValidationHash(models.Model): class Meta: unique_together = ('user', 'type') - app_label = 'forum' + app_label = 'askbot' def __str__(self): return self.hash_code @@ -337,4 +337,4 @@ class ValidationHash(models.Model): # added_at = models.DateTimeField(default=datetime.datetime.now) # # class Meta: -# app_label = 'forum' +# app_label = 'askbot' diff --git a/forum/search/README b/askbot/search/README index c15dc221..c15dc221 100644 --- a/forum/search/README +++ b/askbot/search/README diff --git a/forum/search/__init__.py b/askbot/search/__init__.py index e69de29b..e69de29b 100644 --- a/forum/search/__init__.py +++ b/askbot/search/__init__.py diff --git a/forum/search/indexer.py b/askbot/search/indexer.py index c7c45c59..c7c45c59 100644 --- a/forum/search/indexer.py +++ b/askbot/search/indexer.py diff --git a/forum/search/sphinx/README b/askbot/search/sphinx/README index 8c008a23..8c008a23 100644 --- a/forum/search/sphinx/README +++ b/askbot/search/sphinx/README diff --git a/forum/search/sphinx/sphinx.conf b/askbot/search/sphinx/sphinx.conf index bf4bdc8b..bf4bdc8b 100644 --- a/forum/search/sphinx/sphinx.conf +++ b/askbot/search/sphinx/sphinx.conf diff --git a/forum/search/state_manager.py b/askbot/search/state_manager.py index fda4bcb9..f8643e31 100644 --- a/forum/search/state_manager.py +++ b/askbot/search/state_manager.py @@ -1,8 +1,8 @@ #search state manager object #that lives in the session and takes care of the state #persistece during the search session -from forum import const -from forum.conf import settings as forum_settings +from askbot import const +from askbot.conf import settings as askbot_settings import logging ACTIVE_COMMANDS = ( @@ -25,7 +25,7 @@ class SearchState(object): self.tags = None self.author = None self.sort = const.DEFAULT_POST_SORT_METHOD - self.page_size = int(forum_settings.DEFAULT_QUESTIONS_PAGE_SIZE) + self.page_size = int(askbot_settings.DEFAULT_QUESTIONS_PAGE_SIZE) self.page = 1 self.logged_in = False logging.debug('new search state initialized') diff --git a/forum/settings.py b/askbot/settings.py index 95e9bf81..7d39e7c0 100644 --- a/forum/settings.py +++ b/askbot/settings.py @@ -1,30 +1,30 @@ #todo: this file is currently not in use import os -from forum.deps.livesettings import ConfigurationGroup, IntegerValue, config_register +from askbot.deps.livesettings import ConfigurationGroup, IntegerValue, config_register -INSTALLED_APPS = ['forum'] +INSTALLED_APPS = ['askbot'] MIDDLEWARE_CLASSES = [ 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', - 'forum.middleware.anon_user.ConnectToSessionMessagesMiddleware', - 'forum.middleware.pagesize.QuestionsPageSizeMiddleware', - 'forum.middleware.cancel.CancelActionMiddleware', + 'askbot.middleware.anon_user.ConnectToSessionMessagesMiddleware', + 'askbot.middleware.pagesize.QuestionsPageSizeMiddleware', + 'askbot.middleware.cancel.CancelActionMiddleware', 'django.middleware.transaction.TransactionMiddleware', ] TEMPLATE_LOADERS = [ 'django.template.loaders.filesystem.load_template_source', 'django.template.loaders.app_directories.load_template_source', - 'forum.modules.module_templates_loader', - 'forum.skins.load_template_source', + 'askbot.modules.module_templates_loader', + 'askbot.skins.load_template_source', ] TEMPLATE_CONTEXT_PROCESSORS = [ 'django.core.context_processors.request', - 'forum.context.application_settings', - 'forum.user_messages.context_processors.user_messages', + 'askbot.context.application_settings', + 'askbot.user_messages.context_processors.user_messages', 'django.core.context_processors.auth', ] diff --git a/forum/sitemap.py b/askbot/sitemap.py index c0c60b5e..0f8f7451 100644 --- a/forum/sitemap.py +++ b/askbot/sitemap.py @@ -1,5 +1,5 @@ from django.contrib.sitemaps import Sitemap -from forum.models import Question +from askbot.models import Question class QuestionsSitemap(Sitemap): changefreq = 'daily' diff --git a/forum/skins/README b/askbot/skins/README index 01ef0a9d..01ef0a9d 100755 --- a/forum/skins/README +++ b/askbot/skins/README diff --git a/forum/skins/__init__.py b/askbot/skins/__init__.py index e69de29b..e69de29b 100644 --- a/forum/skins/__init__.py +++ b/askbot/skins/__init__.py diff --git a/forum/skins/common/media/README b/askbot/skins/common/media/README index 3376e754..3376e754 100755 --- a/forum/skins/common/media/README +++ b/askbot/skins/common/media/README diff --git a/forum/skins/common/media/js/closure/README.rst b/askbot/skins/common/media/js/closure/README.rst index b7423694..b7423694 100644 --- a/forum/skins/common/media/js/closure/README.rst +++ b/askbot/skins/common/media/js/closure/README.rst diff --git a/forum/skins/common/media/js/closure/setup-closure.sh b/askbot/skins/common/media/js/closure/setup-closure.sh index a3ebaf75..a3ebaf75 100644 --- a/forum/skins/common/media/js/closure/setup-closure.sh +++ b/askbot/skins/common/media/js/closure/setup-closure.sh diff --git a/forum/skins/default/media/images/blue-up-arrow-h18px.png b/askbot/skins/default/media/images/blue-up-arrow-h18px.png Binary files differindex e1f29e86..e1f29e86 100755 --- a/forum/skins/default/media/images/blue-up-arrow-h18px.png +++ b/askbot/skins/default/media/images/blue-up-arrow-h18px.png diff --git a/forum/skins/default/media/images/box-arrow.gif b/askbot/skins/default/media/images/box-arrow.gif Binary files differindex 89dcf5b3..89dcf5b3 100755 --- a/forum/skins/default/media/images/box-arrow.gif +++ b/askbot/skins/default/media/images/box-arrow.gif diff --git a/forum/skins/default/media/images/bullet_green.gif b/askbot/skins/default/media/images/bullet_green.gif Binary files differindex fa530910..fa530910 100755 --- a/forum/skins/default/media/images/bullet_green.gif +++ b/askbot/skins/default/media/images/bullet_green.gif diff --git a/forum/skins/default/media/images/cc-88x31.png b/askbot/skins/default/media/images/cc-88x31.png Binary files differindex 0f2a0f10..0f2a0f10 100755 --- a/forum/skins/default/media/images/cc-88x31.png +++ b/askbot/skins/default/media/images/cc-88x31.png diff --git a/forum/skins/default/media/images/cc-wiki.png b/askbot/skins/default/media/images/cc-wiki.png Binary files differindex 3e680538..3e680538 100755 --- a/forum/skins/default/media/images/cc-wiki.png +++ b/askbot/skins/default/media/images/cc-wiki.png diff --git a/forum/skins/default/media/images/close-small-dark.png b/askbot/skins/default/media/images/close-small-dark.png Binary files differindex 280c1fc7..280c1fc7 100755 --- a/forum/skins/default/media/images/close-small-dark.png +++ b/askbot/skins/default/media/images/close-small-dark.png diff --git a/forum/skins/default/media/images/close-small-hover.png b/askbot/skins/default/media/images/close-small-hover.png Binary files differindex 7899aec7..7899aec7 100755 --- a/forum/skins/default/media/images/close-small-hover.png +++ b/askbot/skins/default/media/images/close-small-hover.png diff --git a/forum/skins/default/media/images/close-small.png b/askbot/skins/default/media/images/close-small.png Binary files differindex 5a99d31f..5a99d31f 100755 --- a/forum/skins/default/media/images/close-small.png +++ b/askbot/skins/default/media/images/close-small.png diff --git a/forum/skins/default/media/images/dash.gif b/askbot/skins/default/media/images/dash.gif Binary files differindex d1ddc507..d1ddc507 100755 --- a/forum/skins/default/media/images/dash.gif +++ b/askbot/skins/default/media/images/dash.gif diff --git a/forum/skins/default/media/images/djangomade124x25_grey.gif b/askbot/skins/default/media/images/djangomade124x25_grey.gif Binary files differindex d34bb311..d34bb311 100755 --- a/forum/skins/default/media/images/djangomade124x25_grey.gif +++ b/askbot/skins/default/media/images/djangomade124x25_grey.gif diff --git a/forum/skins/default/media/images/dot-g.gif b/askbot/skins/default/media/images/dot-g.gif Binary files differindex 5d6bb28e..5d6bb28e 100755 --- a/forum/skins/default/media/images/dot-g.gif +++ b/askbot/skins/default/media/images/dot-g.gif diff --git a/forum/skins/default/media/images/dot-list.gif b/askbot/skins/default/media/images/dot-list.gif Binary files differindex f6a6b865..f6a6b865 100755 --- a/forum/skins/default/media/images/dot-list.gif +++ b/askbot/skins/default/media/images/dot-list.gif diff --git a/forum/skins/default/media/images/edit.png b/askbot/skins/default/media/images/edit.png Binary files differindex dcb09be0..dcb09be0 100755 --- a/forum/skins/default/media/images/edit.png +++ b/askbot/skins/default/media/images/edit.png diff --git a/forum/skins/default/media/images/expander-arrow-hide.gif b/askbot/skins/default/media/images/expander-arrow-hide.gif Binary files differindex feb6a618..feb6a618 100755 --- a/forum/skins/default/media/images/expander-arrow-hide.gif +++ b/askbot/skins/default/media/images/expander-arrow-hide.gif diff --git a/forum/skins/default/media/images/expander-arrow-show.gif b/askbot/skins/default/media/images/expander-arrow-show.gif Binary files differindex 6825c56e..6825c56e 100755 --- a/forum/skins/default/media/images/expander-arrow-show.gif +++ b/askbot/skins/default/media/images/expander-arrow-show.gif diff --git a/forum/skins/default/media/images/favicon.gif b/askbot/skins/default/media/images/favicon.gif Binary files differindex f7f9061b..f7f9061b 100644 --- a/forum/skins/default/media/images/favicon.gif +++ b/askbot/skins/default/media/images/favicon.gif diff --git a/forum/skins/default/media/images/feed-icon-small.png b/askbot/skins/default/media/images/feed-icon-small.png Binary files differindex b3c949d2..b3c949d2 100755 --- a/forum/skins/default/media/images/feed-icon-small.png +++ b/askbot/skins/default/media/images/feed-icon-small.png diff --git a/forum/skins/default/media/images/gray-up-arrow-h18px.png b/askbot/skins/default/media/images/gray-up-arrow-h18px.png Binary files differindex 78767445..78767445 100755 --- a/forum/skins/default/media/images/gray-up-arrow-h18px.png +++ b/askbot/skins/default/media/images/gray-up-arrow-h18px.png diff --git a/forum/skins/default/media/images/grippie.png b/askbot/skins/default/media/images/grippie.png Binary files differindex 6524d416..6524d416 100755 --- a/forum/skins/default/media/images/grippie.png +++ b/askbot/skins/default/media/images/grippie.png diff --git a/forum/skins/default/media/images/indicator.gif b/askbot/skins/default/media/images/indicator.gif Binary files differindex 1c72ebb5..1c72ebb5 100755 --- a/forum/skins/default/media/images/indicator.gif +++ b/askbot/skins/default/media/images/indicator.gif diff --git a/forum/skins/default/media/images/logo.gif b/askbot/skins/default/media/images/logo.gif Binary files differindex 03eb79f4..03eb79f4 100644 --- a/forum/skins/default/media/images/logo.gif +++ b/askbot/skins/default/media/images/logo.gif diff --git a/forum/skins/default/media/images/logo.png b/askbot/skins/default/media/images/logo.png Binary files differindex 10559161..10559161 100644 --- a/forum/skins/default/media/images/logo.png +++ b/askbot/skins/default/media/images/logo.png diff --git a/forum/skins/default/media/images/logo1.png b/askbot/skins/default/media/images/logo1.png Binary files differindex d79a6271..d79a6271 100755 --- a/forum/skins/default/media/images/logo1.png +++ b/askbot/skins/default/media/images/logo1.png diff --git a/forum/skins/default/media/images/logo2.png b/askbot/skins/default/media/images/logo2.png Binary files differindex bd3cccd9..bd3cccd9 100755 --- a/forum/skins/default/media/images/logo2.png +++ b/askbot/skins/default/media/images/logo2.png diff --git a/forum/skins/default/media/images/mail-envelope-empty.png b/askbot/skins/default/media/images/mail-envelope-empty.png Binary files differindex 0fde87dc..0fde87dc 100644 --- a/forum/skins/default/media/images/mail-envelope-empty.png +++ b/askbot/skins/default/media/images/mail-envelope-empty.png diff --git a/forum/skins/default/media/images/mail-envelope-full.png b/askbot/skins/default/media/images/mail-envelope-full.png Binary files differindex 2277e919..2277e919 100644 --- a/forum/skins/default/media/images/mail-envelope-full.png +++ b/askbot/skins/default/media/images/mail-envelope-full.png diff --git a/forum/skins/default/media/images/medala.gif b/askbot/skins/default/media/images/medala.gif Binary files differindex 93dd1a39..93dd1a39 100755 --- a/forum/skins/default/media/images/medala.gif +++ b/askbot/skins/default/media/images/medala.gif diff --git a/forum/skins/default/media/images/medala_on.gif b/askbot/skins/default/media/images/medala_on.gif Binary files differindex a18f9e85..a18f9e85 100755 --- a/forum/skins/default/media/images/medala_on.gif +++ b/askbot/skins/default/media/images/medala_on.gif diff --git a/forum/skins/default/media/images/new.gif b/askbot/skins/default/media/images/new.gif Binary files differindex 8a220b53..8a220b53 100755 --- a/forum/skins/default/media/images/new.gif +++ b/askbot/skins/default/media/images/new.gif diff --git a/forum/skins/default/media/images/nophoto.png b/askbot/skins/default/media/images/nophoto.png Binary files differindex 2daf0ffd..2daf0ffd 100755 --- a/forum/skins/default/media/images/nophoto.png +++ b/askbot/skins/default/media/images/nophoto.png diff --git a/forum/skins/default/media/images/openid.gif b/askbot/skins/default/media/images/openid.gif Binary files differindex 8540e12b..8540e12b 100755 --- a/forum/skins/default/media/images/openid.gif +++ b/askbot/skins/default/media/images/openid.gif diff --git a/forum/skins/default/media/images/openid/aol.gif b/askbot/skins/default/media/images/openid/aol.gif Binary files differindex decc4f12..decc4f12 100755 --- a/forum/skins/default/media/images/openid/aol.gif +++ b/askbot/skins/default/media/images/openid/aol.gif diff --git a/forum/skins/default/media/images/openid/blogger.ico b/askbot/skins/default/media/images/openid/blogger.ico Binary files differindex 1b9730b0..1b9730b0 100755 --- a/forum/skins/default/media/images/openid/blogger.ico +++ b/askbot/skins/default/media/images/openid/blogger.ico diff --git a/forum/skins/default/media/images/openid/claimid.ico b/askbot/skins/default/media/images/openid/claimid.ico Binary files differindex 2b80f491..2b80f491 100755 --- a/forum/skins/default/media/images/openid/claimid.ico +++ b/askbot/skins/default/media/images/openid/claimid.ico diff --git a/forum/skins/default/media/images/openid/facebook.gif b/askbot/skins/default/media/images/openid/facebook.gif Binary files differindex b997b358..b997b358 100755 --- a/forum/skins/default/media/images/openid/facebook.gif +++ b/askbot/skins/default/media/images/openid/facebook.gif diff --git a/forum/skins/default/media/images/openid/flickr.ico b/askbot/skins/default/media/images/openid/flickr.ico Binary files differindex 11f6e07f..11f6e07f 100755 --- a/forum/skins/default/media/images/openid/flickr.ico +++ b/askbot/skins/default/media/images/openid/flickr.ico diff --git a/forum/skins/default/media/images/openid/google.gif b/askbot/skins/default/media/images/openid/google.gif Binary files differindex 1b6cd07b..1b6cd07b 100755 --- a/forum/skins/default/media/images/openid/google.gif +++ b/askbot/skins/default/media/images/openid/google.gif diff --git a/forum/skins/default/media/images/openid/livejournal.ico b/askbot/skins/default/media/images/openid/livejournal.ico Binary files differindex f3d21ec5..f3d21ec5 100755 --- a/forum/skins/default/media/images/openid/livejournal.ico +++ b/askbot/skins/default/media/images/openid/livejournal.ico diff --git a/forum/skins/default/media/images/openid/myopenid.ico b/askbot/skins/default/media/images/openid/myopenid.ico Binary files differindex ceb06e6a..ceb06e6a 100755 --- a/forum/skins/default/media/images/openid/myopenid.ico +++ b/askbot/skins/default/media/images/openid/myopenid.ico diff --git a/forum/skins/default/media/images/openid/openid-inputicon.gif b/askbot/skins/default/media/images/openid/openid-inputicon.gif Binary files differindex cde836c8..cde836c8 100755 --- a/forum/skins/default/media/images/openid/openid-inputicon.gif +++ b/askbot/skins/default/media/images/openid/openid-inputicon.gif diff --git a/forum/skins/default/media/images/openid/openid.gif b/askbot/skins/default/media/images/openid/openid.gif Binary files differindex c718b0e6..c718b0e6 100755 --- a/forum/skins/default/media/images/openid/openid.gif +++ b/askbot/skins/default/media/images/openid/openid.gif diff --git a/forum/skins/default/media/images/openid/technorati.ico b/askbot/skins/default/media/images/openid/technorati.ico Binary files differindex fa1083c1..fa1083c1 100755 --- a/forum/skins/default/media/images/openid/technorati.ico +++ b/askbot/skins/default/media/images/openid/technorati.ico diff --git a/forum/skins/default/media/images/openid/twitter.png b/askbot/skins/default/media/images/openid/twitter.png Binary files differindex 9a6552d1..9a6552d1 100755 --- a/forum/skins/default/media/images/openid/twitter.png +++ b/askbot/skins/default/media/images/openid/twitter.png diff --git a/forum/skins/default/media/images/openid/verisign.ico b/askbot/skins/default/media/images/openid/verisign.ico Binary files differindex 3953af93..3953af93 100755 --- a/forum/skins/default/media/images/openid/verisign.ico +++ b/askbot/skins/default/media/images/openid/verisign.ico diff --git a/forum/skins/default/media/images/openid/vidoop.ico b/askbot/skins/default/media/images/openid/vidoop.ico Binary files differindex bbd9a0d5..bbd9a0d5 100755 --- a/forum/skins/default/media/images/openid/vidoop.ico +++ b/askbot/skins/default/media/images/openid/vidoop.ico diff --git a/forum/skins/default/media/images/openid/wordpress.ico b/askbot/skins/default/media/images/openid/wordpress.ico Binary files differindex 31b7d2c2..31b7d2c2 100755 --- a/forum/skins/default/media/images/openid/wordpress.ico +++ b/askbot/skins/default/media/images/openid/wordpress.ico diff --git a/forum/skins/default/media/images/openid/yahoo.gif b/askbot/skins/default/media/images/openid/yahoo.gif Binary files differindex 0f0eb8ef..0f0eb8ef 100755 --- a/forum/skins/default/media/images/openid/yahoo.gif +++ b/askbot/skins/default/media/images/openid/yahoo.gif diff --git a/forum/skins/default/media/images/quest-bg.gif b/askbot/skins/default/media/images/quest-bg.gif Binary files differindex b7540238..b7540238 100755 --- a/forum/skins/default/media/images/quest-bg.gif +++ b/askbot/skins/default/media/images/quest-bg.gif diff --git a/forum/skins/default/media/images/vote-accepted-on.png b/askbot/skins/default/media/images/vote-accepted-on.png Binary files differindex 2026f3bc..2026f3bc 100755 --- a/forum/skins/default/media/images/vote-accepted-on.png +++ b/askbot/skins/default/media/images/vote-accepted-on.png diff --git a/forum/skins/default/media/images/vote-accepted.png b/askbot/skins/default/media/images/vote-accepted.png Binary files differindex ecd18551..ecd18551 100755 --- a/forum/skins/default/media/images/vote-accepted.png +++ b/askbot/skins/default/media/images/vote-accepted.png diff --git a/forum/skins/default/media/images/vote-arrow-down-on.png b/askbot/skins/default/media/images/vote-arrow-down-on.png Binary files differindex 048dbb44..048dbb44 100755 --- a/forum/skins/default/media/images/vote-arrow-down-on.png +++ b/askbot/skins/default/media/images/vote-arrow-down-on.png diff --git a/forum/skins/default/media/images/vote-arrow-down.png b/askbot/skins/default/media/images/vote-arrow-down.png Binary files differindex e4fdec0a..e4fdec0a 100755 --- a/forum/skins/default/media/images/vote-arrow-down.png +++ b/askbot/skins/default/media/images/vote-arrow-down.png diff --git a/forum/skins/default/media/images/vote-arrow-up-on.png b/askbot/skins/default/media/images/vote-arrow-up-on.png Binary files differindex 56ad0c25..56ad0c25 100755 --- a/forum/skins/default/media/images/vote-arrow-up-on.png +++ b/askbot/skins/default/media/images/vote-arrow-up-on.png diff --git a/forum/skins/default/media/images/vote-arrow-up.png b/askbot/skins/default/media/images/vote-arrow-up.png Binary files differindex 6e9a51c7..6e9a51c7 100755 --- a/forum/skins/default/media/images/vote-arrow-up.png +++ b/askbot/skins/default/media/images/vote-arrow-up.png diff --git a/forum/skins/default/media/images/vote-favorite-off.png b/askbot/skins/default/media/images/vote-favorite-off.png Binary files differindex c1bef074..c1bef074 100755 --- a/forum/skins/default/media/images/vote-favorite-off.png +++ b/askbot/skins/default/media/images/vote-favorite-off.png diff --git a/forum/skins/default/media/images/vote-favorite-on.png b/askbot/skins/default/media/images/vote-favorite-on.png Binary files differindex 1f9c14ab..1f9c14ab 100755 --- a/forum/skins/default/media/images/vote-favorite-on.png +++ b/askbot/skins/default/media/images/vote-favorite-on.png diff --git a/forum/skins/default/media/jquery-openid/images/aol.gif b/askbot/skins/default/media/jquery-openid/images/aol.gif Binary files differindex decc4f12..decc4f12 100755 --- a/forum/skins/default/media/jquery-openid/images/aol.gif +++ b/askbot/skins/default/media/jquery-openid/images/aol.gif diff --git a/forum/skins/default/media/jquery-openid/images/blogger-1.png b/askbot/skins/default/media/jquery-openid/images/blogger-1.png Binary files differindex 8b360ea5..8b360ea5 100755 --- a/forum/skins/default/media/jquery-openid/images/blogger-1.png +++ b/askbot/skins/default/media/jquery-openid/images/blogger-1.png diff --git a/forum/skins/default/media/jquery-openid/images/blogger.ico b/askbot/skins/default/media/jquery-openid/images/blogger.ico Binary files differindex 1b9730b0..1b9730b0 100755 --- a/forum/skins/default/media/jquery-openid/images/blogger.ico +++ b/askbot/skins/default/media/jquery-openid/images/blogger.ico diff --git a/forum/skins/default/media/jquery-openid/images/claimid-0.png b/askbot/skins/default/media/jquery-openid/images/claimid-0.png Binary files differindex 4a0ea1b3..4a0ea1b3 100755 --- a/forum/skins/default/media/jquery-openid/images/claimid-0.png +++ b/askbot/skins/default/media/jquery-openid/images/claimid-0.png diff --git a/forum/skins/default/media/jquery-openid/images/claimid.ico b/askbot/skins/default/media/jquery-openid/images/claimid.ico Binary files differindex 2b80f491..2b80f491 100755 --- a/forum/skins/default/media/jquery-openid/images/claimid.ico +++ b/askbot/skins/default/media/jquery-openid/images/claimid.ico diff --git a/forum/skins/default/media/jquery-openid/images/facebook.gif b/askbot/skins/default/media/jquery-openid/images/facebook.gif Binary files differindex b997b358..b997b358 100755 --- a/forum/skins/default/media/jquery-openid/images/facebook.gif +++ b/askbot/skins/default/media/jquery-openid/images/facebook.gif diff --git a/forum/skins/default/media/jquery-openid/images/flickr.ico b/askbot/skins/default/media/jquery-openid/images/flickr.ico Binary files differindex 11f6e07f..11f6e07f 100755 --- a/forum/skins/default/media/jquery-openid/images/flickr.ico +++ b/askbot/skins/default/media/jquery-openid/images/flickr.ico diff --git a/forum/skins/default/media/jquery-openid/images/flickr.png b/askbot/skins/default/media/jquery-openid/images/flickr.png Binary files differindex 142405a6..142405a6 100755 --- a/forum/skins/default/media/jquery-openid/images/flickr.png +++ b/askbot/skins/default/media/jquery-openid/images/flickr.png diff --git a/forum/skins/default/media/jquery-openid/images/google.gif b/askbot/skins/default/media/jquery-openid/images/google.gif Binary files differindex 1b6cd07b..1b6cd07b 100755 --- a/forum/skins/default/media/jquery-openid/images/google.gif +++ b/askbot/skins/default/media/jquery-openid/images/google.gif diff --git a/forum/skins/default/media/jquery-openid/images/livejournal-1.png b/askbot/skins/default/media/jquery-openid/images/livejournal-1.png Binary files differindex e6436081..e6436081 100755 --- a/forum/skins/default/media/jquery-openid/images/livejournal-1.png +++ b/askbot/skins/default/media/jquery-openid/images/livejournal-1.png diff --git a/forum/skins/default/media/jquery-openid/images/livejournal.ico b/askbot/skins/default/media/jquery-openid/images/livejournal.ico Binary files differindex f3d21ec5..f3d21ec5 100755 --- a/forum/skins/default/media/jquery-openid/images/livejournal.ico +++ b/askbot/skins/default/media/jquery-openid/images/livejournal.ico diff --git a/forum/skins/default/media/jquery-openid/images/myopenid-2.png b/askbot/skins/default/media/jquery-openid/images/myopenid-2.png Binary files differindex f64fb8e8..f64fb8e8 100755 --- a/forum/skins/default/media/jquery-openid/images/myopenid-2.png +++ b/askbot/skins/default/media/jquery-openid/images/myopenid-2.png diff --git a/forum/skins/default/media/jquery-openid/images/myopenid.ico b/askbot/skins/default/media/jquery-openid/images/myopenid.ico Binary files differindex ceb06e6a..ceb06e6a 100755 --- a/forum/skins/default/media/jquery-openid/images/myopenid.ico +++ b/askbot/skins/default/media/jquery-openid/images/myopenid.ico diff --git a/forum/skins/default/media/jquery-openid/images/openid-inputicon.gif b/askbot/skins/default/media/jquery-openid/images/openid-inputicon.gif Binary files differindex cde836c8..cde836c8 100755 --- a/forum/skins/default/media/jquery-openid/images/openid-inputicon.gif +++ b/askbot/skins/default/media/jquery-openid/images/openid-inputicon.gif diff --git a/forum/skins/default/media/jquery-openid/images/openid.gif b/askbot/skins/default/media/jquery-openid/images/openid.gif Binary files differindex c718b0e6..c718b0e6 100755 --- a/forum/skins/default/media/jquery-openid/images/openid.gif +++ b/askbot/skins/default/media/jquery-openid/images/openid.gif diff --git a/forum/skins/default/media/jquery-openid/images/openidico.png b/askbot/skins/default/media/jquery-openid/images/openidico.png Binary files differindex ab622669..ab622669 100755 --- a/forum/skins/default/media/jquery-openid/images/openidico.png +++ b/askbot/skins/default/media/jquery-openid/images/openidico.png diff --git a/forum/skins/default/media/jquery-openid/images/openidico16.png b/askbot/skins/default/media/jquery-openid/images/openidico16.png Binary files differindex ad718ac5..ad718ac5 100755 --- a/forum/skins/default/media/jquery-openid/images/openidico16.png +++ b/askbot/skins/default/media/jquery-openid/images/openidico16.png diff --git a/forum/skins/default/media/jquery-openid/images/technorati-1.png b/askbot/skins/default/media/jquery-openid/images/technorati-1.png Binary files differindex f7195240..f7195240 100755 --- a/forum/skins/default/media/jquery-openid/images/technorati-1.png +++ b/askbot/skins/default/media/jquery-openid/images/technorati-1.png diff --git a/forum/skins/default/media/jquery-openid/images/technorati.ico b/askbot/skins/default/media/jquery-openid/images/technorati.ico Binary files differindex fa1083c1..fa1083c1 100755 --- a/forum/skins/default/media/jquery-openid/images/technorati.ico +++ b/askbot/skins/default/media/jquery-openid/images/technorati.ico diff --git a/forum/skins/default/media/jquery-openid/images/verisign-2.png b/askbot/skins/default/media/jquery-openid/images/verisign-2.png Binary files differindex c1467008..c1467008 100755 --- a/forum/skins/default/media/jquery-openid/images/verisign-2.png +++ b/askbot/skins/default/media/jquery-openid/images/verisign-2.png diff --git a/forum/skins/default/media/jquery-openid/images/verisign.ico b/askbot/skins/default/media/jquery-openid/images/verisign.ico Binary files differindex 3953af93..3953af93 100755 --- a/forum/skins/default/media/jquery-openid/images/verisign.ico +++ b/askbot/skins/default/media/jquery-openid/images/verisign.ico diff --git a/forum/skins/default/media/jquery-openid/images/vidoop.ico b/askbot/skins/default/media/jquery-openid/images/vidoop.ico Binary files differindex bbd9a0d5..bbd9a0d5 100755 --- a/forum/skins/default/media/jquery-openid/images/vidoop.ico +++ b/askbot/skins/default/media/jquery-openid/images/vidoop.ico diff --git a/forum/skins/default/media/jquery-openid/images/vidoop.png b/askbot/skins/default/media/jquery-openid/images/vidoop.png Binary files differindex 032c9e98..032c9e98 100755 --- a/forum/skins/default/media/jquery-openid/images/vidoop.png +++ b/askbot/skins/default/media/jquery-openid/images/vidoop.png diff --git a/forum/skins/default/media/jquery-openid/images/wordpress.ico b/askbot/skins/default/media/jquery-openid/images/wordpress.ico Binary files differindex 31b7d2c2..31b7d2c2 100755 --- a/forum/skins/default/media/jquery-openid/images/wordpress.ico +++ b/askbot/skins/default/media/jquery-openid/images/wordpress.ico diff --git a/forum/skins/default/media/jquery-openid/images/wordpress.png b/askbot/skins/default/media/jquery-openid/images/wordpress.png Binary files differindex ee29f0cf..ee29f0cf 100755 --- a/forum/skins/default/media/jquery-openid/images/wordpress.png +++ b/askbot/skins/default/media/jquery-openid/images/wordpress.png diff --git a/forum/skins/default/media/jquery-openid/images/yahoo.gif b/askbot/skins/default/media/jquery-openid/images/yahoo.gif Binary files differindex 42adbfa5..42adbfa5 100755 --- a/forum/skins/default/media/jquery-openid/images/yahoo.gif +++ b/askbot/skins/default/media/jquery-openid/images/yahoo.gif diff --git a/forum/skins/default/media/jquery-openid/jquery.openid.js b/askbot/skins/default/media/jquery-openid/jquery.openid.js index eae7b3ea..eae7b3ea 100755 --- a/forum/skins/default/media/jquery-openid/jquery.openid.js +++ b/askbot/skins/default/media/jquery-openid/jquery.openid.js diff --git a/forum/skins/default/media/jquery-openid/openid.css b/askbot/skins/default/media/jquery-openid/openid.css index 307d5624..307d5624 100755 --- a/forum/skins/default/media/jquery-openid/openid.css +++ b/askbot/skins/default/media/jquery-openid/openid.css diff --git a/forum/skins/default/media/js/com.cnprog.admin.js b/askbot/skins/default/media/js/com.cnprog.admin.js index 39dff48c..39dff48c 100644 --- a/forum/skins/default/media/js/com.cnprog.admin.js +++ b/askbot/skins/default/media/js/com.cnprog.admin.js diff --git a/forum/skins/default/media/js/com.cnprog.editor.js b/askbot/skins/default/media/js/com.cnprog.editor.js index 18cc5166..18cc5166 100644 --- a/forum/skins/default/media/js/com.cnprog.editor.js +++ b/askbot/skins/default/media/js/com.cnprog.editor.js diff --git a/forum/skins/default/media/js/com.cnprog.i18n.js b/askbot/skins/default/media/js/com.cnprog.i18n.js index 54c3806f..54c3806f 100644 --- a/forum/skins/default/media/js/com.cnprog.i18n.js +++ b/askbot/skins/default/media/js/com.cnprog.i18n.js diff --git a/forum/skins/default/media/js/com.cnprog.post.js b/askbot/skins/default/media/js/com.cnprog.post.js index 7c064acf..7c064acf 100755 --- a/forum/skins/default/media/js/com.cnprog.post.js +++ b/askbot/skins/default/media/js/com.cnprog.post.js diff --git a/forum/skins/default/media/js/com.cnprog.tag_selector.js b/askbot/skins/default/media/js/com.cnprog.tag_selector.js index e3279e65..e3279e65 100644 --- a/forum/skins/default/media/js/com.cnprog.tag_selector.js +++ b/askbot/skins/default/media/js/com.cnprog.tag_selector.js diff --git a/forum/skins/default/media/js/com.cnprog.utils.js b/askbot/skins/default/media/js/com.cnprog.utils.js index 3b816ed7..3b816ed7 100644 --- a/forum/skins/default/media/js/com.cnprog.utils.js +++ b/askbot/skins/default/media/js/com.cnprog.utils.js diff --git a/forum/skins/default/media/js/compress.bat b/askbot/skins/default/media/js/compress.bat index 5b2673cf..5b2673cf 100755 --- a/forum/skins/default/media/js/compress.bat +++ b/askbot/skins/default/media/js/compress.bat diff --git a/forum/skins/default/media/js/excanvas.min.js b/askbot/skins/default/media/js/excanvas.min.js index 12c74f7b..12c74f7b 100644 --- a/forum/skins/default/media/js/excanvas.min.js +++ b/askbot/skins/default/media/js/excanvas.min.js diff --git a/forum/skins/default/media/js/flot-build.bat b/askbot/skins/default/media/js/flot-build.bat index f9f32cb7..f9f32cb7 100755 --- a/forum/skins/default/media/js/flot-build.bat +++ b/askbot/skins/default/media/js/flot-build.bat diff --git a/forum/skins/default/media/js/jquery-1.2.6.js b/askbot/skins/default/media/js/jquery-1.2.6.js index 88e661ee..88e661ee 100644 --- a/forum/skins/default/media/js/jquery-1.2.6.js +++ b/askbot/skins/default/media/js/jquery-1.2.6.js diff --git a/forum/skins/default/media/js/jquery-1.2.6.min.js b/askbot/skins/default/media/js/jquery-1.2.6.min.js index 82b98e1d..82b98e1d 100644 --- a/forum/skins/default/media/js/jquery-1.2.6.min.js +++ b/askbot/skins/default/media/js/jquery-1.2.6.min.js diff --git a/forum/skins/default/media/js/jquery.ajaxfileupload.js b/askbot/skins/default/media/js/jquery.ajaxfileupload.js index 75292776..75292776 100644 --- a/forum/skins/default/media/js/jquery.ajaxfileupload.js +++ b/askbot/skins/default/media/js/jquery.ajaxfileupload.js diff --git a/forum/skins/default/media/js/jquery.flot.js b/askbot/skins/default/media/js/jquery.flot.js index 6534a468..6534a468 100644 --- a/forum/skins/default/media/js/jquery.flot.js +++ b/askbot/skins/default/media/js/jquery.flot.js diff --git a/forum/skins/default/media/js/jquery.flot.min.js b/askbot/skins/default/media/js/jquery.flot.min.js index 31f465b8..31f465b8 100644 --- a/forum/skins/default/media/js/jquery.flot.min.js +++ b/askbot/skins/default/media/js/jquery.flot.min.js diff --git a/forum/skins/default/media/js/jquery.form.js b/askbot/skins/default/media/js/jquery.form.js index 443114fd..443114fd 100644 --- a/forum/skins/default/media/js/jquery.form.js +++ b/askbot/skins/default/media/js/jquery.form.js diff --git a/forum/skins/default/media/js/jquery.i18n.js b/askbot/skins/default/media/js/jquery.i18n.js index 0a155a31..0a155a31 100644 --- a/forum/skins/default/media/js/jquery.i18n.js +++ b/askbot/skins/default/media/js/jquery.i18n.js diff --git a/forum/skins/default/media/js/jquery.openid.js b/askbot/skins/default/media/js/jquery.openid.js index af7d8cb9..af7d8cb9 100644 --- a/forum/skins/default/media/js/jquery.openid.js +++ b/askbot/skins/default/media/js/jquery.openid.js diff --git a/forum/skins/default/media/js/jquery.validate.pack.js b/askbot/skins/default/media/js/jquery.validate.pack.js index 49134500..49134500 100644 --- a/forum/skins/default/media/js/jquery.validate.pack.js +++ b/askbot/skins/default/media/js/jquery.validate.pack.js diff --git a/forum/skins/default/media/js/se_hilite.js b/askbot/skins/default/media/js/se_hilite.js index 42e99c8e..42e99c8e 100644 --- a/forum/skins/default/media/js/se_hilite.js +++ b/askbot/skins/default/media/js/se_hilite.js diff --git a/forum/skins/default/media/js/se_hilite_src.js b/askbot/skins/default/media/js/se_hilite_src.js index b604f156..b604f156 100644 --- a/forum/skins/default/media/js/se_hilite_src.js +++ b/askbot/skins/default/media/js/se_hilite_src.js diff --git a/forum/skins/default/media/js/wmd/images/wmd-buttons.png b/askbot/skins/default/media/js/wmd/images/wmd-buttons.png Binary files differindex 50b37090..50b37090 100755 --- a/forum/skins/default/media/js/wmd/images/wmd-buttons.png +++ b/askbot/skins/default/media/js/wmd/images/wmd-buttons.png diff --git a/forum/skins/default/media/js/wmd/showdown-min.js b/askbot/skins/default/media/js/wmd/showdown-min.js index 073613b1..073613b1 100755 --- a/forum/skins/default/media/js/wmd/showdown-min.js +++ b/askbot/skins/default/media/js/wmd/showdown-min.js diff --git a/forum/skins/default/media/js/wmd/showdown.js b/askbot/skins/default/media/js/wmd/showdown.js index 3f4b9947..3f4b9947 100755 --- a/forum/skins/default/media/js/wmd/showdown.js +++ b/askbot/skins/default/media/js/wmd/showdown.js diff --git a/forum/skins/default/media/js/wmd/wmd-min.js b/askbot/skins/default/media/js/wmd/wmd-min.js index aa643f1a..aa643f1a 100755 --- a/forum/skins/default/media/js/wmd/wmd-min.js +++ b/askbot/skins/default/media/js/wmd/wmd-min.js diff --git a/forum/skins/default/media/js/wmd/wmd-test.html b/askbot/skins/default/media/js/wmd/wmd-test.html index d748501a..d748501a 100755 --- a/forum/skins/default/media/js/wmd/wmd-test.html +++ b/askbot/skins/default/media/js/wmd/wmd-test.html diff --git a/forum/skins/default/media/js/wmd/wmd.css b/askbot/skins/default/media/js/wmd/wmd.css index 80c226c8..80c226c8 100755 --- a/forum/skins/default/media/js/wmd/wmd.css +++ b/askbot/skins/default/media/js/wmd/wmd.css diff --git a/forum/skins/default/media/js/wmd/wmd.js b/askbot/skins/default/media/js/wmd/wmd.js index 70271d4d..70271d4d 100755 --- a/forum/skins/default/media/js/wmd/wmd.js +++ b/askbot/skins/default/media/js/wmd/wmd.js diff --git a/forum/skins/default/media/js/yuicompressor-2.4.2.jar b/askbot/skins/default/media/js/yuicompressor-2.4.2.jar Binary files differindex c29470bd..c29470bd 100755 --- a/forum/skins/default/media/js/yuicompressor-2.4.2.jar +++ b/askbot/skins/default/media/js/yuicompressor-2.4.2.jar diff --git a/forum/skins/default/media/style/auth.css b/askbot/skins/default/media/style/auth.css index 33702758..33702758 100755 --- a/forum/skins/default/media/style/auth.css +++ b/askbot/skins/default/media/style/auth.css diff --git a/forum/skins/default/media/style/default.css b/askbot/skins/default/media/style/default.css index 27da1dab..27da1dab 100755 --- a/forum/skins/default/media/style/default.css +++ b/askbot/skins/default/media/style/default.css diff --git a/forum/skins/default/media/style/jquery.autocomplete.css b/askbot/skins/default/media/style/jquery.autocomplete.css index 3bf2c2d9..3bf2c2d9 100755 --- a/forum/skins/default/media/style/jquery.autocomplete.css +++ b/askbot/skins/default/media/style/jquery.autocomplete.css diff --git a/forum/skins/default/media/style/openid.css b/askbot/skins/default/media/style/openid.css index 0d201df2..0d201df2 100755 --- a/forum/skins/default/media/style/openid.css +++ b/askbot/skins/default/media/style/openid.css diff --git a/forum/skins/default/media/style/prettify.css b/askbot/skins/default/media/style/prettify.css index 10a37577..10a37577 100755 --- a/forum/skins/default/media/style/prettify.css +++ b/askbot/skins/default/media/style/prettify.css diff --git a/forum/skins/default/media/style/style.css b/askbot/skins/default/media/style/style.css index 9d34a26e..9d34a26e 100755 --- a/forum/skins/default/media/style/style.css +++ b/askbot/skins/default/media/style/style.css diff --git a/forum/skins/default/templates/404.html b/askbot/skins/default/templates/404.html index 227de3ae..227de3ae 100644 --- a/forum/skins/default/templates/404.html +++ b/askbot/skins/default/templates/404.html diff --git a/forum/skins/default/templates/500.html b/askbot/skins/default/templates/500.html index 51e73178..51e73178 100644 --- a/forum/skins/default/templates/500.html +++ b/askbot/skins/default/templates/500.html diff --git a/forum/skins/default/templates/about.html b/askbot/skins/default/templates/about.html index d091725b..d091725b 100644 --- a/forum/skins/default/templates/about.html +++ b/askbot/skins/default/templates/about.html diff --git a/forum/skins/default/templates/account_settings.html b/askbot/skins/default/templates/account_settings.html index 91267d26..91267d26 100644 --- a/forum/skins/default/templates/account_settings.html +++ b/askbot/skins/default/templates/account_settings.html diff --git a/forum/skins/default/templates/answer_edit.html b/askbot/skins/default/templates/answer_edit.html index 2d736f30..2d736f30 100644 --- a/forum/skins/default/templates/answer_edit.html +++ b/askbot/skins/default/templates/answer_edit.html diff --git a/forum/skins/default/templates/answer_edit_tips.html b/askbot/skins/default/templates/answer_edit_tips.html index c390da06..c390da06 100644 --- a/forum/skins/default/templates/answer_edit_tips.html +++ b/askbot/skins/default/templates/answer_edit_tips.html diff --git a/forum/skins/default/templates/ask.html b/askbot/skins/default/templates/ask.html index 82828fe9..82828fe9 100644 --- a/forum/skins/default/templates/ask.html +++ b/askbot/skins/default/templates/ask.html diff --git a/forum/skins/default/templates/ask_form.html b/askbot/skins/default/templates/ask_form.html index 1bb3866b..1bb3866b 100644 --- a/forum/skins/default/templates/ask_form.html +++ b/askbot/skins/default/templates/ask_form.html diff --git a/forum/skins/default/templates/authopenid/changeemail.html b/askbot/skins/default/templates/authopenid/changeemail.html index 94d1881c..94d1881c 100644 --- a/forum/skins/default/templates/authopenid/changeemail.html +++ b/askbot/skins/default/templates/authopenid/changeemail.html diff --git a/forum/skins/default/templates/authopenid/changeopenid.html b/askbot/skins/default/templates/authopenid/changeopenid.html index d01788fb..d01788fb 100644 --- a/forum/skins/default/templates/authopenid/changeopenid.html +++ b/askbot/skins/default/templates/authopenid/changeopenid.html diff --git a/forum/skins/default/templates/authopenid/changepw.html b/askbot/skins/default/templates/authopenid/changepw.html index 8b059544..8b059544 100644 --- a/forum/skins/default/templates/authopenid/changepw.html +++ b/askbot/skins/default/templates/authopenid/changepw.html diff --git a/forum/skins/default/templates/authopenid/complete.html b/askbot/skins/default/templates/authopenid/complete.html index 62970e38..62970e38 100644 --- a/forum/skins/default/templates/authopenid/complete.html +++ b/askbot/skins/default/templates/authopenid/complete.html diff --git a/forum/skins/default/templates/authopenid/confirm_email.txt b/askbot/skins/default/templates/authopenid/confirm_email.txt index 3a01f146..3a01f146 100644 --- a/forum/skins/default/templates/authopenid/confirm_email.txt +++ b/askbot/skins/default/templates/authopenid/confirm_email.txt diff --git a/forum/skins/default/templates/authopenid/delete.html b/askbot/skins/default/templates/authopenid/delete.html index 0f9f1c60..0f9f1c60 100644 --- a/forum/skins/default/templates/authopenid/delete.html +++ b/askbot/skins/default/templates/authopenid/delete.html diff --git a/forum/skins/default/templates/authopenid/email_validation.txt b/askbot/skins/default/templates/authopenid/email_validation.txt index 5b166a9b..5b166a9b 100644 --- a/forum/skins/default/templates/authopenid/email_validation.txt +++ b/askbot/skins/default/templates/authopenid/email_validation.txt diff --git a/forum/skins/default/templates/authopenid/external_legacy_login_info.html b/askbot/skins/default/templates/authopenid/external_legacy_login_info.html index 3318499c..3318499c 100644 --- a/forum/skins/default/templates/authopenid/external_legacy_login_info.html +++ b/askbot/skins/default/templates/authopenid/external_legacy_login_info.html diff --git a/forum/skins/default/templates/authopenid/failure.html b/askbot/skins/default/templates/authopenid/failure.html index d075d6b0..d075d6b0 100644 --- a/forum/skins/default/templates/authopenid/failure.html +++ b/askbot/skins/default/templates/authopenid/failure.html diff --git a/forum/skins/default/templates/authopenid/sendpw.html b/askbot/skins/default/templates/authopenid/sendpw.html index 6241c811..6241c811 100644 --- a/forum/skins/default/templates/authopenid/sendpw.html +++ b/askbot/skins/default/templates/authopenid/sendpw.html diff --git a/forum/skins/default/templates/authopenid/sendpw_email.txt b/askbot/skins/default/templates/authopenid/sendpw_email.txt index f044ca45..f044ca45 100644 --- a/forum/skins/default/templates/authopenid/sendpw_email.txt +++ b/askbot/skins/default/templates/authopenid/sendpw_email.txt diff --git a/forum/skins/default/templates/authopenid/settings.html b/askbot/skins/default/templates/authopenid/settings.html index 66ea5953..66ea5953 100644 --- a/forum/skins/default/templates/authopenid/settings.html +++ b/askbot/skins/default/templates/authopenid/settings.html diff --git a/forum/skins/default/templates/authopenid/signin.html b/askbot/skins/default/templates/authopenid/signin.html index 66ef2f78..66ef2f78 100755 --- a/forum/skins/default/templates/authopenid/signin.html +++ b/askbot/skins/default/templates/authopenid/signin.html diff --git a/forum/skins/default/templates/authopenid/signup.html b/askbot/skins/default/templates/authopenid/signup.html index fdb236c2..fdb236c2 100644 --- a/forum/skins/default/templates/authopenid/signup.html +++ b/askbot/skins/default/templates/authopenid/signup.html diff --git a/forum/skins/default/templates/authopenid/yadis.xrdf b/askbot/skins/default/templates/authopenid/yadis.xrdf index a9ed44fe..a9ed44fe 100644 --- a/forum/skins/default/templates/authopenid/yadis.xrdf +++ b/askbot/skins/default/templates/authopenid/yadis.xrdf diff --git a/forum/skins/default/templates/badge.html b/askbot/skins/default/templates/badge.html index 99d74e1b..99d74e1b 100644 --- a/forum/skins/default/templates/badge.html +++ b/askbot/skins/default/templates/badge.html diff --git a/forum/skins/default/templates/badges.html b/askbot/skins/default/templates/badges.html index 9fbd6395..9fbd6395 100644 --- a/forum/skins/default/templates/badges.html +++ b/askbot/skins/default/templates/badges.html diff --git a/forum/skins/default/templates/base.html b/askbot/skins/default/templates/base.html index dd7c6083..dd7c6083 100644 --- a/forum/skins/default/templates/base.html +++ b/askbot/skins/default/templates/base.html diff --git a/forum/skins/default/templates/base_content.html b/askbot/skins/default/templates/base_content.html index 000b5358..000b5358 100644 --- a/forum/skins/default/templates/base_content.html +++ b/askbot/skins/default/templates/base_content.html diff --git a/forum/skins/default/templates/book.html b/askbot/skins/default/templates/book.html index 528b800d..528b800d 100644 --- a/forum/skins/default/templates/book.html +++ b/askbot/skins/default/templates/book.html diff --git a/forum/skins/default/templates/close.html b/askbot/skins/default/templates/close.html index d9e73507..d9e73507 100644 --- a/forum/skins/default/templates/close.html +++ b/askbot/skins/default/templates/close.html diff --git a/forum/skins/default/templates/edit_user_email_feeds_form.html b/askbot/skins/default/templates/edit_user_email_feeds_form.html index 65902e7e..65902e7e 100644 --- a/forum/skins/default/templates/edit_user_email_feeds_form.html +++ b/askbot/skins/default/templates/edit_user_email_feeds_form.html diff --git a/forum/skins/default/templates/email_base.html b/askbot/skins/default/templates/email_base.html index b74741e3..b74741e3 100644 --- a/forum/skins/default/templates/email_base.html +++ b/askbot/skins/default/templates/email_base.html diff --git a/forum/skins/default/templates/faq.html b/askbot/skins/default/templates/faq.html index 83a24d68..83a24d68 100644 --- a/forum/skins/default/templates/faq.html +++ b/askbot/skins/default/templates/faq.html diff --git a/forum/skins/default/templates/fbconnect/xd_receiver.html b/askbot/skins/default/templates/fbconnect/xd_receiver.html index 60c02a22..60c02a22 100755 --- a/forum/skins/default/templates/fbconnect/xd_receiver.html +++ b/askbot/skins/default/templates/fbconnect/xd_receiver.html diff --git a/forum/skins/default/templates/feedback.html b/askbot/skins/default/templates/feedback.html index af4f635f..af4f635f 100644 --- a/forum/skins/default/templates/feedback.html +++ b/askbot/skins/default/templates/feedback.html diff --git a/forum/skins/default/templates/feedback_email.txt b/askbot/skins/default/templates/feedback_email.txt index df768180..df768180 100644 --- a/forum/skins/default/templates/feedback_email.txt +++ b/askbot/skins/default/templates/feedback_email.txt diff --git a/forum/skins/default/templates/feeds/rss_description.html b/askbot/skins/default/templates/feeds/rss_description.html index fa781907..fa781907 100755 --- a/forum/skins/default/templates/feeds/rss_description.html +++ b/askbot/skins/default/templates/feeds/rss_description.html diff --git a/forum/skins/default/templates/feeds/rss_title.html b/askbot/skins/default/templates/feeds/rss_title.html index 7899fce3..7899fce3 100755 --- a/forum/skins/default/templates/feeds/rss_title.html +++ b/askbot/skins/default/templates/feeds/rss_title.html diff --git a/forum/skins/default/templates/footer.html b/askbot/skins/default/templates/footer.html index a28a1980..a28a1980 100644 --- a/forum/skins/default/templates/footer.html +++ b/askbot/skins/default/templates/footer.html diff --git a/forum/skins/default/templates/header.html b/askbot/skins/default/templates/header.html index 49811fde..49811fde 100644 --- a/forum/skins/default/templates/header.html +++ b/askbot/skins/default/templates/header.html diff --git a/forum/skins/default/templates/input_bar.html b/askbot/skins/default/templates/input_bar.html index 66e6ed94..66e6ed94 100644 --- a/forum/skins/default/templates/input_bar.html +++ b/askbot/skins/default/templates/input_bar.html diff --git a/forum/skins/default/templates/instant_notification.html b/askbot/skins/default/templates/instant_notification.html index db2f5a05..db2f5a05 100644 --- a/forum/skins/default/templates/instant_notification.html +++ b/askbot/skins/default/templates/instant_notification.html diff --git a/forum/skins/default/templates/logout.html b/askbot/skins/default/templates/logout.html index 650ba044..650ba044 100644 --- a/forum/skins/default/templates/logout.html +++ b/askbot/skins/default/templates/logout.html diff --git a/forum/skins/default/templates/notarobot.html b/askbot/skins/default/templates/notarobot.html index 698c5696..698c5696 100644 --- a/forum/skins/default/templates/notarobot.html +++ b/askbot/skins/default/templates/notarobot.html diff --git a/forum/skins/default/templates/pagesize.html b/askbot/skins/default/templates/pagesize.html index 5fb28e20..5fb28e20 100644 --- a/forum/skins/default/templates/pagesize.html +++ b/askbot/skins/default/templates/pagesize.html diff --git a/forum/skins/default/templates/paginator.html b/askbot/skins/default/templates/paginator.html index 4c1f55b0..4c1f55b0 100644 --- a/forum/skins/default/templates/paginator.html +++ b/askbot/skins/default/templates/paginator.html diff --git a/forum/skins/default/templates/post_contributor_info.html b/askbot/skins/default/templates/post_contributor_info.html index 260a0590..260a0590 100644 --- a/forum/skins/default/templates/post_contributor_info.html +++ b/askbot/skins/default/templates/post_contributor_info.html diff --git a/forum/skins/default/templates/privacy.html b/askbot/skins/default/templates/privacy.html index fe074491..fe074491 100644 --- a/forum/skins/default/templates/privacy.html +++ b/askbot/skins/default/templates/privacy.html diff --git a/forum/skins/default/templates/question.html b/askbot/skins/default/templates/question.html index 566f7762..566f7762 100644 --- a/forum/skins/default/templates/question.html +++ b/askbot/skins/default/templates/question.html diff --git a/forum/skins/default/templates/question_counter_widget.html b/askbot/skins/default/templates/question_counter_widget.html index 5b35651f..5b35651f 100644 --- a/forum/skins/default/templates/question_counter_widget.html +++ b/askbot/skins/default/templates/question_counter_widget.html diff --git a/forum/skins/default/templates/question_edit.html b/askbot/skins/default/templates/question_edit.html index fe711849..fe711849 100644 --- a/forum/skins/default/templates/question_edit.html +++ b/askbot/skins/default/templates/question_edit.html diff --git a/forum/skins/default/templates/question_edit_tips.html b/askbot/skins/default/templates/question_edit_tips.html index 4cabea79..4cabea79 100644 --- a/forum/skins/default/templates/question_edit_tips.html +++ b/askbot/skins/default/templates/question_edit_tips.html diff --git a/forum/skins/default/templates/question_list.html b/askbot/skins/default/templates/question_list.html index c9fc1f96..c9fc1f96 100644 --- a/forum/skins/default/templates/question_list.html +++ b/askbot/skins/default/templates/question_list.html diff --git a/forum/skins/default/templates/question_retag.html b/askbot/skins/default/templates/question_retag.html index 03f3da04..03f3da04 100644 --- a/forum/skins/default/templates/question_retag.html +++ b/askbot/skins/default/templates/question_retag.html diff --git a/forum/skins/default/templates/question_summary_list_roll.html b/askbot/skins/default/templates/question_summary_list_roll.html index f2432a24..f2432a24 100644 --- a/forum/skins/default/templates/question_summary_list_roll.html +++ b/askbot/skins/default/templates/question_summary_list_roll.html diff --git a/forum/skins/default/templates/questions.html b/askbot/skins/default/templates/questions.html index 1988f0cb..1988f0cb 100644 --- a/forum/skins/default/templates/questions.html +++ b/askbot/skins/default/templates/questions.html diff --git a/forum/skins/default/templates/reopen.html b/askbot/skins/default/templates/reopen.html index 37fb69c1..37fb69c1 100644 --- a/forum/skins/default/templates/reopen.html +++ b/askbot/skins/default/templates/reopen.html diff --git a/forum/skins/default/templates/revisions_answer.html b/askbot/skins/default/templates/revisions_answer.html index 5c37e386..5c37e386 100644 --- a/forum/skins/default/templates/revisions_answer.html +++ b/askbot/skins/default/templates/revisions_answer.html diff --git a/forum/skins/default/templates/revisions_question.html b/askbot/skins/default/templates/revisions_question.html index a227071f..a227071f 100644 --- a/forum/skins/default/templates/revisions_question.html +++ b/askbot/skins/default/templates/revisions_question.html diff --git a/forum/skins/default/templates/tag_selector.html b/askbot/skins/default/templates/tag_selector.html index 85b858d2..85b858d2 100644 --- a/forum/skins/default/templates/tag_selector.html +++ b/askbot/skins/default/templates/tag_selector.html diff --git a/forum/skins/default/templates/tags.html b/askbot/skins/default/templates/tags.html index 6627db32..6627db32 100644 --- a/forum/skins/default/templates/tags.html +++ b/askbot/skins/default/templates/tags.html diff --git a/forum/skins/default/templates/user.html b/askbot/skins/default/templates/user.html index dee52cd7..dee52cd7 100644 --- a/forum/skins/default/templates/user.html +++ b/askbot/skins/default/templates/user.html diff --git a/forum/skins/default/templates/user_edit.html b/askbot/skins/default/templates/user_edit.html index abbce58a..abbce58a 100644 --- a/forum/skins/default/templates/user_edit.html +++ b/askbot/skins/default/templates/user_edit.html diff --git a/forum/skins/default/templates/user_email_subscriptions.html b/askbot/skins/default/templates/user_email_subscriptions.html index 9578046a..9578046a 100644 --- a/forum/skins/default/templates/user_email_subscriptions.html +++ b/askbot/skins/default/templates/user_email_subscriptions.html diff --git a/forum/skins/default/templates/user_favorites.html b/askbot/skins/default/templates/user_favorites.html index 9db01e9a..9db01e9a 100644 --- a/forum/skins/default/templates/user_favorites.html +++ b/askbot/skins/default/templates/user_favorites.html diff --git a/forum/skins/default/templates/user_footer.html b/askbot/skins/default/templates/user_footer.html index ee347742..ee347742 100644 --- a/forum/skins/default/templates/user_footer.html +++ b/askbot/skins/default/templates/user_footer.html diff --git a/forum/skins/default/templates/user_info.html b/askbot/skins/default/templates/user_info.html index c99dd2c1..c99dd2c1 100644 --- a/forum/skins/default/templates/user_info.html +++ b/askbot/skins/default/templates/user_info.html diff --git a/forum/skins/default/templates/user_recent.html b/askbot/skins/default/templates/user_recent.html index 78347993..78347993 100644 --- a/forum/skins/default/templates/user_recent.html +++ b/askbot/skins/default/templates/user_recent.html diff --git a/forum/skins/default/templates/user_reputation.html b/askbot/skins/default/templates/user_reputation.html index f6a33d93..f6a33d93 100644 --- a/forum/skins/default/templates/user_reputation.html +++ b/askbot/skins/default/templates/user_reputation.html diff --git a/forum/skins/default/templates/user_responses.html b/askbot/skins/default/templates/user_responses.html index 2d96112b..2d96112b 100644 --- a/forum/skins/default/templates/user_responses.html +++ b/askbot/skins/default/templates/user_responses.html diff --git a/forum/skins/default/templates/user_stats.html b/askbot/skins/default/templates/user_stats.html index 0e0f4d36..0e0f4d36 100644 --- a/forum/skins/default/templates/user_stats.html +++ b/askbot/skins/default/templates/user_stats.html diff --git a/forum/skins/default/templates/user_tabs.html b/askbot/skins/default/templates/user_tabs.html index d0d52930..d0d52930 100644 --- a/forum/skins/default/templates/user_tabs.html +++ b/askbot/skins/default/templates/user_tabs.html diff --git a/forum/skins/default/templates/user_votes.html b/askbot/skins/default/templates/user_votes.html index b56aab01..b56aab01 100644 --- a/forum/skins/default/templates/user_votes.html +++ b/askbot/skins/default/templates/user_votes.html diff --git a/forum/skins/default/templates/users.html b/askbot/skins/default/templates/users.html index f3ccd6e9..f3ccd6e9 100644 --- a/forum/skins/default/templates/users.html +++ b/askbot/skins/default/templates/users.html diff --git a/forum/skins/default/templates/users_questions.html b/askbot/skins/default/templates/users_questions.html index 99a7f90c..99a7f90c 100644 --- a/forum/skins/default/templates/users_questions.html +++ b/askbot/skins/default/templates/users_questions.html diff --git a/forum/skins/loaders.py b/askbot/skins/loaders.py index 53d1e02d..e498233a 100644 --- a/forum/skins/loaders.py +++ b/askbot/skins/loaders.py @@ -3,8 +3,8 @@ from django.template.loaders import filesystem import os.path import os import logging -from forum.skins import utils -from forum.conf import settings as forum_settings +from askbot.skins import utils +from askbot.conf import settings as askbot_settings #module for skinning askbot #via ASKBOT_DEFAULT_SKIN configureation variable (not django setting) @@ -16,7 +16,7 @@ from forum.conf import settings as forum_settings def load_template_source(name, dirs=None): try: #todo: move this to top after splitting out get_skin_dirs() - tname = os.path.join(forum_settings.ASKBOT_DEFAULT_SKIN,'templates',name) + tname = os.path.join(askbot_settings.ASKBOT_DEFAULT_SKIN,'templates',name) return filesystem.load_template_source(tname,dirs) except: tname = os.path.join('default','templates',name) @@ -27,7 +27,7 @@ def find_media_source(url): """returns url prefixed with the skin name of the first skin that contains the file directories are searched in this order: - forum_settings.ASKBOT_DEFAULT_SKIN, then 'default', then 'commmon' + askbot_settings.ASKBOT_DEFAULT_SKIN, then 'default', then 'commmon' if file is not found - returns None and logs an error message """ @@ -39,7 +39,7 @@ def find_media_source(url): #todo: handles case of multiple skin directories skins = utils.get_skin_dirs()[0] try: - use_skin = forum_settings.ASKBOT_DEFAULT_SKIN + use_skin = askbot_settings.ASKBOT_DEFAULT_SKIN media = os.path.join(skins, use_skin, url) assert(f(media)) except: diff --git a/forum/skins/utils.py b/askbot/skins/utils.py index e3f2ddc5..e3f2ddc5 100644 --- a/forum/skins/utils.py +++ b/askbot/skins/utils.py diff --git a/forum/sql_scripts/091111_upgrade_evgeny.sql b/askbot/sql_scripts/091111_upgrade_evgeny.sql index cb76ec3c..cb76ec3c 100644 --- a/forum/sql_scripts/091111_upgrade_evgeny.sql +++ b/askbot/sql_scripts/091111_upgrade_evgeny.sql diff --git a/forum/sql_scripts/091208_upgrade_evgeny.sql b/askbot/sql_scripts/091208_upgrade_evgeny.sql index d9c4289a..d9c4289a 100644 --- a/forum/sql_scripts/091208_upgrade_evgeny.sql +++ b/askbot/sql_scripts/091208_upgrade_evgeny.sql diff --git a/forum/sql_scripts/091208_upgrade_evgeny_1.sql b/askbot/sql_scripts/091208_upgrade_evgeny_1.sql index b1b4107f..b1b4107f 100644 --- a/forum/sql_scripts/091208_upgrade_evgeny_1.sql +++ b/askbot/sql_scripts/091208_upgrade_evgeny_1.sql diff --git a/forum/sql_scripts/100108_upgrade_ef.sql b/askbot/sql_scripts/100108_upgrade_ef.sql index 1c9a5c1c..1c9a5c1c 100644 --- a/forum/sql_scripts/100108_upgrade_ef.sql +++ b/askbot/sql_scripts/100108_upgrade_ef.sql diff --git a/forum/sql_scripts/badges.sql b/askbot/sql_scripts/badges.sql index 5fd03d18..5fd03d18 100644 --- a/forum/sql_scripts/badges.sql +++ b/askbot/sql_scripts/badges.sql diff --git a/forum/sql_scripts/cnprog.xml b/askbot/sql_scripts/cnprog.xml index 95f9b362..95f9b362 100644 --- a/forum/sql_scripts/cnprog.xml +++ b/askbot/sql_scripts/cnprog.xml diff --git a/forum/sql_scripts/cnprog_new_install.sql b/askbot/sql_scripts/cnprog_new_install.sql index ac33a6ba..ac33a6ba 100644 --- a/forum/sql_scripts/cnprog_new_install.sql +++ b/askbot/sql_scripts/cnprog_new_install.sql diff --git a/forum/sql_scripts/cnprog_new_install_2009_02_28.sql b/askbot/sql_scripts/cnprog_new_install_2009_02_28.sql index 80b9fced..80b9fced 100644 --- a/forum/sql_scripts/cnprog_new_install_2009_02_28.sql +++ b/askbot/sql_scripts/cnprog_new_install_2009_02_28.sql diff --git a/forum/sql_scripts/cnprog_new_install_2009_03_31.sql b/askbot/sql_scripts/cnprog_new_install_2009_03_31.sql index c2c69f36..c2c69f36 100644 --- a/forum/sql_scripts/cnprog_new_install_2009_03_31.sql +++ b/askbot/sql_scripts/cnprog_new_install_2009_03_31.sql diff --git a/forum/sql_scripts/cnprog_new_install_2009_04_07.sql b/askbot/sql_scripts/cnprog_new_install_2009_04_07.sql index ff9016fa..ff9016fa 100644 --- a/forum/sql_scripts/cnprog_new_install_2009_04_07.sql +++ b/askbot/sql_scripts/cnprog_new_install_2009_04_07.sql diff --git a/forum/sql_scripts/cnprog_new_install_2009_04_09.sql b/askbot/sql_scripts/cnprog_new_install_2009_04_09.sql index f4424852..f4424852 100644 --- a/forum/sql_scripts/cnprog_new_install_2009_04_09.sql +++ b/askbot/sql_scripts/cnprog_new_install_2009_04_09.sql diff --git a/forum/sql_scripts/drop-all-tables.sh b/askbot/sql_scripts/drop-all-tables.sh index 1e55cb1f..1e55cb1f 100644 --- a/forum/sql_scripts/drop-all-tables.sh +++ b/askbot/sql_scripts/drop-all-tables.sh diff --git a/forum/sql_scripts/drop-auth.sql b/askbot/sql_scripts/drop-auth.sql index bc17dce3..bc17dce3 100644 --- a/forum/sql_scripts/drop-auth.sql +++ b/askbot/sql_scripts/drop-auth.sql diff --git a/forum/sql_scripts/pg_fts_install.sql b/askbot/sql_scripts/pg_fts_install.sql index d0655134..d0655134 100644 --- a/forum/sql_scripts/pg_fts_install.sql +++ b/askbot/sql_scripts/pg_fts_install.sql diff --git a/forum/sql_scripts/update_2009_01_13_001.sql b/askbot/sql_scripts/update_2009_01_13_001.sql index 165d1125..165d1125 100644 --- a/forum/sql_scripts/update_2009_01_13_001.sql +++ b/askbot/sql_scripts/update_2009_01_13_001.sql diff --git a/forum/sql_scripts/update_2009_01_13_002.sql b/askbot/sql_scripts/update_2009_01_13_002.sql index c223cb8c..c223cb8c 100644 --- a/forum/sql_scripts/update_2009_01_13_002.sql +++ b/askbot/sql_scripts/update_2009_01_13_002.sql diff --git a/forum/sql_scripts/update_2009_01_18_001.sql b/askbot/sql_scripts/update_2009_01_18_001.sql index 6f29fa32..6f29fa32 100644 --- a/forum/sql_scripts/update_2009_01_18_001.sql +++ b/askbot/sql_scripts/update_2009_01_18_001.sql diff --git a/forum/sql_scripts/update_2009_01_24.sql b/askbot/sql_scripts/update_2009_01_24.sql index 45b83935..45b83935 100644 --- a/forum/sql_scripts/update_2009_01_24.sql +++ b/askbot/sql_scripts/update_2009_01_24.sql diff --git a/forum/sql_scripts/update_2009_01_25_001.sql b/askbot/sql_scripts/update_2009_01_25_001.sql index 16c3487b..16c3487b 100644 --- a/forum/sql_scripts/update_2009_01_25_001.sql +++ b/askbot/sql_scripts/update_2009_01_25_001.sql diff --git a/forum/sql_scripts/update_2009_02_26_001.sql b/askbot/sql_scripts/update_2009_02_26_001.sql index a6af5931..a6af5931 100644 --- a/forum/sql_scripts/update_2009_02_26_001.sql +++ b/askbot/sql_scripts/update_2009_02_26_001.sql diff --git a/forum/sql_scripts/update_2009_04_10_001.sql b/askbot/sql_scripts/update_2009_04_10_001.sql index 8148632a..8148632a 100644 --- a/forum/sql_scripts/update_2009_04_10_001.sql +++ b/askbot/sql_scripts/update_2009_04_10_001.sql diff --git a/forum/sql_scripts/update_2009_07_05_EF.sql b/askbot/sql_scripts/update_2009_07_05_EF.sql index 43c7c2f0..43c7c2f0 100644 --- a/forum/sql_scripts/update_2009_07_05_EF.sql +++ b/askbot/sql_scripts/update_2009_07_05_EF.sql diff --git a/forum/sql_scripts/update_2009_12_24_001.sql b/askbot/sql_scripts/update_2009_12_24_001.sql index 3d082c2f..3d082c2f 100644 --- a/forum/sql_scripts/update_2009_12_24_001.sql +++ b/askbot/sql_scripts/update_2009_12_24_001.sql diff --git a/forum/sql_scripts/update_2009_12_27_001.sql b/askbot/sql_scripts/update_2009_12_27_001.sql index e2da7d4d..e2da7d4d 100644 --- a/forum/sql_scripts/update_2009_12_27_001.sql +++ b/askbot/sql_scripts/update_2009_12_27_001.sql diff --git a/forum/sql_scripts/update_2009_12_27_002.sql b/askbot/sql_scripts/update_2009_12_27_002.sql index a36470bf..a36470bf 100644 --- a/forum/sql_scripts/update_2009_12_27_002.sql +++ b/askbot/sql_scripts/update_2009_12_27_002.sql diff --git a/forum/sql_scripts/update_2010_02_22.sql b/askbot/sql_scripts/update_2010_02_22.sql index 2778885a..2778885a 100644 --- a/forum/sql_scripts/update_2010_02_22.sql +++ b/askbot/sql_scripts/update_2010_02_22.sql diff --git a/forum/templatetags/__init__.py b/askbot/templatetags/__init__.py index e69de29b..e69de29b 100644 --- a/forum/templatetags/__init__.py +++ b/askbot/templatetags/__init__.py diff --git a/forum/templatetags/extra_filters.py b/askbot/templatetags/extra_filters.py index 8c023810..df47ed9a 100644 --- a/forum/templatetags/extra_filters.py +++ b/askbot/templatetags/extra_filters.py @@ -1,6 +1,6 @@ from django import template -from forum import auth -from forum.deps.grapefruit import Color +from askbot import auth +from askbot.deps.grapefruit import Color from django.utils.translation import ugettext as _ import logging diff --git a/forum/templatetags/extra_tags.py b/askbot/templatetags/extra_tags.py index 960870a0..e278d73d 100644 --- a/forum/templatetags/extra_tags.py +++ b/askbot/templatetags/extra_tags.py @@ -7,19 +7,19 @@ import logging from django import template from django.utils.encoding import smart_unicode from django.utils.safestring import mark_safe -from forum.const import * -from forum.models import Question, Answer, QuestionRevision, AnswerRevision -from forum.models import Badge +from askbot.const import * +from askbot.models import Question, Answer, QuestionRevision, AnswerRevision +from askbot.models import Badge from django.utils.translation import ugettext as _ from django.utils.translation import ungettext from django.conf import settings -from forum.conf import settings as forum_settings +from askbot.conf import settings as askbot_settings from django.template.defaulttags import url as default_url from django.template.defaultfilters import slugify from django.core.urlresolvers import reverse -from forum import skins -from forum.utils import colors -from forum.utils.functions import get_from_dict_or_object +from askbot import skins +from askbot.utils import colors +from askbot.utils.functions import get_from_dict_or_object register = template.Library() @@ -147,7 +147,7 @@ def post_contributor_info(post,contributor_type='original_author'): return { 'post':post, 'post_type':post_type, - 'wiki_on':forum_settings.WIKI_ON, + 'wiki_on':askbot_settings.WIKI_ON, 'contributor_type':contributor_type } @@ -334,7 +334,7 @@ def get_latest_changed_timestamp(): root = settings.SITE_SRC_ROOT dir = ( root, - '%s/forum' % root, + '%s/askbot' % root, '%s/templates' % root, ) stamp = (path.getmtime(d) for d in dir) @@ -350,7 +350,7 @@ def media(url): if url: url = '///' + settings.FORUM_SCRIPT_ALIAS + '/m/' + url return os.path.normpath(url) + '?v=%d' \ - % forum_settings.MEDIA_RESOURCE_REVISION + % askbot_settings.MEDIA_RESOURCE_REVISION else: return '' #todo: raise exception here? @@ -432,7 +432,7 @@ class BlockMediaUrlNode(template.Node): url = skins.loaders.find_media_source(url) url = prefix + url - out = os.path.normpath(url) + '?v=%d' % forum_settings.MEDIA_RESOURCE_REVISION + out = os.path.normpath(url) + '?v=%d' % askbot_settings.MEDIA_RESOURCE_REVISION return out.replace(' ','') @register.tag(name='blockmedia') @@ -454,7 +454,7 @@ class FullUrlNode(template.Node): self.default_node = default_node def render(self, context): - domain = forum_settings.APP_URL + domain = askbot_settings.APP_URL #protocol = getattr(settings, "PROTOCOL", "http") path = self.default_node.render(context) return "%s%s" % (domain, path) @@ -466,7 +466,7 @@ def fullurl(parser, token): @register.simple_tag def fullmedia(url): - domain = forum_settings.APP_URL + domain = askbot_settings.APP_URL #protocol = getattr(settings, "PROTOCOL", "http") path = media(url) return "%s%s" % (domain, path) @@ -482,39 +482,39 @@ def question_counter_widget(question): #background and foreground colors for each item (views_fg, views_bg) = colors.get_counter_colors( view_count, - counter_max = forum_settings.VIEW_COUNTER_EXPECTED_MAXIMUM, - zero_bg = forum_settings.COLORS_VIEW_COUNTER_EMPTY_BG, - zero_fg = forum_settings.COLORS_VIEW_COUNTER_EMPTY_FG, - min_bg = forum_settings.COLORS_VIEW_COUNTER_MIN_BG, - min_fg = forum_settings.COLORS_VIEW_COUNTER_MIN_FG, - max_bg = forum_settings.COLORS_VIEW_COUNTER_MAX_BG, - max_fg = forum_settings.COLORS_VIEW_COUNTER_MAX_FG, + counter_max = askbot_settings.VIEW_COUNTER_EXPECTED_MAXIMUM, + zero_bg = askbot_settings.COLORS_VIEW_COUNTER_EMPTY_BG, + zero_fg = askbot_settings.COLORS_VIEW_COUNTER_EMPTY_FG, + min_bg = askbot_settings.COLORS_VIEW_COUNTER_MIN_BG, + min_fg = askbot_settings.COLORS_VIEW_COUNTER_MIN_FG, + max_bg = askbot_settings.COLORS_VIEW_COUNTER_MAX_BG, + max_fg = askbot_settings.COLORS_VIEW_COUNTER_MAX_FG, ) (answers_fg, answers_bg) = colors.get_counter_colors( answer_count, - counter_max = forum_settings.ANSWER_COUNTER_EXPECTED_MAXIMUM, - zero_bg = forum_settings.COLORS_ANSWER_COUNTER_EMPTY_BG, - zero_fg = forum_settings.COLORS_ANSWER_COUNTER_EMPTY_FG, - min_bg = forum_settings.COLORS_ANSWER_COUNTER_MIN_BG, - min_fg = forum_settings.COLORS_ANSWER_COUNTER_MIN_FG, - max_bg = forum_settings.COLORS_ANSWER_COUNTER_MAX_BG, - max_fg = forum_settings.COLORS_ANSWER_COUNTER_MAX_FG, + counter_max = askbot_settings.ANSWER_COUNTER_EXPECTED_MAXIMUM, + zero_bg = askbot_settings.COLORS_ANSWER_COUNTER_EMPTY_BG, + zero_fg = askbot_settings.COLORS_ANSWER_COUNTER_EMPTY_FG, + min_bg = askbot_settings.COLORS_ANSWER_COUNTER_MIN_BG, + min_fg = askbot_settings.COLORS_ANSWER_COUNTER_MIN_FG, + max_bg = askbot_settings.COLORS_ANSWER_COUNTER_MAX_BG, + max_fg = askbot_settings.COLORS_ANSWER_COUNTER_MAX_FG, ) if answer_accepted: #todo: maybe recalculate the foreground color too - answers_bg = forum_settings.COLORS_ANSWER_COUNTER_ACCEPTED_BG - answers_fg = forum_settings.COLORS_ANSWER_COUNTER_ACCEPTED_FG + answers_bg = askbot_settings.COLORS_ANSWER_COUNTER_ACCEPTED_BG + answers_fg = askbot_settings.COLORS_ANSWER_COUNTER_ACCEPTED_FG (votes_fg, votes_bg) = colors.get_counter_colors( vote_count, - counter_max = forum_settings.VOTE_COUNTER_EXPECTED_MAXIMUM, - zero_bg = forum_settings.COLORS_VOTE_COUNTER_EMPTY_BG, - zero_fg = forum_settings.COLORS_VOTE_COUNTER_EMPTY_FG, - min_bg = forum_settings.COLORS_VOTE_COUNTER_MIN_BG, - min_fg = forum_settings.COLORS_VOTE_COUNTER_MIN_FG, - max_bg = forum_settings.COLORS_VOTE_COUNTER_MAX_BG, - max_fg = forum_settings.COLORS_VOTE_COUNTER_MAX_FG, + counter_max = askbot_settings.VOTE_COUNTER_EXPECTED_MAXIMUM, + zero_bg = askbot_settings.COLORS_VOTE_COUNTER_EMPTY_BG, + zero_fg = askbot_settings.COLORS_VOTE_COUNTER_EMPTY_FG, + min_bg = askbot_settings.COLORS_VOTE_COUNTER_MIN_BG, + min_fg = askbot_settings.COLORS_VOTE_COUNTER_MIN_FG, + max_bg = askbot_settings.COLORS_VOTE_COUNTER_MAX_BG, + max_fg = askbot_settings.COLORS_VOTE_COUNTER_MAX_FG, ) #returns a dictionary with keys like 'votes_bg', etc diff --git a/forum/templatetags/smart_if.py b/askbot/templatetags/smart_if.py index ca3b43fe..ca3b43fe 100644 --- a/forum/templatetags/smart_if.py +++ b/askbot/templatetags/smart_if.py diff --git a/forum/tests.py b/askbot/tests.py index 4f0482f5..12eb03a3 100644 --- a/forum/tests.py +++ b/askbot/tests.py @@ -3,9 +3,9 @@ import time from django.test import TestCase from django.template import defaultfilters from django.core.urlresolvers import reverse -from forum.models import User, Question, Answer, Activity -from forum.models import EmailFeedSetting -from forum import const +from askbot.models import User, Question, Answer, Activity +from askbot.models import EmailFeedSetting +from askbot import const def create_user(username = None, email = None): user = User.objects.create_user(username, email) @@ -83,7 +83,7 @@ class UpdateNotificationTests(TestCase): #a hack to initialize .users list self.reload_users() - #pre-populate forum with some content + #pre-populate askbot with some content self.question = Question.objects.create_new( title = 'test question', author = self.u11, diff --git a/forum/upfiles/README b/askbot/upfiles/README index 17bf8ecb..17bf8ecb 100755 --- a/forum/upfiles/README +++ b/askbot/upfiles/README diff --git a/forum/urls.py b/askbot/urls.py index b7637f54..8a4f9b29 100644 --- a/forum/urls.py +++ b/askbot/urls.py @@ -1,13 +1,13 @@ """ -askbot forum url configuraion file +askbot askbot url configuraion file """ import os.path from django.conf.urls.defaults import url, patterns, include from django.conf.urls.defaults import handler500, handler404 from django.contrib import admin -from forum import views as app -from forum.feed import RssLastestQuestionsFeed -from forum.sitemap import QuestionsSitemap +from askbot import views as app +from askbot.feed import RssLastestQuestionsFeed +from askbot.sitemap import QuestionsSitemap from django.utils.translation import ugettext as _ admin.autodiscover() @@ -197,7 +197,7 @@ urlpatterns = patterns('', url( r'^%s$' % _('upload/'), app.writers.upload, name='upload'), url(r'^%s$' % _('search/'), app.readers.search, name='search'), url(r'^%s$' % _('feedback/'), app.meta.feedback, name='feedback'), - (r'^%s' % _('account/'), include('forum.deps.django_authopenid.urls')), + (r'^%s' % _('account/'), include('askbot.deps.django_authopenid.urls')), (r'^i18n/', include('django.conf.urls.i18n')), url(r'^feeds/rss/$', RssLastestQuestionsFeed, name="latest_questions_feed"), ) diff --git a/forum/user_messages/__init__.py b/askbot/user_messages/__init__.py index 0136c888..0136c888 100644 --- a/forum/user_messages/__init__.py +++ b/askbot/user_messages/__init__.py diff --git a/forum/user_messages/context_processors.py b/askbot/user_messages/context_processors.py index dec6198d..f4c5e3ac 100644 --- a/forum/user_messages/context_processors.py +++ b/askbot/user_messages/context_processors.py @@ -6,7 +6,7 @@ Time-stamp: <2008-07-19 23:16:19 carljm context_processors.py> """ from django.utils.encoding import StrAndUnicode -from forum.user_messages import get_and_delete_messages +from askbot.user_messages import get_and_delete_messages def user_messages (request): """ diff --git a/forum/utils/__init__.py b/askbot/utils/__init__.py index e69de29b..e69de29b 100644 --- a/forum/utils/__init__.py +++ b/askbot/utils/__init__.py diff --git a/forum/utils/cache.py b/askbot/utils/cache.py index 6341392e..805cfe11 100644 --- a/forum/utils/cache.py +++ b/askbot/utils/cache.py @@ -3,7 +3,7 @@ import itertools from django.contrib.contenttypes.models import ContentType -from forum.utils.lists import flatten +from askbot.utils.lists import flatten def fetch_model_dict(model, ids, fields=None): """ diff --git a/forum/utils/colors.py b/askbot/utils/colors.py index f7bee01e..7385d06c 100644 --- a/forum/utils/colors.py +++ b/askbot/utils/colors.py @@ -1,4 +1,4 @@ -from forum.deps.grapefruit import Color +from askbot.deps.grapefruit import Color import math def get_counter_colors(count, counter_max=10, empty_bg='white', empty_fg='black', diff --git a/forum/utils/decorators.py b/askbot/utils/decorators.py index 440e8312..440e8312 100644 --- a/forum/utils/decorators.py +++ b/askbot/utils/decorators.py diff --git a/forum/utils/diff.py b/askbot/utils/diff.py index d741d788..d741d788 100644 --- a/forum/utils/diff.py +++ b/askbot/utils/diff.py diff --git a/forum/utils/email.py b/askbot/utils/email.py index 8f719e82..8f719e82 100644 --- a/forum/utils/email.py +++ b/askbot/utils/email.py diff --git a/forum/utils/forms.py b/askbot/utils/forms.py index 05bf9f85..a480419e 100644 --- a/forum/utils/forms.py +++ b/askbot/utils/forms.py @@ -3,10 +3,10 @@ import re from django.utils.translation import ugettext as _ from django.utils.safestring import mark_safe from django.conf import settings -from forum.conf import settings as forum_settings +from askbot.conf import settings as askbot_settings from django.http import str_to_unicode from django.contrib.auth.models import User -from forum import const +from askbot import const import logging import urllib @@ -130,7 +130,7 @@ class UserEmailField(forms.EmailField): email = super(UserEmailField,self).clean(email.strip()) if self.skip_clean: return email - if forum_settings.EMAIL_UNIQUE == True: + if askbot_settings.EMAIL_UNIQUE == True: try: user = User.objects.get(email = email) logging.debug('email taken') diff --git a/forum/utils/functions.py b/askbot/utils/functions.py index 7d886a2a..7d886a2a 100644 --- a/forum/utils/functions.py +++ b/askbot/utils/functions.py diff --git a/forum/utils/html.py b/askbot/utils/html.py index 25a74a4a..25a74a4a 100644 --- a/forum/utils/html.py +++ b/askbot/utils/html.py diff --git a/forum/utils/lists.py b/askbot/utils/lists.py index f69c8f20..f69c8f20 100644 --- a/forum/utils/lists.py +++ b/askbot/utils/lists.py diff --git a/forum/utils/markup.py b/askbot/utils/markup.py index 95d2125c..85e37393 100644 --- a/forum/utils/markup.py +++ b/askbot/utils/markup.py @@ -1,4 +1,4 @@ -from forum import const +from askbot import const def format_mention_in_html(mentioned_user): url = mentioned_user.get_profile_url() diff --git a/forum/utils/time.py b/askbot/utils/time.py index 39e01d0f..39e01d0f 100644 --- a/forum/utils/time.py +++ b/askbot/utils/time.py diff --git a/forum/views/README b/askbot/views/README index 5416f88c..5416f88c 100755 --- a/forum/views/README +++ b/askbot/views/README diff --git a/askbot/views/__init__.py b/askbot/views/__init__.py new file mode 100644 index 00000000..35b2acba --- /dev/null +++ b/askbot/views/__init__.py @@ -0,0 +1,8 @@ +""" +Forum views module +""" +from askbot.views import readers +from askbot.views import writers +from askbot.views import commands +from askbot.views import users +from askbot.views import meta diff --git a/forum/views/commands.py b/askbot/views/commands.py index 5de693b5..4e4347f2 100644 --- a/forum/views/commands.py +++ b/askbot/views/commands.py @@ -1,19 +1,19 @@ import datetime #todo: maybe eliminate usage of django.settings from django.conf import settings -from forum.conf import settings as forum_settings +from askbot.conf import settings as askbot_settings from django.utils import simplejson from django.http import HttpResponse, HttpResponseRedirect from django.http import HttpResponseForbidden from django.shortcuts import get_object_or_404, render_to_response from django.utils.translation import ugettext as _ from django.template import RequestContext -from forum.models import * -from forum.forms import CloseForm -from forum import auth +from askbot.models import * +from askbot.forms import CloseForm +from askbot import auth from django.core.urlresolvers import reverse from django.contrib.auth.decorators import login_required -from forum.utils.decorators import ajax_method, ajax_login_required +from askbot.utils.decorators import ajax_method, ajax_login_required import logging def vote(request, id):#todo: pretty incomprehensible view used by various ajax calls @@ -142,7 +142,7 @@ def vote(request, id):#todo: pretty incomprehensible view used by various ajax c # get latest vote by the current user # unvote should be less than certain time if (datetime.datetime.now().day - vote.voted_at.day) \ - >= forum_settings.MAX_DAYS_TO_CANCEL_VOTE: + >= askbot_settings.MAX_DAYS_TO_CANCEL_VOTE: response_data['status'] = 2 else: voted = vote.vote @@ -157,7 +157,7 @@ def vote(request, id):#todo: pretty incomprehensible view used by various ajax c response_data['status'] = 1 response_data['count'] = post.score elif Vote.objects.get_votes_count_today_from_user(request.user)\ - >= forum_settings.MAX_VOTES_PER_USER_PER_DAY: + >= askbot_settings.MAX_VOTES_PER_USER_PER_DAY: response_data['allowed'] = -3 else: vote = Vote(user=request.user, content_object=post, vote=vote_score, voted_at=datetime.datetime.now()) @@ -168,10 +168,10 @@ def vote(request, id):#todo: pretty incomprehensible view used by various ajax c # downvote auth.onDownVoted(vote, post, request.user) - votes_left = forum_settings.MAX_VOTES_PER_USER_PER_DAY \ + votes_left = askbot_settings.MAX_VOTES_PER_USER_PER_DAY \ - Vote.objects.get_votes_count_today_from_user(request.user) if votes_left <= \ - forum_settings.VOTES_LEFT_WARNING_THRESHOLD: + askbot_settings.VOTES_LEFT_WARNING_THRESHOLD: response_data['message'] = u'%s votes left' % votes_left response_data['count'] = post.score elif vote_type in ['7', '8']: @@ -181,7 +181,7 @@ def vote(request, id):#todo: pretty incomprehensible view used by various ajax c post_id = request.POST.get('postId') post = get_object_or_404(Answer, id=post_id) - if FlaggedItem.objects.get_flagged_items_count_today(request.user) >= forum_settings.MAX_FLAGS_PER_USER_PER_DAY: + if FlaggedItem.objects.get_flagged_items_count_today(request.user) >= askbot_settings.MAX_FLAGS_PER_USER_PER_DAY: response_data['allowed'] = -3 elif not auth.can_flag_offensive(request.user): response_data['allowed'] = -2 @@ -211,7 +211,7 @@ def vote(request, id):#todo: pretty incomprehensible view used by various ajax c if user.is_authenticated(): if user not in question.followed_by.all(): question.followed_by.add(user) - if forum_settings.EMAIL_VALIDATION == True \ + if askbot_settings.EMAIL_VALIDATION == True \ and user.email_isvalid == False: response_data['message'] = \ diff --git a/forum/views/meta.py b/askbot/views/meta.py index af5fe6df..344ca9ea 100644 --- a/forum/views/meta.py +++ b/askbot/views/meta.py @@ -2,12 +2,12 @@ from django.shortcuts import render_to_response, get_object_or_404 from django.core.urlresolvers import reverse from django.template import RequestContext from django.http import HttpResponseRedirect, HttpResponse -from forum.forms import FeedbackForm +from askbot.forms import FeedbackForm from django.core.urlresolvers import reverse from django.core.mail import mail_admins from django.utils.translation import ugettext as _ -from forum.utils.forms import get_next_url -from forum.models import Badge, Award +from askbot.utils.forms import get_next_url +from askbot.models import Badge, Award def about(request): return render_to_response('about.html', context_instance=RequestContext(request)) @@ -32,7 +32,7 @@ def feedback(request): data['message'] = form.cleaned_data['message'] data['name'] = form.cleaned_data.get('name',None) message = render_to_response('feedback_email.txt',data,context_instance=RequestContext(request)) - mail_admins(_('Q&A forum feedback'), message) + mail_admins(_('Q&A askbot feedback'), message) msg = _('Thanks for the feedback!') request.user.message_set.create(message=msg) return HttpResponseRedirect(get_next_url(request)) diff --git a/forum/views/readers.py b/askbot/views/readers.py index ff825c10..8eb505a9 100644 --- a/forum/views/readers.py +++ b/askbot/views/readers.py @@ -15,17 +15,17 @@ from django.template.defaultfilters import slugify from django.core.urlresolvers import reverse from django.views.decorators.cache import cache_page -from forum.utils.html import sanitize_html +from askbot.utils.html import sanitize_html from markdown2 import Markdown #from lxml.html.diff import htmldiff -from forum.utils.diff import textDiff as htmldiff -from forum.forms import * -from forum.models import * -from forum import const -from forum import auth -from forum.utils.forms import get_next_url -from forum.utils.functions import not_a_robot_request -from forum.search.state_manager import SearchState +from askbot.utils.diff import textDiff as htmldiff +from askbot.forms import * +from askbot.models import * +from askbot import const +from askbot import auth +from askbot.utils.forms import get_next_url +from askbot.utils.functions import not_a_robot_request +from askbot.search.state_manager import SearchState # used in index page #todo: - take these out of const or settings diff --git a/forum/views/users.py b/askbot/views/users.py index 0995812e..3709ee78 100644 --- a/forum/views/users.py +++ b/askbot/views/users.py @@ -10,14 +10,14 @@ from django.http import HttpResponseRedirect, Http404 from django.utils.translation import ugettext as _ from django.utils.html import strip_tags from django.utils import simplejson -from forum.utils.html import sanitize_html -from forum import auth -from forum import forms +from askbot.utils.html import sanitize_html +from askbot import auth +from askbot import forms import calendar -from forum import const -from forum.conf import settings as forum_settings -from forum import models -from forum.models import signals +from askbot import const +from askbot.conf import settings as askbot_settings +from askbot import models +from askbot.models import signals import logging question_type = ContentType.objects.get_for_model(models.Question) @@ -134,7 +134,7 @@ def set_new_email(user, new_email, nomessage=False): user.email = new_email user.email_isvalid = False user.save() - #if forum_settings.EMAIL_VALIDATION == True: + #if askbot_settings.EMAIL_VALIDATION == True: # send_new_email_key(user,nomessage=nomessage) @login_required @@ -149,7 +149,7 @@ def edit_user(request, id): set_new_email(user, new_email) - if forum_settings.EDITABLE_SCREEN_NAME: + if askbot_settings.EDITABLE_SCREEN_NAME: user.username = sanitize_html(form.cleaned_data['username']) user.real_name = sanitize_html(form.cleaned_data['realname']) @@ -254,7 +254,7 @@ def user_stats(request, user_id, user_view): up_votes = models.Vote.objects.get_up_vote_count_from_user(user) down_votes = models.Vote.objects.get_down_vote_count_from_user(user) votes_today = models.Vote.objects.get_votes_count_today_from_user(user) - votes_total = forum_settings.MAX_VOTES_PER_USER_PER_DAY + votes_total = askbot_settings.MAX_VOTES_PER_USER_PER_DAY question_id_set = set() #todo: there may be a better way to do these queries diff --git a/forum/views/writers.py b/askbot/views/writers.py index fe2238a7..ddd061be 100644 --- a/forum/views/writers.py +++ b/askbot/views/writers.py @@ -13,10 +13,10 @@ from django.core.urlresolvers import reverse from django.core.exceptions import PermissionDenied from django.conf import settings -from forum import auth -from forum.views.readers import _get_tags_cache_json -from forum import forms -from forum import models +from askbot import auth +from askbot.views.readers import _get_tags_cache_json +from askbot import forms +from askbot import models # used in index page INDEX_PAGE_SIZE = 20 @@ -313,7 +313,7 @@ def __generate_comments_json(obj, comment_type, user): comments = obj.comments.all().order_by('id') # {"Id":6,"PostId":38589,"CreationDate":"an hour ago","Text":"hello there!","UserDisplayName":"Jarrod Dixon","UserUrl":"/users/3/jarrod-dixon","DeleteUrl":null} json_comments = [] - from forum.templatetags.extra_tags import diff_date + from askbot.templatetags.extra_tags import diff_date for comment in comments: comment_user = comment.user delete_url = "" diff --git a/forum/conf/__init__.py b/forum/conf/__init__.py deleted file mode 100644 index 54ea2e32..00000000 --- a/forum/conf/__init__.py +++ /dev/null @@ -1,16 +0,0 @@ -#import these to compile code and install values -import forum.conf.minimum_reputation -import forum.conf.vote_rules -import forum.conf.reputation_changes -import forum.conf.email -import forum.conf.forum_data_rules -import forum.conf.flatpages -import forum.conf.site_settings -import forum.conf.external_keys -import forum.conf.skin_counter_settings -import forum.conf.skin_general_settings -import forum.conf.user_settings - -#import main settings object -from forum.conf.settings_wrapper import settings - diff --git a/forum/migrations/0001_initial.py b/forum/migrations/0001_initial.py deleted file mode 100644 index e6350446..00000000 --- a/forum/migrations/0001_initial.py +++ /dev/null @@ -1,780 +0,0 @@ -# encoding: utf-8 -import datetime -from south.db import db -from south.v2 import SchemaMigration -from django.db import models - -class Migration(SchemaMigration): - - def forwards(self, orm): - - # Adding model 'Vote' - db.create_table(u'vote', ( - ('object_id', self.gf('django.db.models.fields.PositiveIntegerField')()), - ('voted_at', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)), - ('user', self.gf('django.db.models.fields.related.ForeignKey')(related_name='votes', to=orm['auth.User'])), - ('content_type', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['contenttypes.ContentType'])), - ('vote', self.gf('django.db.models.fields.SmallIntegerField')()), - ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), - )) - db.send_create_signal('forum', ['Vote']) - - # Adding unique constraint on 'Vote', fields ['content_type', 'object_id', 'user'] - db.create_unique(u'vote', ['content_type_id', 'object_id', 'user_id']) - - # Adding model 'FlaggedItem' - db.create_table(u'flagged_item', ( - ('object_id', self.gf('django.db.models.fields.PositiveIntegerField')()), - ('flagged_at', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)), - ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), - ('content_type', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['contenttypes.ContentType'])), - ('user', self.gf('django.db.models.fields.related.ForeignKey')(related_name='flaggeditems', to=orm['auth.User'])), - )) - db.send_create_signal('forum', ['FlaggedItem']) - - # Adding unique constraint on 'FlaggedItem', fields ['content_type', 'object_id', 'user'] - db.create_unique(u'flagged_item', ['content_type_id', 'object_id', 'user_id']) - - # Adding model 'Comment' - db.create_table(u'comment', ( - ('comment', self.gf('django.db.models.fields.CharField')(max_length=300)), - ('object_id', self.gf('django.db.models.fields.PositiveIntegerField')()), - ('added_at', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)), - ('content_type', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['contenttypes.ContentType'])), - ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), - ('user', self.gf('django.db.models.fields.related.ForeignKey')(related_name='comments', to=orm['auth.User'])), - )) - db.send_create_signal('forum', ['Comment']) - - # Adding model 'Tag' - db.create_table(u'tag', ( - ('name', self.gf('django.db.models.fields.CharField')(unique=True, max_length=255)), - ('deleted', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True)), - ('created_by', self.gf('django.db.models.fields.related.ForeignKey')(related_name='created_tags', to=orm['auth.User'])), - ('deleted_by', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='deleted_tags', null=True, to=orm['auth.User'])), - ('used_count', self.gf('django.db.models.fields.PositiveIntegerField')(default=0)), - ('deleted_at', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True)), - ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), - )) - db.send_create_signal('forum', ['Tag']) - - # Adding model 'MarkedTag' - db.create_table('forum_markedtag', ( - ('reason', self.gf('django.db.models.fields.CharField')(max_length=16)), - ('tag', self.gf('django.db.models.fields.related.ForeignKey')(related_name='user_selections', to=orm['forum.Tag'])), - ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), - ('user', self.gf('django.db.models.fields.related.ForeignKey')(related_name='tag_selections', to=orm['auth.User'])), - )) - db.send_create_signal('forum', ['MarkedTag']) - - # Adding model 'Question' - db.create_table(u'question', ( - ('wiki', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True)), - ('vote_up_count', self.gf('django.db.models.fields.IntegerField')(default=0)), - ('answer_accepted', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True)), - ('offensive_flag_count', self.gf('django.db.models.fields.SmallIntegerField')(default=0)), - ('closed_at', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True)), - ('deleted_at', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True)), - ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), - ('last_activity_by', self.gf('django.db.models.fields.related.ForeignKey')(related_name='last_active_in_questions', to=orm['auth.User'])), - ('view_count', self.gf('django.db.models.fields.PositiveIntegerField')(default=0)), - ('locked_at', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True)), - ('score', self.gf('django.db.models.fields.IntegerField')(default=0)), - ('author', self.gf('django.db.models.fields.related.ForeignKey')(related_name='questions', to=orm['auth.User'])), - ('comment_count', self.gf('django.db.models.fields.PositiveIntegerField')(default=0)), - ('html', self.gf('django.db.models.fields.TextField')()), - ('vote_down_count', self.gf('django.db.models.fields.IntegerField')(default=0)), - ('closed', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True)), - ('last_edited_by', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='last_edited_questions', null=True, to=orm['auth.User'])), - ('favourite_count', self.gf('django.db.models.fields.PositiveIntegerField')(default=0)), - ('deleted', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True)), - ('summary', self.gf('django.db.models.fields.CharField')(max_length=180)), - ('answer_count', self.gf('django.db.models.fields.PositiveIntegerField')(default=0)), - ('last_activity_at', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)), - ('closed_by', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='closed_questions', null=True, to=orm['auth.User'])), - ('close_reason', self.gf('django.db.models.fields.SmallIntegerField')(null=True, blank=True)), - ('locked', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True)), - ('tagnames', self.gf('django.db.models.fields.CharField')(max_length=125)), - ('locked_by', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='locked_questions', null=True, to=orm['auth.User'])), - ('added_at', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)), - ('deleted_by', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='deleted_questions', null=True, to=orm['auth.User'])), - ('wikified_at', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True)), - ('title', self.gf('django.db.models.fields.CharField')(max_length=300)), - ('last_edited_at', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True)), - )) - db.send_create_signal('forum', ['Question']) - - # Adding M2M table for field followed_by on 'Question' - db.create_table(u'question_followed_by', ( - ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), - ('question', models.ForeignKey(orm['forum.question'], null=False)), - ('user', models.ForeignKey(orm['auth.user'], null=False)) - )) - db.create_unique(u'question_followed_by', ['question_id', 'user_id']) - - # Adding M2M table for field tags on 'Question' - db.create_table(u'question_tags', ( - ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), - ('question', models.ForeignKey(orm['forum.question'], null=False)), - ('tag', models.ForeignKey(orm['forum.tag'], null=False)) - )) - db.create_unique(u'question_tags', ['question_id', 'tag_id']) - - # Adding model 'QuestionView' - db.create_table('forum_questionview', ( - ('when', self.gf('django.db.models.fields.DateTimeField')()), - ('who', self.gf('django.db.models.fields.related.ForeignKey')(related_name='question_views', to=orm['auth.User'])), - ('question', self.gf('django.db.models.fields.related.ForeignKey')(related_name='viewed', to=orm['forum.Question'])), - ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), - )) - db.send_create_signal('forum', ['QuestionView']) - - # Adding model 'FavoriteQuestion' - db.create_table(u'favorite_question', ( - ('question', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['forum.Question'])), - ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), - ('added_at', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)), - ('user', self.gf('django.db.models.fields.related.ForeignKey')(related_name='user_favorite_questions', to=orm['auth.User'])), - )) - db.send_create_signal('forum', ['FavoriteQuestion']) - - # Adding model 'QuestionRevision' - db.create_table(u'question_revision', ( - ('author', self.gf('django.db.models.fields.related.ForeignKey')(related_name='questionrevisions', to=orm['auth.User'])), - ('tagnames', self.gf('django.db.models.fields.CharField')(max_length=125)), - ('text', self.gf('django.db.models.fields.TextField')()), - ('title', self.gf('django.db.models.fields.CharField')(max_length=300)), - ('question', self.gf('django.db.models.fields.related.ForeignKey')(related_name='revisions', to=orm['forum.Question'])), - ('revised_at', self.gf('django.db.models.fields.DateTimeField')()), - ('summary', self.gf('django.db.models.fields.CharField')(max_length=300, blank=True)), - ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), - ('revision', self.gf('django.db.models.fields.PositiveIntegerField')()), - )) - db.send_create_signal('forum', ['QuestionRevision']) - - # Adding model 'AnonymousQuestion' - db.create_table('forum_anonymousquestion', ( - ('wiki', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True)), - ('ip_addr', self.gf('django.db.models.fields.IPAddressField')(max_length=15)), - ('author', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'], null=True)), - ('tagnames', self.gf('django.db.models.fields.CharField')(max_length=125)), - ('text', self.gf('django.db.models.fields.TextField')()), - ('title', self.gf('django.db.models.fields.CharField')(max_length=300)), - ('added_at', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)), - ('summary', self.gf('django.db.models.fields.CharField')(max_length=180)), - ('session_key', self.gf('django.db.models.fields.CharField')(max_length=40)), - ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), - )) - db.send_create_signal('forum', ['AnonymousQuestion']) - - # Adding model 'Answer' - db.create_table(u'answer', ( - ('wiki', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True)), - ('vote_up_count', self.gf('django.db.models.fields.IntegerField')(default=0)), - ('offensive_flag_count', self.gf('django.db.models.fields.SmallIntegerField')(default=0)), - ('deleted_at', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True)), - ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), - ('locked_at', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True)), - ('score', self.gf('django.db.models.fields.IntegerField')(default=0)), - ('author', self.gf('django.db.models.fields.related.ForeignKey')(related_name='answers', to=orm['auth.User'])), - ('question', self.gf('django.db.models.fields.related.ForeignKey')(related_name='answers', to=orm['forum.Question'])), - ('comment_count', self.gf('django.db.models.fields.PositiveIntegerField')(default=0)), - ('html', self.gf('django.db.models.fields.TextField')()), - ('vote_down_count', self.gf('django.db.models.fields.IntegerField')(default=0)), - ('last_edited_by', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='last_edited_answers', null=True, to=orm['auth.User'])), - ('accepted_at', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True)), - ('deleted', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True)), - ('accepted', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True)), - ('locked', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True)), - ('locked_by', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='locked_answers', null=True, to=orm['auth.User'])), - ('added_at', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)), - ('deleted_by', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='deleted_answers', null=True, to=orm['auth.User'])), - ('wikified_at', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True)), - ('last_edited_at', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True)), - )) - db.send_create_signal('forum', ['Answer']) - - # Adding model 'AnswerRevision' - db.create_table(u'answer_revision', ( - ('author', self.gf('django.db.models.fields.related.ForeignKey')(related_name='answerrevisions', to=orm['auth.User'])), - ('text', self.gf('django.db.models.fields.TextField')()), - ('revised_at', self.gf('django.db.models.fields.DateTimeField')()), - ('summary', self.gf('django.db.models.fields.CharField')(max_length=300, blank=True)), - ('answer', self.gf('django.db.models.fields.related.ForeignKey')(related_name='revisions', to=orm['forum.Answer'])), - ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), - ('revision', self.gf('django.db.models.fields.PositiveIntegerField')()), - )) - db.send_create_signal('forum', ['AnswerRevision']) - - # Adding model 'AnonymousAnswer' - db.create_table('forum_anonymousanswer', ( - ('wiki', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True)), - ('ip_addr', self.gf('django.db.models.fields.IPAddressField')(max_length=15)), - ('author', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'], null=True)), - ('text', self.gf('django.db.models.fields.TextField')()), - ('question', self.gf('django.db.models.fields.related.ForeignKey')(related_name='anonymous_answers', to=orm['forum.Question'])), - ('added_at', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)), - ('summary', self.gf('django.db.models.fields.CharField')(max_length=180)), - ('session_key', self.gf('django.db.models.fields.CharField')(max_length=40)), - ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), - )) - db.send_create_signal('forum', ['AnonymousAnswer']) - - # Adding model 'Activity' - db.create_table(u'activity', ( - ('is_auditted', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True)), - ('object_id', self.gf('django.db.models.fields.PositiveIntegerField')()), - ('user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'])), - ('content_type', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['contenttypes.ContentType'])), - ('active_at', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)), - ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), - ('activity_type', self.gf('django.db.models.fields.SmallIntegerField')()), - )) - db.send_create_signal('forum', ['Activity']) - - # Adding model 'EmailFeedSetting' - db.create_table('forum_emailfeedsetting', ( - ('reported_at', self.gf('django.db.models.fields.DateTimeField')(null=True)), - ('added_at', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)), - ('subscriber', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'])), - ('feed_type', self.gf('django.db.models.fields.CharField')(max_length=16)), - ('frequency', self.gf('django.db.models.fields.CharField')(default='n', max_length=8)), - ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), - )) - db.send_create_signal('forum', ['EmailFeedSetting']) - - # Adding model 'ValidationHash' - db.create_table('forum_validationhash', ( - ('hash_code', self.gf('django.db.models.fields.CharField')(unique=True, max_length=255)), - ('seed', self.gf('django.db.models.fields.CharField')(max_length=12)), - ('expiration', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime(2010, 4, 25, 13, 14, 41, 581000))), - ('type', self.gf('django.db.models.fields.CharField')(max_length=12)), - ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), - ('user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'])), - )) - db.send_create_signal('forum', ['ValidationHash']) - - # Adding unique constraint on 'ValidationHash', fields ['user', 'type'] - db.create_unique('forum_validationhash', ['user_id', 'type']) - - # Adding model 'AuthKeyUserAssociation' - db.create_table('forum_authkeyuserassociation', ( - ('added_at', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)), - ('user', self.gf('django.db.models.fields.related.ForeignKey')(related_name='auth_keys', to=orm['auth.User'])), - ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), - ('key', self.gf('django.db.models.fields.CharField')(unique=True, max_length=255)), - ('provider', self.gf('django.db.models.fields.CharField')(max_length=64)), - )) - db.send_create_signal('forum', ['AuthKeyUserAssociation']) - - # Adding model 'Badge' - db.create_table(u'badge', ( - ('multiple', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True)), - ('description', self.gf('django.db.models.fields.CharField')(max_length=300)), - ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), - ('awarded_count', self.gf('django.db.models.fields.PositiveIntegerField')(default=0)), - ('type', self.gf('django.db.models.fields.SmallIntegerField')()), - ('slug', self.gf('django.db.models.fields.SlugField')(db_index=True, max_length=50, blank=True)), - ('name', self.gf('django.db.models.fields.CharField')(max_length=50)), - )) - db.send_create_signal('forum', ['Badge']) - - # Adding unique constraint on 'Badge', fields ['name', 'type'] - db.create_unique(u'badge', ['name', 'type']) - - # Adding model 'Award' - db.create_table(u'award', ( - ('awarded_at', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)), - ('notified', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True)), - ('object_id', self.gf('django.db.models.fields.PositiveIntegerField')()), - ('user', self.gf('django.db.models.fields.related.ForeignKey')(related_name='award_user', to=orm['auth.User'])), - ('content_type', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['contenttypes.ContentType'])), - ('badge', self.gf('django.db.models.fields.related.ForeignKey')(related_name='award_badge', to=orm['forum.Badge'])), - ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), - )) - db.send_create_signal('forum', ['Award']) - - # Adding model 'Repute' - db.create_table(u'repute', ( - ('positive', self.gf('django.db.models.fields.SmallIntegerField')(default=0)), - ('question', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['forum.Question'])), - ('negative', self.gf('django.db.models.fields.SmallIntegerField')(default=0)), - ('reputation_type', self.gf('django.db.models.fields.SmallIntegerField')()), - ('user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'])), - ('reputed_at', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)), - ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), - ('reputation', self.gf('django.db.models.fields.IntegerField')(default=1)), - )) - db.send_create_signal('forum', ['Repute']) - - # Adding model 'Book' - db.create_table(u'book', ( - ('publication', self.gf('django.db.models.fields.CharField')(max_length=255)), - ('short_name', self.gf('django.db.models.fields.CharField')(max_length=255)), - ('author', self.gf('django.db.models.fields.CharField')(max_length=255)), - ('cover_img', self.gf('django.db.models.fields.CharField')(max_length=255)), - ('price', self.gf('django.db.models.fields.DecimalField')(max_digits=6, decimal_places=2)), - ('title', self.gf('django.db.models.fields.CharField')(max_length=255)), - ('added_at', self.gf('django.db.models.fields.DateTimeField')()), - ('pages', self.gf('django.db.models.fields.SmallIntegerField')()), - ('tagnames', self.gf('django.db.models.fields.CharField')(max_length=125)), - ('published_at', self.gf('django.db.models.fields.DateTimeField')()), - ('user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'])), - ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), - ('last_edited_at', self.gf('django.db.models.fields.DateTimeField')()), - )) - db.send_create_signal('forum', ['Book']) - - # Adding M2M table for field questions on 'Book' - db.create_table('book_question', ( - ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), - ('book', models.ForeignKey(orm['forum.book'], null=False)), - ('question', models.ForeignKey(orm['forum.question'], null=False)) - )) - db.create_unique('book_question', ['book_id', 'question_id']) - - # Adding model 'BookAuthorInfo' - db.create_table(u'book_author_info', ( - ('added_at', self.gf('django.db.models.fields.DateTimeField')()), - ('book', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['forum.Book'])), - ('user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'])), - ('blog_url', self.gf('django.db.models.fields.CharField')(max_length=255)), - ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), - ('last_edited_at', self.gf('django.db.models.fields.DateTimeField')()), - )) - db.send_create_signal('forum', ['BookAuthorInfo']) - - # Adding model 'BookAuthorRss' - db.create_table(u'book_author_rss', ( - ('title', self.gf('django.db.models.fields.CharField')(max_length=255)), - ('url', self.gf('django.db.models.fields.CharField')(max_length=255)), - ('added_at', self.gf('django.db.models.fields.DateTimeField')()), - ('book', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['forum.Book'])), - ('user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'])), - ('rss_created_at', self.gf('django.db.models.fields.DateTimeField')()), - ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), - )) - db.send_create_signal('forum', ['BookAuthorRss']) - - - def backwards(self, orm): - - # Deleting model 'Vote' - db.delete_table(u'vote') - - # Removing unique constraint on 'Vote', fields ['content_type', 'object_id', 'user'] - db.delete_unique(u'vote', ['content_type_id', 'object_id', 'user_id']) - - # Deleting model 'FlaggedItem' - db.delete_table(u'flagged_item') - - # Removing unique constraint on 'FlaggedItem', fields ['content_type', 'object_id', 'user'] - db.delete_unique(u'flagged_item', ['content_type_id', 'object_id', 'user_id']) - - # Deleting model 'Comment' - db.delete_table(u'comment') - - # Deleting model 'Tag' - db.delete_table(u'tag') - - # Deleting model 'MarkedTag' - db.delete_table('forum_markedtag') - - # Deleting model 'Question' - db.delete_table(u'question') - - # Removing M2M table for field followed_by on 'Question' - db.delete_table('question_followed_by') - - # Removing M2M table for field tags on 'Question' - db.delete_table('question_tags') - - # Deleting model 'QuestionView' - db.delete_table('forum_questionview') - - # Deleting model 'FavoriteQuestion' - db.delete_table(u'favorite_question') - - # Deleting model 'QuestionRevision' - db.delete_table(u'question_revision') - - # Deleting model 'AnonymousQuestion' - db.delete_table('forum_anonymousquestion') - - # Deleting model 'Answer' - db.delete_table(u'answer') - - # Deleting model 'AnswerRevision' - db.delete_table(u'answer_revision') - - # Deleting model 'AnonymousAnswer' - db.delete_table('forum_anonymousanswer') - - # Deleting model 'Activity' - db.delete_table(u'activity') - - # Deleting model 'EmailFeedSetting' - db.delete_table('forum_emailfeedsetting') - - # Deleting model 'ValidationHash' - db.delete_table('forum_validationhash') - - # Removing unique constraint on 'ValidationHash', fields ['user', 'type'] - db.delete_unique('forum_validationhash', ['user_id', 'type']) - - # Deleting model 'AuthKeyUserAssociation' - db.delete_table('forum_authkeyuserassociation') - - # Deleting model 'Badge' - db.delete_table(u'badge') - - # Removing unique constraint on 'Badge', fields ['name', 'type'] - db.delete_unique(u'badge', ['name', 'type']) - - # Deleting model 'Award' - db.delete_table(u'award') - - # Deleting model 'Repute' - db.delete_table(u'repute') - - # Deleting model 'Book' - db.delete_table(u'book') - - # Removing M2M table for field questions on 'Book' - db.delete_table('book_question') - - # Deleting model 'BookAuthorInfo' - db.delete_table(u'book_author_info') - - # Deleting model 'BookAuthorRss' - db.delete_table(u'book_author_rss') - - - models = { - 'auth.group': { - 'Meta': {'object_name': 'Group'}, - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'blank': 'True'}) - }, - 'auth.permission': { - 'Meta': {'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) - }, - 'auth.user': { - 'Meta': {'object_name': 'User'}, - 'about': ('django.db.models.fields.TextField', [], {'blank': 'True'}), - 'bronze': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'date_of_birth': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), - 'email_isvalid': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'email_key': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), - 'gold': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), - 'gravatar': ('django.db.models.fields.CharField', [], {'max_length': '32'}), - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'blank': 'True'}), - 'hide_ignored_questions': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}), - 'is_approved': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), - 'last_seen': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'location': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), - 'questions_per_page': ('django.db.models.fields.SmallIntegerField', [], {'default': '10'}), - 'real_name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), - 'reputation': ('django.db.models.fields.PositiveIntegerField', [], {'default': '1'}), - 'silver': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), - 'tag_filter_setting': ('django.db.models.fields.CharField', [], {'default': "'ignored'", 'max_length': '16'}), - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'blank': 'True'}), - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), - 'website': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}) - }, - 'contenttypes.contenttype': { - 'Meta': {'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), - 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) - }, - 'forum.activity': { - 'Meta': {'object_name': 'Activity', 'db_table': "u'activity'"}, - 'active_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'activity_type': ('django.db.models.fields.SmallIntegerField', [], {}), - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'is_auditted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) - }, - 'forum.anonymousanswer': { - 'Meta': {'object_name': 'AnonymousAnswer'}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'author': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'ip_addr': ('django.db.models.fields.IPAddressField', [], {'max_length': '15'}), - 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'anonymous_answers'", 'to': "orm['forum.Question']"}), - 'session_key': ('django.db.models.fields.CharField', [], {'max_length': '40'}), - 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), - 'text': ('django.db.models.fields.TextField', [], {}), - 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}) - }, - 'forum.anonymousquestion': { - 'Meta': {'object_name': 'AnonymousQuestion'}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'author': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'ip_addr': ('django.db.models.fields.IPAddressField', [], {'max_length': '15'}), - 'session_key': ('django.db.models.fields.CharField', [], {'max_length': '40'}), - 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), - 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), - 'text': ('django.db.models.fields.TextField', [], {}), - 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}), - 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}) - }, - 'forum.answer': { - 'Meta': {'object_name': 'Answer', 'db_table': "u'answer'"}, - 'accepted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'accepted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answers'", 'to': "orm['auth.User']"}), - 'comment_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), - 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_answers'", 'null': 'True', 'to': "orm['auth.User']"}), - 'html': ('django.db.models.fields.TextField', [], {}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'last_edited_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'last_edited_answers'", 'null': 'True', 'to': "orm['auth.User']"}), - 'locked': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'locked_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'locked_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'locked_answers'", 'null': 'True', 'to': "orm['auth.User']"}), - 'offensive_flag_count': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), - 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answers'", 'to': "orm['forum.Question']"}), - 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), - 'vote_down_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), - 'vote_up_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), - 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'wikified_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}) - }, - 'forum.answerrevision': { - 'Meta': {'object_name': 'AnswerRevision', 'db_table': "u'answer_revision'"}, - 'answer': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'revisions'", 'to': "orm['forum.Answer']"}), - 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answerrevisions'", 'to': "orm['auth.User']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'revised_at': ('django.db.models.fields.DateTimeField', [], {}), - 'revision': ('django.db.models.fields.PositiveIntegerField', [], {}), - 'summary': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}), - 'text': ('django.db.models.fields.TextField', [], {}) - }, - 'forum.authkeyuserassociation': { - 'Meta': {'object_name': 'AuthKeyUserAssociation'}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'key': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), - 'provider': ('django.db.models.fields.CharField', [], {'max_length': '64'}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'auth_keys'", 'to': "orm['auth.User']"}) - }, - 'forum.award': { - 'Meta': {'object_name': 'Award', 'db_table': "u'award'"}, - 'awarded_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'badge': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'award_badge'", 'to': "orm['forum.Badge']"}), - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'notified': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'award_user'", 'to': "orm['auth.User']"}) - }, - 'forum.badge': { - 'Meta': {'unique_together': "(('name', 'type'),)", 'object_name': 'Badge', 'db_table': "u'badge'"}, - 'awarded_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), - 'awarded_to': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'badges'", 'through': "'Award'", 'to': "orm['auth.User']"}), - 'description': ('django.db.models.fields.CharField', [], {'max_length': '300'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'multiple': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}), - 'slug': ('django.db.models.fields.SlugField', [], {'db_index': 'True', 'max_length': '50', 'blank': 'True'}), - 'type': ('django.db.models.fields.SmallIntegerField', [], {}) - }, - 'forum.book': { - 'Meta': {'object_name': 'Book', 'db_table': "u'book'"}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {}), - 'author': ('django.db.models.fields.CharField', [], {'max_length': '255'}), - 'cover_img': ('django.db.models.fields.CharField', [], {'max_length': '255'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {}), - 'pages': ('django.db.models.fields.SmallIntegerField', [], {}), - 'price': ('django.db.models.fields.DecimalField', [], {'max_digits': '6', 'decimal_places': '2'}), - 'publication': ('django.db.models.fields.CharField', [], {'max_length': '255'}), - 'published_at': ('django.db.models.fields.DateTimeField', [], {}), - 'questions': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'book'", 'db_table': "'book_question'", 'to': "orm['forum.Question']"}), - 'short_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}), - 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), - 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) - }, - 'forum.bookauthorinfo': { - 'Meta': {'object_name': 'BookAuthorInfo', 'db_table': "u'book_author_info'"}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {}), - 'blog_url': ('django.db.models.fields.CharField', [], {'max_length': '255'}), - 'book': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Book']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) - }, - 'forum.bookauthorrss': { - 'Meta': {'object_name': 'BookAuthorRss', 'db_table': "u'book_author_rss'"}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {}), - 'book': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Book']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'rss_created_at': ('django.db.models.fields.DateTimeField', [], {}), - 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}), - 'url': ('django.db.models.fields.CharField', [], {'max_length': '255'}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) - }, - 'forum.comment': { - 'Meta': {'object_name': 'Comment', 'db_table': "u'comment'"}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'comment': ('django.db.models.fields.CharField', [], {'max_length': '300'}), - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'comments'", 'to': "orm['auth.User']"}) - }, - 'forum.emailfeedsetting': { - 'Meta': {'object_name': 'EmailFeedSetting'}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), - 'feed_type': ('django.db.models.fields.CharField', [], {'max_length': '16'}), - 'frequency': ('django.db.models.fields.CharField', [], {'default': "'n'", 'max_length': '8'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'reported_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}), - 'subscriber': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) - }, - 'forum.favoritequestion': { - 'Meta': {'object_name': 'FavoriteQuestion', 'db_table': "u'favorite_question'"}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Question']"}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'user_favorite_questions'", 'to': "orm['auth.User']"}) - }, - 'forum.flaggeditem': { - 'Meta': {'unique_together': "(('content_type', 'object_id', 'user'),)", 'object_name': 'FlaggedItem', 'db_table': "u'flagged_item'"}, - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), - 'flagged_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'flaggeditems'", 'to': "orm['auth.User']"}) - }, - 'forum.markedtag': { - 'Meta': {'object_name': 'MarkedTag'}, - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'reason': ('django.db.models.fields.CharField', [], {'max_length': '16'}), - 'tag': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'user_selections'", 'to': "orm['forum.Tag']"}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'tag_selections'", 'to': "orm['auth.User']"}) - }, - 'forum.question': { - 'Meta': {'object_name': 'Question', 'db_table': "u'question'"}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'answer_accepted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'answer_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), - 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'questions'", 'to': "orm['auth.User']"}), - 'close_reason': ('django.db.models.fields.SmallIntegerField', [], {'null': 'True', 'blank': 'True'}), - 'closed': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'closed_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'closed_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'closed_questions'", 'null': 'True', 'to': "orm['auth.User']"}), - 'comment_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), - 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_questions'", 'null': 'True', 'to': "orm['auth.User']"}), - 'favorited_by': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'favorite_questions'", 'through': "'FavoriteQuestion'", 'to': "orm['auth.User']"}), - 'favourite_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), - 'followed_by': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'followed_questions'", 'to': "orm['auth.User']"}), - 'html': ('django.db.models.fields.TextField', [], {}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'last_activity_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'last_activity_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'last_active_in_questions'", 'to': "orm['auth.User']"}), - 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'last_edited_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'last_edited_questions'", 'null': 'True', 'to': "orm['auth.User']"}), - 'locked': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'locked_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'locked_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'locked_questions'", 'null': 'True', 'to': "orm['auth.User']"}), - 'offensive_flag_count': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), - 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), - 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), - 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), - 'tags': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'questions'", 'to': "orm['forum.Tag']"}), - 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}), - 'view_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), - 'vote_down_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), - 'vote_up_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), - 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'wikified_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}) - }, - 'forum.questionrevision': { - 'Meta': {'object_name': 'QuestionRevision', 'db_table': "u'question_revision'"}, - 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'questionrevisions'", 'to': "orm['auth.User']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'revisions'", 'to': "orm['forum.Question']"}), - 'revised_at': ('django.db.models.fields.DateTimeField', [], {}), - 'revision': ('django.db.models.fields.PositiveIntegerField', [], {}), - 'summary': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}), - 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), - 'text': ('django.db.models.fields.TextField', [], {}), - 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}) - }, - 'forum.questionview': { - 'Meta': {'object_name': 'QuestionView'}, - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'viewed'", 'to': "orm['forum.Question']"}), - 'when': ('django.db.models.fields.DateTimeField', [], {}), - 'who': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'question_views'", 'to': "orm['auth.User']"}) - }, - 'forum.repute': { - 'Meta': {'object_name': 'Repute', 'db_table': "u'repute'"}, - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'negative': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), - 'positive': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), - 'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Question']"}), - 'reputation': ('django.db.models.fields.IntegerField', [], {'default': '1'}), - 'reputation_type': ('django.db.models.fields.SmallIntegerField', [], {}), - 'reputed_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) - }, - 'forum.tag': { - 'Meta': {'object_name': 'Tag', 'db_table': "u'tag'"}, - 'created_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'created_tags'", 'to': "orm['auth.User']"}), - 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_tags'", 'null': 'True', 'to': "orm['auth.User']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), - 'used_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}) - }, - 'forum.validationhash': { - 'Meta': {'unique_together': "(('user', 'type'),)", 'object_name': 'ValidationHash'}, - 'expiration': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2010, 4, 25, 13, 14, 41, 714642)'}), - 'hash_code': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'seed': ('django.db.models.fields.CharField', [], {'max_length': '12'}), - 'type': ('django.db.models.fields.CharField', [], {'max_length': '12'}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) - }, - 'forum.vote': { - 'Meta': {'unique_together': "(('content_type', 'object_id', 'user'),)", 'object_name': 'Vote', 'db_table': "u'vote'"}, - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'votes'", 'to': "orm['auth.User']"}), - 'vote': ('django.db.models.fields.SmallIntegerField', [], {}), - 'voted_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}) - } - } - - complete_apps = ['forum'] diff --git a/forum/migrations/0002_auto__add_field_answer_text__chg_field_answer_html__add_field_question.py b/forum/migrations/0002_auto__add_field_answer_text__chg_field_answer_html__add_field_question.py deleted file mode 100644 index d703c161..00000000 --- a/forum/migrations/0002_auto__add_field_answer_text__chg_field_answer_html__add_field_question.py +++ /dev/null @@ -1,368 +0,0 @@ -# encoding: utf-8 -import datetime -from south.db import db -from south.v2 import SchemaMigration -from django.db import models - -class Migration(SchemaMigration): - - def forwards(self, orm): - - # Adding field 'Answer.text' - db.add_column(u'answer', 'text', self.gf('django.db.models.fields.TextField')(null=True), keep_default=False) - - # Changing field 'Answer.html' - db.alter_column(u'answer', 'html', self.gf('django.db.models.fields.TextField')(null=True)) - - # Adding field 'Question.text' - db.add_column(u'question', 'text', self.gf('django.db.models.fields.TextField')(null=True), keep_default=False) - - # Changing field 'Question.html' - db.alter_column(u'question', 'html', self.gf('django.db.models.fields.TextField')(null=True)) - - - def backwards(self, orm): - - # Deleting field 'Answer.text' - db.delete_column(u'answer', 'text') - - # Changing field 'Answer.html' - db.alter_column(u'answer', 'html', self.gf('django.db.models.fields.TextField')()) - - # Deleting field 'Question.text' - db.delete_column(u'question', 'text') - - # Changing field 'Question.html' - db.alter_column(u'question', 'html', self.gf('django.db.models.fields.TextField')()) - - - models = { - 'auth.group': { - 'Meta': {'object_name': 'Group'}, - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'blank': 'True'}) - }, - 'auth.permission': { - 'Meta': {'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) - }, - 'auth.user': { - 'Meta': {'object_name': 'User'}, - 'about': ('django.db.models.fields.TextField', [], {'blank': 'True'}), - 'bronze': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'date_of_birth': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), - 'email_isvalid': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'email_key': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), - 'gold': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), - 'gravatar': ('django.db.models.fields.CharField', [], {'max_length': '32'}), - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'blank': 'True'}), - 'hide_ignored_questions': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}), - 'is_approved': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), - 'last_seen': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'location': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), - 'questions_per_page': ('django.db.models.fields.SmallIntegerField', [], {'default': '10'}), - 'real_name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), - 'reputation': ('django.db.models.fields.PositiveIntegerField', [], {'default': '1'}), - 'silver': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), - 'tag_filter_setting': ('django.db.models.fields.CharField', [], {'default': "'ignored'", 'max_length': '16'}), - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'blank': 'True'}), - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), - 'website': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}) - }, - 'contenttypes.contenttype': { - 'Meta': {'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), - 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) - }, - 'forum.activity': { - 'Meta': {'object_name': 'Activity', 'db_table': "u'activity'"}, - 'active_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'activity_type': ('django.db.models.fields.SmallIntegerField', [], {}), - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'is_auditted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) - }, - 'forum.anonymousanswer': { - 'Meta': {'object_name': 'AnonymousAnswer'}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'author': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'ip_addr': ('django.db.models.fields.IPAddressField', [], {'max_length': '15'}), - 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'anonymous_answers'", 'to': "orm['forum.Question']"}), - 'session_key': ('django.db.models.fields.CharField', [], {'max_length': '40'}), - 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), - 'text': ('django.db.models.fields.TextField', [], {}), - 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}) - }, - 'forum.anonymousquestion': { - 'Meta': {'object_name': 'AnonymousQuestion'}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'author': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'ip_addr': ('django.db.models.fields.IPAddressField', [], {'max_length': '15'}), - 'session_key': ('django.db.models.fields.CharField', [], {'max_length': '40'}), - 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), - 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), - 'text': ('django.db.models.fields.TextField', [], {}), - 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}), - 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}) - }, - 'forum.answer': { - 'Meta': {'object_name': 'Answer', 'db_table': "u'answer'"}, - 'accepted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'accepted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answers'", 'to': "orm['auth.User']"}), - 'comment_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), - 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_answers'", 'null': 'True', 'to': "orm['auth.User']"}), - 'html': ('django.db.models.fields.TextField', [], {'null': 'True'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'last_edited_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'last_edited_answers'", 'null': 'True', 'to': "orm['auth.User']"}), - 'locked': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'locked_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'locked_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'locked_answers'", 'null': 'True', 'to': "orm['auth.User']"}), - 'offensive_flag_count': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), - 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answers'", 'to': "orm['forum.Question']"}), - 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), - 'text': ('django.db.models.fields.TextField', [], {'null': 'True'}), - 'vote_down_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), - 'vote_up_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), - 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'wikified_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}) - }, - 'forum.answerrevision': { - 'Meta': {'object_name': 'AnswerRevision', 'db_table': "u'answer_revision'"}, - 'answer': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'revisions'", 'to': "orm['forum.Answer']"}), - 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answerrevisions'", 'to': "orm['auth.User']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'revised_at': ('django.db.models.fields.DateTimeField', [], {}), - 'revision': ('django.db.models.fields.PositiveIntegerField', [], {}), - 'summary': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}), - 'text': ('django.db.models.fields.TextField', [], {}) - }, - 'forum.authkeyuserassociation': { - 'Meta': {'object_name': 'AuthKeyUserAssociation'}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'key': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), - 'provider': ('django.db.models.fields.CharField', [], {'max_length': '64'}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'auth_keys'", 'to': "orm['auth.User']"}) - }, - 'forum.award': { - 'Meta': {'object_name': 'Award', 'db_table': "u'award'"}, - 'awarded_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'badge': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'award_badge'", 'to': "orm['forum.Badge']"}), - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'notified': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'award_user'", 'to': "orm['auth.User']"}) - }, - 'forum.badge': { - 'Meta': {'unique_together': "(('name', 'type'),)", 'object_name': 'Badge', 'db_table': "u'badge'"}, - 'awarded_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), - 'awarded_to': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'badges'", 'through': "'Award'", 'to': "orm['auth.User']"}), - 'description': ('django.db.models.fields.CharField', [], {'max_length': '300'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'multiple': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}), - 'slug': ('django.db.models.fields.SlugField', [], {'db_index': 'True', 'max_length': '50', 'blank': 'True'}), - 'type': ('django.db.models.fields.SmallIntegerField', [], {}) - }, - 'forum.book': { - 'Meta': {'object_name': 'Book', 'db_table': "u'book'"}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {}), - 'author': ('django.db.models.fields.CharField', [], {'max_length': '255'}), - 'cover_img': ('django.db.models.fields.CharField', [], {'max_length': '255'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {}), - 'pages': ('django.db.models.fields.SmallIntegerField', [], {}), - 'price': ('django.db.models.fields.DecimalField', [], {'max_digits': '6', 'decimal_places': '2'}), - 'publication': ('django.db.models.fields.CharField', [], {'max_length': '255'}), - 'published_at': ('django.db.models.fields.DateTimeField', [], {}), - 'questions': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'book'", 'db_table': "'book_question'", 'to': "orm['forum.Question']"}), - 'short_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}), - 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), - 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) - }, - 'forum.bookauthorinfo': { - 'Meta': {'object_name': 'BookAuthorInfo', 'db_table': "u'book_author_info'"}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {}), - 'blog_url': ('django.db.models.fields.CharField', [], {'max_length': '255'}), - 'book': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Book']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) - }, - 'forum.bookauthorrss': { - 'Meta': {'object_name': 'BookAuthorRss', 'db_table': "u'book_author_rss'"}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {}), - 'book': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Book']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'rss_created_at': ('django.db.models.fields.DateTimeField', [], {}), - 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}), - 'url': ('django.db.models.fields.CharField', [], {'max_length': '255'}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) - }, - 'forum.comment': { - 'Meta': {'object_name': 'Comment', 'db_table': "u'comment'"}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'comment': ('django.db.models.fields.CharField', [], {'max_length': '300'}), - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'comments'", 'to': "orm['auth.User']"}) - }, - 'forum.emailfeedsetting': { - 'Meta': {'object_name': 'EmailFeedSetting'}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), - 'feed_type': ('django.db.models.fields.CharField', [], {'max_length': '16'}), - 'frequency': ('django.db.models.fields.CharField', [], {'default': "'n'", 'max_length': '8'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'reported_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}), - 'subscriber': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) - }, - 'forum.favoritequestion': { - 'Meta': {'object_name': 'FavoriteQuestion', 'db_table': "u'favorite_question'"}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Question']"}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'user_favorite_questions'", 'to': "orm['auth.User']"}) - }, - 'forum.flaggeditem': { - 'Meta': {'unique_together': "(('content_type', 'object_id', 'user'),)", 'object_name': 'FlaggedItem', 'db_table': "u'flagged_item'"}, - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), - 'flagged_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'flaggeditems'", 'to': "orm['auth.User']"}) - }, - 'forum.markedtag': { - 'Meta': {'object_name': 'MarkedTag'}, - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'reason': ('django.db.models.fields.CharField', [], {'max_length': '16'}), - 'tag': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'user_selections'", 'to': "orm['forum.Tag']"}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'tag_selections'", 'to': "orm['auth.User']"}) - }, - 'forum.question': { - 'Meta': {'object_name': 'Question', 'db_table': "u'question'"}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'answer_accepted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'answer_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), - 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'questions'", 'to': "orm['auth.User']"}), - 'close_reason': ('django.db.models.fields.SmallIntegerField', [], {'null': 'True', 'blank': 'True'}), - 'closed': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'closed_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'closed_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'closed_questions'", 'null': 'True', 'to': "orm['auth.User']"}), - 'comment_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), - 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_questions'", 'null': 'True', 'to': "orm['auth.User']"}), - 'favorited_by': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'favorite_questions'", 'through': "'FavoriteQuestion'", 'to': "orm['auth.User']"}), - 'favourite_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), - 'followed_by': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'followed_questions'", 'to': "orm['auth.User']"}), - 'html': ('django.db.models.fields.TextField', [], {'null': 'True'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'last_activity_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'last_activity_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'last_active_in_questions'", 'to': "orm['auth.User']"}), - 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'last_edited_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'last_edited_questions'", 'null': 'True', 'to': "orm['auth.User']"}), - 'locked': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'locked_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'locked_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'locked_questions'", 'null': 'True', 'to': "orm['auth.User']"}), - 'offensive_flag_count': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), - 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), - 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), - 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), - 'tags': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'questions'", 'to': "orm['forum.Tag']"}), - 'text': ('django.db.models.fields.TextField', [], {'null': 'True'}), - 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}), - 'view_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), - 'vote_down_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), - 'vote_up_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), - 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'wikified_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}) - }, - 'forum.questionrevision': { - 'Meta': {'object_name': 'QuestionRevision', 'db_table': "u'question_revision'"}, - 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'questionrevisions'", 'to': "orm['auth.User']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'revisions'", 'to': "orm['forum.Question']"}), - 'revised_at': ('django.db.models.fields.DateTimeField', [], {}), - 'revision': ('django.db.models.fields.PositiveIntegerField', [], {}), - 'summary': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}), - 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), - 'text': ('django.db.models.fields.TextField', [], {}), - 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}) - }, - 'forum.questionview': { - 'Meta': {'object_name': 'QuestionView'}, - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'viewed'", 'to': "orm['forum.Question']"}), - 'when': ('django.db.models.fields.DateTimeField', [], {}), - 'who': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'question_views'", 'to': "orm['auth.User']"}) - }, - 'forum.repute': { - 'Meta': {'object_name': 'Repute', 'db_table': "u'repute'"}, - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'negative': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), - 'positive': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), - 'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Question']"}), - 'reputation': ('django.db.models.fields.IntegerField', [], {'default': '1'}), - 'reputation_type': ('django.db.models.fields.SmallIntegerField', [], {}), - 'reputed_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) - }, - 'forum.tag': { - 'Meta': {'object_name': 'Tag', 'db_table': "u'tag'"}, - 'created_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'created_tags'", 'to': "orm['auth.User']"}), - 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_tags'", 'null': 'True', 'to': "orm['auth.User']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), - 'used_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}) - }, - 'forum.validationhash': { - 'Meta': {'unique_together': "(('user', 'type'),)", 'object_name': 'ValidationHash'}, - 'expiration': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2010, 4, 25, 16, 21, 32, 856067)'}), - 'hash_code': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'seed': ('django.db.models.fields.CharField', [], {'max_length': '12'}), - 'type': ('django.db.models.fields.CharField', [], {'max_length': '12'}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) - }, - 'forum.vote': { - 'Meta': {'unique_together': "(('content_type', 'object_id', 'user'),)", 'object_name': 'Vote', 'db_table': "u'vote'"}, - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'votes'", 'to': "orm['auth.User']"}), - 'vote': ('django.db.models.fields.SmallIntegerField', [], {}), - 'voted_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}) - } - } - - complete_apps = ['forum'] diff --git a/forum/migrations/0004_install_full_text_indexes_for_mysql.py b/forum/migrations/0004_install_full_text_indexes_for_mysql.py deleted file mode 100644 index 0c52c442..00000000 --- a/forum/migrations/0004_install_full_text_indexes_for_mysql.py +++ /dev/null @@ -1,389 +0,0 @@ -# encoding: utf-8 -import datetime -from south.db import db -from south.v2 import DataMigration -from django.db import models -from forum.models import Question, Answer - -Q_INDEX_NAME = 'askbot_question_full_text_index' -A_INDEX_NAME = 'askbot_answer_full_text_index' -Q_TABLE_NAME = Question._meta.db_table -A_TABLE_NAME = Answer._meta.db_table - -def get_create_full_text_index_sql(index_name, table_name, column_list): - column_sql = '(%s)' % ','.join(column_list) - sql = 'CREATE FULLTEXT INDEX %s on %s %s' % (index_name, table_name, column_sql) - return sql - -def get_drop_index_sql(index_name, table_name): - return 'ALTER TABLE %s DROP INDEX %s' % (table_name, index_name) - -class Migration(DataMigration): - - def forwards(self, orm): - """install fulltext indices for mysql - will work only for MyISAM engine - and will probably fail otherwise - """ - if db.backend_name == 'mysql': - #todo: extract column names by introspection - question_index_sql = get_create_full_text_index_sql( - Q_INDEX_NAME, - Q_TABLE_NAME, - ('title','text','tagnames',) - ) - db.execute(question_index_sql) - - answer_index_sql = get_create_full_text_index_sql( - A_INDEX_NAME, - A_TABLE_NAME, - ('text',) - ) - db.execute(answer_index_sql) - - def backwards(self, orm): - "code for removal of full text indices in mysql" - if db.backend_name == 'mysql': - db.execute( - get_drop_index_sql( - Q_INDEX_NAME, - Q_TABLE_NAME, - ) - ) - db.execute( - get_drop_index_sql( - A_INDEX_NAME, - A_TABLE_NAME, - ) - ) - - models = { - 'auth.group': { - 'Meta': {'object_name': 'Group'}, - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'blank': 'True'}) - }, - 'auth.permission': { - 'Meta': {'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) - }, - 'auth.user': { - 'Meta': {'object_name': 'User'}, - 'about': ('django.db.models.fields.TextField', [], {'blank': 'True'}), - 'bronze': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'date_of_birth': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), - 'email_isvalid': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'email_key': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), - 'gold': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), - 'gravatar': ('django.db.models.fields.CharField', [], {'max_length': '32'}), - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'blank': 'True'}), - 'hide_ignored_questions': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}), - 'is_approved': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), - 'last_seen': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'location': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), - 'questions_per_page': ('django.db.models.fields.SmallIntegerField', [], {'default': '10'}), - 'real_name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), - 'reputation': ('django.db.models.fields.PositiveIntegerField', [], {'default': '1'}), - 'silver': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), - 'tag_filter_setting': ('django.db.models.fields.CharField', [], {'default': "'ignored'", 'max_length': '16'}), - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'blank': 'True'}), - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), - 'website': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}) - }, - 'contenttypes.contenttype': { - 'Meta': {'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), - 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) - }, - 'forum.activity': { - 'Meta': {'object_name': 'Activity', 'db_table': "u'activity'"}, - 'active_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'activity_type': ('django.db.models.fields.SmallIntegerField', [], {}), - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'is_auditted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) - }, - 'forum.anonymousanswer': { - 'Meta': {'object_name': 'AnonymousAnswer'}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'author': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'ip_addr': ('django.db.models.fields.IPAddressField', [], {'max_length': '15'}), - 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'anonymous_answers'", 'to': "orm['forum.Question']"}), - 'session_key': ('django.db.models.fields.CharField', [], {'max_length': '40'}), - 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), - 'text': ('django.db.models.fields.TextField', [], {}), - 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}) - }, - 'forum.anonymousquestion': { - 'Meta': {'object_name': 'AnonymousQuestion'}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'author': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'ip_addr': ('django.db.models.fields.IPAddressField', [], {'max_length': '15'}), - 'session_key': ('django.db.models.fields.CharField', [], {'max_length': '40'}), - 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), - 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), - 'text': ('django.db.models.fields.TextField', [], {}), - 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}), - 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}) - }, - 'forum.answer': { - 'Meta': {'object_name': 'Answer', 'db_table': "u'answer'"}, - 'accepted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'accepted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answers'", 'to': "orm['auth.User']"}), - 'comment_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), - 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_answers'", 'null': 'True', 'to': "orm['auth.User']"}), - 'html': ('django.db.models.fields.TextField', [], {'null': 'True'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'last_edited_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'last_edited_answers'", 'null': 'True', 'to': "orm['auth.User']"}), - 'locked': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'locked_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'locked_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'locked_answers'", 'null': 'True', 'to': "orm['auth.User']"}), - 'offensive_flag_count': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), - 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answers'", 'to': "orm['forum.Question']"}), - 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), - 'text': ('django.db.models.fields.TextField', [], {'null': 'True'}), - 'vote_down_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), - 'vote_up_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), - 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'wikified_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}) - }, - 'forum.answerrevision': { - 'Meta': {'object_name': 'AnswerRevision', 'db_table': "u'answer_revision'"}, - 'answer': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'revisions'", 'to': "orm['forum.Answer']"}), - 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answerrevisions'", 'to': "orm['auth.User']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'revised_at': ('django.db.models.fields.DateTimeField', [], {}), - 'revision': ('django.db.models.fields.PositiveIntegerField', [], {}), - 'summary': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}), - 'text': ('django.db.models.fields.TextField', [], {}) - }, - 'forum.authkeyuserassociation': { - 'Meta': {'object_name': 'AuthKeyUserAssociation'}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'key': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), - 'provider': ('django.db.models.fields.CharField', [], {'max_length': '64'}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'auth_keys'", 'to': "orm['auth.User']"}) - }, - 'forum.award': { - 'Meta': {'object_name': 'Award', 'db_table': "u'award'"}, - 'awarded_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'badge': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'award_badge'", 'to': "orm['forum.Badge']"}), - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'notified': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'award_user'", 'to': "orm['auth.User']"}) - }, - 'forum.badge': { - 'Meta': {'unique_together': "(('name', 'type'),)", 'object_name': 'Badge', 'db_table': "u'badge'"}, - 'awarded_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), - 'awarded_to': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'badges'", 'through': "'Award'", 'to': "orm['auth.User']"}), - 'description': ('django.db.models.fields.CharField', [], {'max_length': '300'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'multiple': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}), - 'slug': ('django.db.models.fields.SlugField', [], {'db_index': 'True', 'max_length': '50', 'blank': 'True'}), - 'type': ('django.db.models.fields.SmallIntegerField', [], {}) - }, - 'forum.book': { - 'Meta': {'object_name': 'Book', 'db_table': "u'book'"}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {}), - 'author': ('django.db.models.fields.CharField', [], {'max_length': '255'}), - 'cover_img': ('django.db.models.fields.CharField', [], {'max_length': '255'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {}), - 'pages': ('django.db.models.fields.SmallIntegerField', [], {}), - 'price': ('django.db.models.fields.DecimalField', [], {'max_digits': '6', 'decimal_places': '2'}), - 'publication': ('django.db.models.fields.CharField', [], {'max_length': '255'}), - 'published_at': ('django.db.models.fields.DateTimeField', [], {}), - 'questions': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'book'", 'db_table': "'book_question'", 'to': "orm['forum.Question']"}), - 'short_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}), - 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), - 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) - }, - 'forum.bookauthorinfo': { - 'Meta': {'object_name': 'BookAuthorInfo', 'db_table': "u'book_author_info'"}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {}), - 'blog_url': ('django.db.models.fields.CharField', [], {'max_length': '255'}), - 'book': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Book']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) - }, - 'forum.bookauthorrss': { - 'Meta': {'object_name': 'BookAuthorRss', 'db_table': "u'book_author_rss'"}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {}), - 'book': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Book']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'rss_created_at': ('django.db.models.fields.DateTimeField', [], {}), - 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}), - 'url': ('django.db.models.fields.CharField', [], {'max_length': '255'}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) - }, - 'forum.comment': { - 'Meta': {'object_name': 'Comment', 'db_table': "u'comment'"}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'comment': ('django.db.models.fields.CharField', [], {'max_length': '300'}), - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'comments'", 'to': "orm['auth.User']"}) - }, - 'forum.emailfeedsetting': { - 'Meta': {'object_name': 'EmailFeedSetting'}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), - 'feed_type': ('django.db.models.fields.CharField', [], {'max_length': '16'}), - 'frequency': ('django.db.models.fields.CharField', [], {'default': "'n'", 'max_length': '8'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'reported_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}), - 'subscriber': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) - }, - 'forum.favoritequestion': { - 'Meta': {'object_name': 'FavoriteQuestion', 'db_table': "u'favorite_question'"}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Question']"}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'user_favorite_questions'", 'to': "orm['auth.User']"}) - }, - 'forum.flaggeditem': { - 'Meta': {'unique_together': "(('content_type', 'object_id', 'user'),)", 'object_name': 'FlaggedItem', 'db_table': "u'flagged_item'"}, - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), - 'flagged_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'flaggeditems'", 'to': "orm['auth.User']"}) - }, - 'forum.markedtag': { - 'Meta': {'object_name': 'MarkedTag'}, - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'reason': ('django.db.models.fields.CharField', [], {'max_length': '16'}), - 'tag': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'user_selections'", 'to': "orm['forum.Tag']"}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'tag_selections'", 'to': "orm['auth.User']"}) - }, - 'forum.question': { - 'Meta': {'object_name': 'Question', 'db_table': "u'question'"}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'answer_accepted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'answer_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), - 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'questions'", 'to': "orm['auth.User']"}), - 'close_reason': ('django.db.models.fields.SmallIntegerField', [], {'null': 'True', 'blank': 'True'}), - 'closed': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'closed_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'closed_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'closed_questions'", 'null': 'True', 'to': "orm['auth.User']"}), - 'comment_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), - 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_questions'", 'null': 'True', 'to': "orm['auth.User']"}), - 'favorited_by': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'favorite_questions'", 'through': "'FavoriteQuestion'", 'to': "orm['auth.User']"}), - 'favourite_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), - 'followed_by': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'followed_questions'", 'to': "orm['auth.User']"}), - 'html': ('django.db.models.fields.TextField', [], {'null': 'True'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'last_activity_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'last_activity_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'last_active_in_questions'", 'to': "orm['auth.User']"}), - 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'last_edited_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'last_edited_questions'", 'null': 'True', 'to': "orm['auth.User']"}), - 'locked': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'locked_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'locked_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'locked_questions'", 'null': 'True', 'to': "orm['auth.User']"}), - 'offensive_flag_count': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), - 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), - 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), - 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), - 'tags': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'questions'", 'to': "orm['forum.Tag']"}), - 'text': ('django.db.models.fields.TextField', [], {'null': 'True'}), - 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}), - 'view_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), - 'vote_down_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), - 'vote_up_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), - 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'wikified_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}) - }, - 'forum.questionrevision': { - 'Meta': {'object_name': 'QuestionRevision', 'db_table': "u'question_revision'"}, - 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'questionrevisions'", 'to': "orm['auth.User']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'revisions'", 'to': "orm['forum.Question']"}), - 'revised_at': ('django.db.models.fields.DateTimeField', [], {}), - 'revision': ('django.db.models.fields.PositiveIntegerField', [], {}), - 'summary': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}), - 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), - 'text': ('django.db.models.fields.TextField', [], {}), - 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}) - }, - 'forum.questionview': { - 'Meta': {'object_name': 'QuestionView'}, - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'viewed'", 'to': "orm['forum.Question']"}), - 'when': ('django.db.models.fields.DateTimeField', [], {}), - 'who': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'question_views'", 'to': "orm['auth.User']"}) - }, - 'forum.repute': { - 'Meta': {'object_name': 'Repute', 'db_table': "u'repute'"}, - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'negative': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), - 'positive': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), - 'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Question']"}), - 'reputation': ('django.db.models.fields.IntegerField', [], {'default': '1'}), - 'reputation_type': ('django.db.models.fields.SmallIntegerField', [], {}), - 'reputed_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) - }, - 'forum.tag': { - 'Meta': {'object_name': 'Tag', 'db_table': "u'tag'"}, - 'created_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'created_tags'", 'to': "orm['auth.User']"}), - 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_tags'", 'null': 'True', 'to': "orm['auth.User']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), - 'used_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}) - }, - 'forum.validationhash': { - 'Meta': {'unique_together': "(('user', 'type'),)", 'object_name': 'ValidationHash'}, - 'expiration': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2010, 4, 25, 19, 13, 13, 325125)'}), - 'hash_code': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'seed': ('django.db.models.fields.CharField', [], {'max_length': '12'}), - 'type': ('django.db.models.fields.CharField', [], {'max_length': '12'}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) - }, - 'forum.vote': { - 'Meta': {'unique_together': "(('content_type', 'object_id', 'user'),)", 'object_name': 'Vote', 'db_table': "u'vote'"}, - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'votes'", 'to': "orm['auth.User']"}), - 'vote': ('django.db.models.fields.SmallIntegerField', [], {}), - 'voted_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}) - } - } - - complete_apps = ['forum'] diff --git a/forum/migrations/0005_install_badges.py b/forum/migrations/0005_install_badges.py deleted file mode 100644 index 5c05ecdd..00000000 --- a/forum/migrations/0005_install_badges.py +++ /dev/null @@ -1,417 +0,0 @@ -# encoding: utf-8 -import datetime -from south.db import db -from south.v2 import DataMigration -from django.db import models - -_ = lambda v:v #fake translation function so that badges are translated, but database takes keys - -INITIAL_BADGE_DATA = ( - (_('Disciplined'), 3, _('disciplined'), _('Deleted own post with score of 3 or higher'), True, 0), - (_('Peer Pressure'), 3, _('peer-pressure'), _('Deleted own post with score of -3 or lower'), True, 0), - (_('Nice answer'), 3, _('nice-answer'), _('Answer voted up 10 times'), True, 0), - (_('Nice Question'), 3, _('nice-question'), _('Question voted up 10 times'), True, 0), - (_('Pundit'), 3, _('pundit'), _('Left 10 comments with score of 10 or more'), False, 0), - (_('Popular Question'), 3, _('popular-question'), _('Asked a question with 1,000 views'), True, 0), - (_('Citizen patrol'), 3, _('citizen-patrol'), _('First flagged post'), False, 0), - (_('Cleanup'), 3, _('cleanup'), _('First rollback'), False, 0), - (_('Critic'), 3, _('critic'), _('First down vote'), False, 0), - (_('Editor'), 3, _('editor'), _('First edit'), False, 0), - (_('Organizer'), 3, _('organizer'), _('First retag'), False, 0), - (_('Scholar'), 3, _('scholar'), _('First accepted answer on your own question'), False, 0), - (_('Student'), 3, _('student'), _('Asked first question with at least one up vote'), False, 0), - (_('Supporter'), 3, _('supporter'), _('First up vote'), False, 0), - (_('Teacher'), 3, _('teacher'), _('Answered first question with at least one up vote'), False, 0), - (_('Autobiographer'), 3, _('autobiographer'), _('Completed all user profile fields'), False, 0), - (_('Self-Learner'), 3, _('self-learner'), _('Answered your own question with at least 3 up votes'), True, 0), - (_('Great Answer'), 1, _('great-answer'), _('Answer voted up 100 times'), True, 0), - (_('Great Question'), 1, _('great-question'), _('Question voted up 100 times'), True, 0), - (_('Stellar Question'), 1, _('stellar-question'), _('Question favorited by 100 users'), True, 0), - (_('Famous question'), 1, _('famous-question'), _('Asked a question with 10,000 views'), True, 0), - (_('Alpha'), 2, _('alpha'), _('Actively participated in the private alpha'), False, 0), - (_('Good Answer'), 2, _('good-answer'), _('Answer voted up 25 times'), True, 0), - (_('Good Question'), 2, _('good-question'), _('Question voted up 25 times'), True, 0), - (_('Favorite Question'), 2, _('favorite-question'), _('Question favorited by 25 users'), True, 0), - (_('Civic duty'), 2, _('civic-duty'), _('Voted 300 times'), False, 0), - (_('Strunk & White'), 2, _('strunk-and-white'), _('Edited 100 entries'), False, 0), - (_('Generalist'), 2, _('generalist'), _('Active in many different tags'), False, 0), - (_('Expert'), 2, _('expert'), _('Very active in one tag'), False, 0), - (_('Yearling'), 2, _('yearling'), _('Active member for a year'), False, 0), - (_('Notable Question'), 2, _('notable-question'), _('Asked a question with 2,500 views'), True, 0), - (_('Enlightened'), 2, _('enlightened'), _('First answer was accepted with at least 10 up votes'), False, 0), - (_('Beta'), 2, _('beta'), _('Actively participated in the private beta'), False, 0), - (_('Guru'), 2, _('guru'), _('Accepted answer and voted up 40 times'), True, 0), - (_('Necromancer'), 2, _('necromancer'), _('Answered a question more than 60 days later with at least 5 votes'), True, 0), - (_('Taxonomist'), 2, _('taxonomist'), _('Created a tag used by 50 questions'), True, 0) -) - -class Migration(DataMigration): - - def forwards(self, orm): - "Write your forwards methods here." - - for entry in INITIAL_BADGE_DATA: - name = entry[0] - type = entry[1] - slug = entry[2] - description = entry[3] - multiple = entry[4] - - try: - badge = orm.Badge.objects.get(name=name) - print 'already have badge %s' % name - except orm.Badge.DoesNotExist: - print 'adding new badge %s' % name - badge = orm.Badge() - badge.name = name - - badge.type = type - badge.slug = slug - badge.description = description - badge.multiple = multiple - badge.save() - - - def backwards(self, orm): - "Write your backwards methods here." - for entry in INITIAL_BADGE_DATA: - name = entry[0] - try: - badge = orm.Badge.objects.get(name = name) - badge.award_badge.clear() - badge.delete() - print 'deleted badge %s' % name - except orm.Badge.DoesNotExist: - print 'no such badge %s - so skipping' % name - pass - - models = { - 'auth.group': { - 'Meta': {'object_name': 'Group'}, - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'blank': 'True'}) - }, - 'auth.permission': { - 'Meta': {'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) - }, - 'auth.user': { - 'Meta': {'object_name': 'User'}, - 'about': ('django.db.models.fields.TextField', [], {'blank': 'True'}), - 'bronze': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'date_of_birth': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), - 'email_isvalid': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'email_key': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), - 'gold': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), - 'gravatar': ('django.db.models.fields.CharField', [], {'max_length': '32'}), - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'blank': 'True'}), - 'hide_ignored_questions': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}), - 'is_approved': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), - 'last_seen': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'location': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), - 'questions_per_page': ('django.db.models.fields.SmallIntegerField', [], {'default': '10'}), - 'real_name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), - 'reputation': ('django.db.models.fields.PositiveIntegerField', [], {'default': '1'}), - 'silver': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), - 'tag_filter_setting': ('django.db.models.fields.CharField', [], {'default': "'ignored'", 'max_length': '16'}), - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'blank': 'True'}), - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), - 'website': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}) - }, - 'contenttypes.contenttype': { - 'Meta': {'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), - 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) - }, - 'forum.activity': { - 'Meta': {'object_name': 'Activity', 'db_table': "u'activity'"}, - 'active_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'activity_type': ('django.db.models.fields.SmallIntegerField', [], {}), - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'is_auditted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) - }, - 'forum.anonymousanswer': { - 'Meta': {'object_name': 'AnonymousAnswer'}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'author': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'ip_addr': ('django.db.models.fields.IPAddressField', [], {'max_length': '15'}), - 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'anonymous_answers'", 'to': "orm['forum.Question']"}), - 'session_key': ('django.db.models.fields.CharField', [], {'max_length': '40'}), - 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), - 'text': ('django.db.models.fields.TextField', [], {}), - 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}) - }, - 'forum.anonymousquestion': { - 'Meta': {'object_name': 'AnonymousQuestion'}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'author': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'ip_addr': ('django.db.models.fields.IPAddressField', [], {'max_length': '15'}), - 'session_key': ('django.db.models.fields.CharField', [], {'max_length': '40'}), - 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), - 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), - 'text': ('django.db.models.fields.TextField', [], {}), - 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}), - 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}) - }, - 'forum.answer': { - 'Meta': {'object_name': 'Answer', 'db_table': "u'answer'"}, - 'accepted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'accepted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answers'", 'to': "orm['auth.User']"}), - 'comment_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), - 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_answers'", 'null': 'True', 'to': "orm['auth.User']"}), - 'html': ('django.db.models.fields.TextField', [], {'null': 'True'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'last_edited_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'last_edited_answers'", 'null': 'True', 'to': "orm['auth.User']"}), - 'locked': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'locked_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'locked_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'locked_answers'", 'null': 'True', 'to': "orm['auth.User']"}), - 'offensive_flag_count': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), - 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answers'", 'to': "orm['forum.Question']"}), - 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), - 'text': ('django.db.models.fields.TextField', [], {'null': 'True'}), - 'vote_down_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), - 'vote_up_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), - 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'wikified_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}) - }, - 'forum.answerrevision': { - 'Meta': {'object_name': 'AnswerRevision', 'db_table': "u'answer_revision'"}, - 'answer': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'revisions'", 'to': "orm['forum.Answer']"}), - 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answerrevisions'", 'to': "orm['auth.User']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'revised_at': ('django.db.models.fields.DateTimeField', [], {}), - 'revision': ('django.db.models.fields.PositiveIntegerField', [], {}), - 'summary': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}), - 'text': ('django.db.models.fields.TextField', [], {}) - }, - 'forum.authkeyuserassociation': { - 'Meta': {'object_name': 'AuthKeyUserAssociation'}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'key': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), - 'provider': ('django.db.models.fields.CharField', [], {'max_length': '64'}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'auth_keys'", 'to': "orm['auth.User']"}) - }, - 'forum.award': { - 'Meta': {'object_name': 'Award', 'db_table': "u'award'"}, - 'awarded_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'badge': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'award_badge'", 'to': "orm['forum.Badge']"}), - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'notified': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'award_user'", 'to': "orm['auth.User']"}) - }, - 'forum.badge': { - 'Meta': {'unique_together': "(('name', 'type'),)", 'object_name': 'Badge', 'db_table': "u'badge'"}, - 'awarded_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), - 'awarded_to': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'badges'", 'through': "'Award'", 'to': "orm['auth.User']"}), - 'description': ('django.db.models.fields.CharField', [], {'max_length': '300'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'multiple': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}), - 'slug': ('django.db.models.fields.SlugField', [], {'db_index': 'True', 'max_length': '50', 'blank': 'True'}), - 'type': ('django.db.models.fields.SmallIntegerField', [], {}) - }, - 'forum.book': { - 'Meta': {'object_name': 'Book', 'db_table': "u'book'"}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {}), - 'author': ('django.db.models.fields.CharField', [], {'max_length': '255'}), - 'cover_img': ('django.db.models.fields.CharField', [], {'max_length': '255'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {}), - 'pages': ('django.db.models.fields.SmallIntegerField', [], {}), - 'price': ('django.db.models.fields.DecimalField', [], {'max_digits': '6', 'decimal_places': '2'}), - 'publication': ('django.db.models.fields.CharField', [], {'max_length': '255'}), - 'published_at': ('django.db.models.fields.DateTimeField', [], {}), - 'questions': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'book'", 'db_table': "'book_question'", 'to': "orm['forum.Question']"}), - 'short_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}), - 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), - 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) - }, - 'forum.bookauthorinfo': { - 'Meta': {'object_name': 'BookAuthorInfo', 'db_table': "u'book_author_info'"}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {}), - 'blog_url': ('django.db.models.fields.CharField', [], {'max_length': '255'}), - 'book': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Book']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) - }, - 'forum.bookauthorrss': { - 'Meta': {'object_name': 'BookAuthorRss', 'db_table': "u'book_author_rss'"}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {}), - 'book': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Book']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'rss_created_at': ('django.db.models.fields.DateTimeField', [], {}), - 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}), - 'url': ('django.db.models.fields.CharField', [], {'max_length': '255'}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) - }, - 'forum.comment': { - 'Meta': {'object_name': 'Comment', 'db_table': "u'comment'"}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'comment': ('django.db.models.fields.CharField', [], {'max_length': '300'}), - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'comments'", 'to': "orm['auth.User']"}) - }, - 'forum.emailfeedsetting': { - 'Meta': {'object_name': 'EmailFeedSetting'}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), - 'feed_type': ('django.db.models.fields.CharField', [], {'max_length': '16'}), - 'frequency': ('django.db.models.fields.CharField', [], {'default': "'n'", 'max_length': '8'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'reported_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}), - 'subscriber': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) - }, - 'forum.favoritequestion': { - 'Meta': {'object_name': 'FavoriteQuestion', 'db_table': "u'favorite_question'"}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Question']"}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'user_favorite_questions'", 'to': "orm['auth.User']"}) - }, - 'forum.flaggeditem': { - 'Meta': {'unique_together': "(('content_type', 'object_id', 'user'),)", 'object_name': 'FlaggedItem', 'db_table': "u'flagged_item'"}, - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), - 'flagged_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'flaggeditems'", 'to': "orm['auth.User']"}) - }, - 'forum.markedtag': { - 'Meta': {'object_name': 'MarkedTag'}, - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'reason': ('django.db.models.fields.CharField', [], {'max_length': '16'}), - 'tag': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'user_selections'", 'to': "orm['forum.Tag']"}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'tag_selections'", 'to': "orm['auth.User']"}) - }, - 'forum.question': { - 'Meta': {'object_name': 'Question', 'db_table': "u'question'"}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'answer_accepted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'answer_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), - 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'questions'", 'to': "orm['auth.User']"}), - 'close_reason': ('django.db.models.fields.SmallIntegerField', [], {'null': 'True', 'blank': 'True'}), - 'closed': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'closed_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'closed_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'closed_questions'", 'null': 'True', 'to': "orm['auth.User']"}), - 'comment_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), - 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_questions'", 'null': 'True', 'to': "orm['auth.User']"}), - 'favorited_by': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'favorite_questions'", 'through': "'FavoriteQuestion'", 'to': "orm['auth.User']"}), - 'favourite_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), - 'followed_by': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'followed_questions'", 'to': "orm['auth.User']"}), - 'html': ('django.db.models.fields.TextField', [], {'null': 'True'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'last_activity_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'last_activity_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'last_active_in_questions'", 'to': "orm['auth.User']"}), - 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'last_edited_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'last_edited_questions'", 'null': 'True', 'to': "orm['auth.User']"}), - 'locked': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'locked_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'locked_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'locked_questions'", 'null': 'True', 'to': "orm['auth.User']"}), - 'offensive_flag_count': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), - 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), - 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), - 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), - 'tags': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'questions'", 'to': "orm['forum.Tag']"}), - 'text': ('django.db.models.fields.TextField', [], {'null': 'True'}), - 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}), - 'view_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), - 'vote_down_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), - 'vote_up_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), - 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'wikified_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}) - }, - 'forum.questionrevision': { - 'Meta': {'object_name': 'QuestionRevision', 'db_table': "u'question_revision'"}, - 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'questionrevisions'", 'to': "orm['auth.User']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'revisions'", 'to': "orm['forum.Question']"}), - 'revised_at': ('django.db.models.fields.DateTimeField', [], {}), - 'revision': ('django.db.models.fields.PositiveIntegerField', [], {}), - 'summary': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}), - 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), - 'text': ('django.db.models.fields.TextField', [], {}), - 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}) - }, - 'forum.questionview': { - 'Meta': {'object_name': 'QuestionView'}, - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'viewed'", 'to': "orm['forum.Question']"}), - 'when': ('django.db.models.fields.DateTimeField', [], {}), - 'who': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'question_views'", 'to': "orm['auth.User']"}) - }, - 'forum.repute': { - 'Meta': {'object_name': 'Repute', 'db_table': "u'repute'"}, - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'negative': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), - 'positive': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), - 'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Question']"}), - 'reputation': ('django.db.models.fields.IntegerField', [], {'default': '1'}), - 'reputation_type': ('django.db.models.fields.SmallIntegerField', [], {}), - 'reputed_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) - }, - 'forum.tag': { - 'Meta': {'object_name': 'Tag', 'db_table': "u'tag'"}, - 'created_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'created_tags'", 'to': "orm['auth.User']"}), - 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_tags'", 'null': 'True', 'to': "orm['auth.User']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), - 'used_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}) - }, - 'forum.validationhash': { - 'Meta': {'unique_together': "(('user', 'type'),)", 'object_name': 'ValidationHash'}, - 'expiration': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2010, 5, 2, 12, 29, 51, 920204)'}), - 'hash_code': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'seed': ('django.db.models.fields.CharField', [], {'max_length': '12'}), - 'type': ('django.db.models.fields.CharField', [], {'max_length': '12'}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) - }, - 'forum.vote': { - 'Meta': {'unique_together': "(('content_type', 'object_id', 'user'),)", 'object_name': 'Vote', 'db_table': "u'vote'"}, - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'votes'", 'to': "orm['auth.User']"}), - 'vote': ('django.db.models.fields.SmallIntegerField', [], {}), - 'voted_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}) - } - } - - complete_apps = ['forum'] diff --git a/forum/migrations/0006_add_subscription_setting_for_comments_and_mentions.py b/forum/migrations/0006_add_subscription_setting_for_comments_and_mentions.py deleted file mode 100644 index e9f69800..00000000 --- a/forum/migrations/0006_add_subscription_setting_for_comments_and_mentions.py +++ /dev/null @@ -1,383 +0,0 @@ -# encoding: utf-8 -import datetime -from south.db import db -from south.v2 import DataMigration -from django.db import models -from forum.models import EmailFeedSetting -from forum import const - -class Migration(DataMigration): - - def forwards(self, orm): - "Write your forwards methods here." - print '' - print '**************' - print 'Adding subscription on comment responses and name mentions for each user. ' - print 'frequency will be automatically set to the most frequent selection ' - print 'that user made for any other types of subscriptions' - print '' - - for user in orm['auth.user'].objects.all(): - - feeds = orm['forum.emailfeedsetting'].objects.filter(subscriber=user) - freqs = set([f.frequency for f in feeds]) - - if 'i' in freqs: - frequency = 'i' - elif 'd' in freqs: - frequency = 'd' - elif 'w' in freqs: - frequency = 'w' - else: - frequency = 'n' - - new_feed = orm['forum.emailfeedsetting']( - subscriber = user, - frequency = frequency, - feed_type = 'm_and_c', - ) - new_feed.save() - verbose_frequency = dict(const.NOTIFICATION_DELIVERY_SCHEDULE_CHOICES)[frequency] - print 'added \'%s\' subscription for %s (%d)' % ( - verbose_frequency, - user.username, - user.id - ) - - def backwards(self, orm): - "Write your backwards methods here." - feeds = EmailFeedSetting.objects.filter(feed_type = 'm_and_c') - n = len(feeds) - feeds.delete() - print 'deleted %d feeds' % n - - models = { - 'auth.group': { - 'Meta': {'object_name': 'Group'}, - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'blank': 'True'}) - }, - 'auth.permission': { - 'Meta': {'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) - }, - 'auth.user': { - 'Meta': {'object_name': 'User'}, - 'about': ('django.db.models.fields.TextField', [], {'blank': 'True'}), - 'bronze': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'date_of_birth': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), - 'email_isvalid': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'email_key': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), - 'gold': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), - 'gravatar': ('django.db.models.fields.CharField', [], {'max_length': '32'}), - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'blank': 'True'}), - 'hide_ignored_questions': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}), - 'is_approved': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), - 'last_seen': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'location': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), - 'questions_per_page': ('django.db.models.fields.SmallIntegerField', [], {'default': '10'}), - 'real_name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), - 'reputation': ('django.db.models.fields.PositiveIntegerField', [], {'default': '1'}), - 'silver': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), - 'tag_filter_setting': ('django.db.models.fields.CharField', [], {'default': "'ignored'", 'max_length': '16'}), - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'blank': 'True'}), - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), - 'website': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}) - }, - 'contenttypes.contenttype': { - 'Meta': {'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), - 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) - }, - 'forum.activity': { - 'Meta': {'object_name': 'Activity', 'db_table': "u'activity'"}, - 'active_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'activity_type': ('django.db.models.fields.SmallIntegerField', [], {}), - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'is_auditted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) - }, - 'forum.anonymousanswer': { - 'Meta': {'object_name': 'AnonymousAnswer'}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'author': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'ip_addr': ('django.db.models.fields.IPAddressField', [], {'max_length': '15'}), - 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'anonymous_answers'", 'to': "orm['forum.Question']"}), - 'session_key': ('django.db.models.fields.CharField', [], {'max_length': '40'}), - 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), - 'text': ('django.db.models.fields.TextField', [], {}), - 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}) - }, - 'forum.anonymousquestion': { - 'Meta': {'object_name': 'AnonymousQuestion'}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'author': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'ip_addr': ('django.db.models.fields.IPAddressField', [], {'max_length': '15'}), - 'session_key': ('django.db.models.fields.CharField', [], {'max_length': '40'}), - 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), - 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), - 'text': ('django.db.models.fields.TextField', [], {}), - 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}), - 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}) - }, - 'forum.answer': { - 'Meta': {'object_name': 'Answer', 'db_table': "u'answer'"}, - 'accepted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'accepted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answers'", 'to': "orm['auth.User']"}), - 'comment_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), - 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_answers'", 'null': 'True', 'to': "orm['auth.User']"}), - 'html': ('django.db.models.fields.TextField', [], {'null': 'True'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'last_edited_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'last_edited_answers'", 'null': 'True', 'to': "orm['auth.User']"}), - 'locked': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'locked_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'locked_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'locked_answers'", 'null': 'True', 'to': "orm['auth.User']"}), - 'offensive_flag_count': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), - 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answers'", 'to': "orm['forum.Question']"}), - 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), - 'text': ('django.db.models.fields.TextField', [], {'null': 'True'}), - 'vote_down_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), - 'vote_up_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), - 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'wikified_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}) - }, - 'forum.answerrevision': { - 'Meta': {'object_name': 'AnswerRevision', 'db_table': "u'answer_revision'"}, - 'answer': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'revisions'", 'to': "orm['forum.Answer']"}), - 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answerrevisions'", 'to': "orm['auth.User']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'revised_at': ('django.db.models.fields.DateTimeField', [], {}), - 'revision': ('django.db.models.fields.PositiveIntegerField', [], {}), - 'summary': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}), - 'text': ('django.db.models.fields.TextField', [], {}) - }, - 'forum.authkeyuserassociation': { - 'Meta': {'object_name': 'AuthKeyUserAssociation'}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'key': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), - 'provider': ('django.db.models.fields.CharField', [], {'max_length': '64'}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'auth_keys'", 'to': "orm['auth.User']"}) - }, - 'forum.award': { - 'Meta': {'object_name': 'Award', 'db_table': "u'award'"}, - 'awarded_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'badge': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'award_badge'", 'to': "orm['forum.Badge']"}), - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'notified': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'award_user'", 'to': "orm['auth.User']"}) - }, - 'forum.badge': { - 'Meta': {'unique_together': "(('name', 'type'),)", 'object_name': 'Badge', 'db_table': "u'badge'"}, - 'awarded_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), - 'awarded_to': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'badges'", 'through': "'Award'", 'to': "orm['auth.User']"}), - 'description': ('django.db.models.fields.CharField', [], {'max_length': '300'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'multiple': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}), - 'slug': ('django.db.models.fields.SlugField', [], {'db_index': 'True', 'max_length': '50', 'blank': 'True'}), - 'type': ('django.db.models.fields.SmallIntegerField', [], {}) - }, - 'forum.book': { - 'Meta': {'object_name': 'Book', 'db_table': "u'book'"}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {}), - 'author': ('django.db.models.fields.CharField', [], {'max_length': '255'}), - 'cover_img': ('django.db.models.fields.CharField', [], {'max_length': '255'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {}), - 'pages': ('django.db.models.fields.SmallIntegerField', [], {}), - 'price': ('django.db.models.fields.DecimalField', [], {'max_digits': '6', 'decimal_places': '2'}), - 'publication': ('django.db.models.fields.CharField', [], {'max_length': '255'}), - 'published_at': ('django.db.models.fields.DateTimeField', [], {}), - 'questions': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'book'", 'db_table': "'book_question'", 'to': "orm['forum.Question']"}), - 'short_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}), - 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), - 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) - }, - 'forum.bookauthorinfo': { - 'Meta': {'object_name': 'BookAuthorInfo', 'db_table': "u'book_author_info'"}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {}), - 'blog_url': ('django.db.models.fields.CharField', [], {'max_length': '255'}), - 'book': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Book']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) - }, - 'forum.bookauthorrss': { - 'Meta': {'object_name': 'BookAuthorRss', 'db_table': "u'book_author_rss'"}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {}), - 'book': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Book']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'rss_created_at': ('django.db.models.fields.DateTimeField', [], {}), - 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}), - 'url': ('django.db.models.fields.CharField', [], {'max_length': '255'}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) - }, - 'forum.comment': { - 'Meta': {'object_name': 'Comment', 'db_table': "u'comment'"}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'comment': ('django.db.models.fields.CharField', [], {'max_length': '300'}), - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'comments'", 'to': "orm['auth.User']"}) - }, - 'forum.emailfeedsetting': { - 'Meta': {'object_name': 'EmailFeedSetting'}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), - 'feed_type': ('django.db.models.fields.CharField', [], {'max_length': '16'}), - 'frequency': ('django.db.models.fields.CharField', [], {'default': "'n'", 'max_length': '8'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'reported_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}), - 'subscriber': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) - }, - 'forum.favoritequestion': { - 'Meta': {'object_name': 'FavoriteQuestion', 'db_table': "u'favorite_question'"}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Question']"}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'user_favorite_questions'", 'to': "orm['auth.User']"}) - }, - 'forum.flaggeditem': { - 'Meta': {'unique_together': "(('content_type', 'object_id', 'user'),)", 'object_name': 'FlaggedItem', 'db_table': "u'flagged_item'"}, - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), - 'flagged_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'flaggeditems'", 'to': "orm['auth.User']"}) - }, - 'forum.markedtag': { - 'Meta': {'object_name': 'MarkedTag'}, - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'reason': ('django.db.models.fields.CharField', [], {'max_length': '16'}), - 'tag': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'user_selections'", 'to': "orm['forum.Tag']"}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'tag_selections'", 'to': "orm['auth.User']"}) - }, - 'forum.question': { - 'Meta': {'object_name': 'Question', 'db_table': "u'question'"}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'answer_accepted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'answer_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), - 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'questions'", 'to': "orm['auth.User']"}), - 'close_reason': ('django.db.models.fields.SmallIntegerField', [], {'null': 'True', 'blank': 'True'}), - 'closed': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'closed_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'closed_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'closed_questions'", 'null': 'True', 'to': "orm['auth.User']"}), - 'comment_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), - 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_questions'", 'null': 'True', 'to': "orm['auth.User']"}), - 'favorited_by': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'favorite_questions'", 'through': "'FavoriteQuestion'", 'to': "orm['auth.User']"}), - 'favourite_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), - 'followed_by': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'followed_questions'", 'to': "orm['auth.User']"}), - 'html': ('django.db.models.fields.TextField', [], {'null': 'True'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'last_activity_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'last_activity_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'last_active_in_questions'", 'to': "orm['auth.User']"}), - 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'last_edited_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'last_edited_questions'", 'null': 'True', 'to': "orm['auth.User']"}), - 'locked': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'locked_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'locked_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'locked_questions'", 'null': 'True', 'to': "orm['auth.User']"}), - 'offensive_flag_count': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), - 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), - 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), - 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), - 'tags': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'questions'", 'to': "orm['forum.Tag']"}), - 'text': ('django.db.models.fields.TextField', [], {'null': 'True'}), - 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}), - 'view_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), - 'vote_down_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), - 'vote_up_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), - 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'wikified_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}) - }, - 'forum.questionrevision': { - 'Meta': {'object_name': 'QuestionRevision', 'db_table': "u'question_revision'"}, - 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'questionrevisions'", 'to': "orm['auth.User']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'revisions'", 'to': "orm['forum.Question']"}), - 'revised_at': ('django.db.models.fields.DateTimeField', [], {}), - 'revision': ('django.db.models.fields.PositiveIntegerField', [], {}), - 'summary': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}), - 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), - 'text': ('django.db.models.fields.TextField', [], {}), - 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}) - }, - 'forum.questionview': { - 'Meta': {'object_name': 'QuestionView'}, - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'viewed'", 'to': "orm['forum.Question']"}), - 'when': ('django.db.models.fields.DateTimeField', [], {}), - 'who': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'question_views'", 'to': "orm['auth.User']"}) - }, - 'forum.repute': { - 'Meta': {'object_name': 'Repute', 'db_table': "u'repute'"}, - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'negative': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), - 'positive': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), - 'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Question']"}), - 'reputation': ('django.db.models.fields.IntegerField', [], {'default': '1'}), - 'reputation_type': ('django.db.models.fields.SmallIntegerField', [], {}), - 'reputed_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) - }, - 'forum.tag': { - 'Meta': {'object_name': 'Tag', 'db_table': "u'tag'"}, - 'created_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'created_tags'", 'to': "orm['auth.User']"}), - 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_tags'", 'null': 'True', 'to': "orm['auth.User']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), - 'used_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}) - }, - 'forum.validationhash': { - 'Meta': {'unique_together': "(('user', 'type'),)", 'object_name': 'ValidationHash'}, - 'expiration': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2010, 5, 16, 15, 7, 19, 596607)'}), - 'hash_code': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'seed': ('django.db.models.fields.CharField', [], {'max_length': '12'}), - 'type': ('django.db.models.fields.CharField', [], {'max_length': '12'}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) - }, - 'forum.vote': { - 'Meta': {'unique_together': "(('content_type', 'object_id', 'user'),)", 'object_name': 'Vote', 'db_table': "u'vote'"}, - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'votes'", 'to': "orm['auth.User']"}), - 'vote': ('django.db.models.fields.SmallIntegerField', [], {}), - 'voted_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}) - } - } - - complete_apps = ['forum'] diff --git a/forum/migrations/0007_install_mentions_model.py b/forum/migrations/0007_install_mentions_model.py deleted file mode 100644 index a4fadd67..00000000 --- a/forum/migrations/0007_install_mentions_model.py +++ /dev/null @@ -1,367 +0,0 @@ -# encoding: utf-8 -import datetime -from south.db import db -from south.v2 import SchemaMigration -from django.db import models - -class Migration(SchemaMigration): - - def forwards(self, orm): - - # Adding model 'Mention' - db.create_table(u'mention', ( - ('mentioned_by', self.gf('django.db.models.fields.related.ForeignKey')(related_name='mentions_sent', to=orm['auth.User'])), - ('mentioned_at', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)), - ('object_id', self.gf('django.db.models.fields.PositiveIntegerField')()), - ('content_type', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['contenttypes.ContentType'])), - ('mentioned_whom', self.gf('django.db.models.fields.related.ForeignKey')(related_name='mentions_received', to=orm['auth.User'])), - ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), - )) - db.send_create_signal('forum', ['Mention']) - - - def backwards(self, orm): - - # Deleting model 'Mention' - db.delete_table(u'mention') - - - models = { - 'auth.group': { - 'Meta': {'object_name': 'Group'}, - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'blank': 'True'}) - }, - 'auth.permission': { - 'Meta': {'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) - }, - 'auth.user': { - 'Meta': {'object_name': 'User'}, - 'about': ('django.db.models.fields.TextField', [], {'blank': 'True'}), - 'bronze': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'date_of_birth': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), - 'email_isvalid': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'email_key': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), - 'gold': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), - 'gravatar': ('django.db.models.fields.CharField', [], {'max_length': '32'}), - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'blank': 'True'}), - 'hide_ignored_questions': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}), - 'is_approved': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), - 'last_seen': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'location': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), - 'questions_per_page': ('django.db.models.fields.SmallIntegerField', [], {'default': '10'}), - 'real_name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), - 'reputation': ('django.db.models.fields.PositiveIntegerField', [], {'default': '1'}), - 'silver': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), - 'tag_filter_setting': ('django.db.models.fields.CharField', [], {'default': "'ignored'", 'max_length': '16'}), - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'blank': 'True'}), - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), - 'website': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}) - }, - 'contenttypes.contenttype': { - 'Meta': {'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), - 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) - }, - 'forum.activity': { - 'Meta': {'object_name': 'Activity', 'db_table': "u'activity'"}, - 'active_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'activity_type': ('django.db.models.fields.SmallIntegerField', [], {}), - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'is_auditted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) - }, - 'forum.anonymousanswer': { - 'Meta': {'object_name': 'AnonymousAnswer'}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'author': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'ip_addr': ('django.db.models.fields.IPAddressField', [], {'max_length': '15'}), - 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'anonymous_answers'", 'to': "orm['forum.Question']"}), - 'session_key': ('django.db.models.fields.CharField', [], {'max_length': '40'}), - 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), - 'text': ('django.db.models.fields.TextField', [], {}), - 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}) - }, - 'forum.anonymousquestion': { - 'Meta': {'object_name': 'AnonymousQuestion'}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'author': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'ip_addr': ('django.db.models.fields.IPAddressField', [], {'max_length': '15'}), - 'session_key': ('django.db.models.fields.CharField', [], {'max_length': '40'}), - 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), - 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), - 'text': ('django.db.models.fields.TextField', [], {}), - 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}), - 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}) - }, - 'forum.answer': { - 'Meta': {'object_name': 'Answer', 'db_table': "u'answer'"}, - 'accepted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'accepted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answers'", 'to': "orm['auth.User']"}), - 'comment_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), - 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_answers'", 'null': 'True', 'to': "orm['auth.User']"}), - 'html': ('django.db.models.fields.TextField', [], {'null': 'True'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'last_edited_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'last_edited_answers'", 'null': 'True', 'to': "orm['auth.User']"}), - 'locked': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'locked_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'locked_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'locked_answers'", 'null': 'True', 'to': "orm['auth.User']"}), - 'offensive_flag_count': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), - 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answers'", 'to': "orm['forum.Question']"}), - 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), - 'text': ('django.db.models.fields.TextField', [], {'null': 'True'}), - 'vote_down_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), - 'vote_up_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), - 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'wikified_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}) - }, - 'forum.answerrevision': { - 'Meta': {'object_name': 'AnswerRevision', 'db_table': "u'answer_revision'"}, - 'answer': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'revisions'", 'to': "orm['forum.Answer']"}), - 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answerrevisions'", 'to': "orm['auth.User']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'revised_at': ('django.db.models.fields.DateTimeField', [], {}), - 'revision': ('django.db.models.fields.PositiveIntegerField', [], {}), - 'summary': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}), - 'text': ('django.db.models.fields.TextField', [], {}) - }, - 'forum.authkeyuserassociation': { - 'Meta': {'object_name': 'AuthKeyUserAssociation'}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'key': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), - 'provider': ('django.db.models.fields.CharField', [], {'max_length': '64'}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'auth_keys'", 'to': "orm['auth.User']"}) - }, - 'forum.award': { - 'Meta': {'object_name': 'Award', 'db_table': "u'award'"}, - 'awarded_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'badge': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'award_badge'", 'to': "orm['forum.Badge']"}), - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'notified': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'award_user'", 'to': "orm['auth.User']"}) - }, - 'forum.badge': { - 'Meta': {'unique_together': "(('name', 'type'),)", 'object_name': 'Badge', 'db_table': "u'badge'"}, - 'awarded_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), - 'awarded_to': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'badges'", 'through': "'Award'", 'to': "orm['auth.User']"}), - 'description': ('django.db.models.fields.CharField', [], {'max_length': '300'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'multiple': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}), - 'slug': ('django.db.models.fields.SlugField', [], {'db_index': 'True', 'max_length': '50', 'blank': 'True'}), - 'type': ('django.db.models.fields.SmallIntegerField', [], {}) - }, - 'forum.book': { - 'Meta': {'object_name': 'Book', 'db_table': "u'book'"}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {}), - 'author': ('django.db.models.fields.CharField', [], {'max_length': '255'}), - 'cover_img': ('django.db.models.fields.CharField', [], {'max_length': '255'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {}), - 'pages': ('django.db.models.fields.SmallIntegerField', [], {}), - 'price': ('django.db.models.fields.DecimalField', [], {'max_digits': '6', 'decimal_places': '2'}), - 'publication': ('django.db.models.fields.CharField', [], {'max_length': '255'}), - 'published_at': ('django.db.models.fields.DateTimeField', [], {}), - 'questions': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'book'", 'db_table': "'book_question'", 'to': "orm['forum.Question']"}), - 'short_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}), - 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), - 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) - }, - 'forum.bookauthorinfo': { - 'Meta': {'object_name': 'BookAuthorInfo', 'db_table': "u'book_author_info'"}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {}), - 'blog_url': ('django.db.models.fields.CharField', [], {'max_length': '255'}), - 'book': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Book']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) - }, - 'forum.bookauthorrss': { - 'Meta': {'object_name': 'BookAuthorRss', 'db_table': "u'book_author_rss'"}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {}), - 'book': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Book']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'rss_created_at': ('django.db.models.fields.DateTimeField', [], {}), - 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}), - 'url': ('django.db.models.fields.CharField', [], {'max_length': '255'}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) - }, - 'forum.comment': { - 'Meta': {'object_name': 'Comment', 'db_table': "u'comment'"}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'comment': ('django.db.models.fields.CharField', [], {'max_length': '300'}), - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'comments'", 'to': "orm['auth.User']"}) - }, - 'forum.emailfeedsetting': { - 'Meta': {'object_name': 'EmailFeedSetting'}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), - 'feed_type': ('django.db.models.fields.CharField', [], {'max_length': '16'}), - 'frequency': ('django.db.models.fields.CharField', [], {'default': "'n'", 'max_length': '8'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'reported_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}), - 'subscriber': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'notification_subscriptions'", 'to': "orm['auth.User']"}) - }, - 'forum.favoritequestion': { - 'Meta': {'object_name': 'FavoriteQuestion', 'db_table': "u'favorite_question'"}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Question']"}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'user_favorite_questions'", 'to': "orm['auth.User']"}) - }, - 'forum.flaggeditem': { - 'Meta': {'unique_together': "(('content_type', 'object_id', 'user'),)", 'object_name': 'FlaggedItem', 'db_table': "u'flagged_item'"}, - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), - 'flagged_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'flaggeditems'", 'to': "orm['auth.User']"}) - }, - 'forum.markedtag': { - 'Meta': {'object_name': 'MarkedTag'}, - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'reason': ('django.db.models.fields.CharField', [], {'max_length': '16'}), - 'tag': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'user_selections'", 'to': "orm['forum.Tag']"}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'tag_selections'", 'to': "orm['auth.User']"}) - }, - 'forum.mention': { - 'Meta': {'object_name': 'Mention', 'db_table': "u'mention'"}, - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'mentioned_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'mentioned_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'mentions_sent'", 'to': "orm['auth.User']"}), - 'mentioned_whom': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'mentions_received'", 'to': "orm['auth.User']"}), - 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}) - }, - 'forum.question': { - 'Meta': {'object_name': 'Question', 'db_table': "u'question'"}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'answer_accepted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'answer_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), - 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'questions'", 'to': "orm['auth.User']"}), - 'close_reason': ('django.db.models.fields.SmallIntegerField', [], {'null': 'True', 'blank': 'True'}), - 'closed': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'closed_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'closed_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'closed_questions'", 'null': 'True', 'to': "orm['auth.User']"}), - 'comment_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), - 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_questions'", 'null': 'True', 'to': "orm['auth.User']"}), - 'favorited_by': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'favorite_questions'", 'through': "'FavoriteQuestion'", 'to': "orm['auth.User']"}), - 'favourite_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), - 'followed_by': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'followed_questions'", 'to': "orm['auth.User']"}), - 'html': ('django.db.models.fields.TextField', [], {'null': 'True'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'last_activity_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'last_activity_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'last_active_in_questions'", 'to': "orm['auth.User']"}), - 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'last_edited_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'last_edited_questions'", 'null': 'True', 'to': "orm['auth.User']"}), - 'locked': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'locked_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'locked_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'locked_questions'", 'null': 'True', 'to': "orm['auth.User']"}), - 'offensive_flag_count': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), - 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), - 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), - 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), - 'tags': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'questions'", 'to': "orm['forum.Tag']"}), - 'text': ('django.db.models.fields.TextField', [], {'null': 'True'}), - 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}), - 'view_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), - 'vote_down_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), - 'vote_up_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), - 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'wikified_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}) - }, - 'forum.questionrevision': { - 'Meta': {'object_name': 'QuestionRevision', 'db_table': "u'question_revision'"}, - 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'questionrevisions'", 'to': "orm['auth.User']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'revisions'", 'to': "orm['forum.Question']"}), - 'revised_at': ('django.db.models.fields.DateTimeField', [], {}), - 'revision': ('django.db.models.fields.PositiveIntegerField', [], {}), - 'summary': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}), - 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), - 'text': ('django.db.models.fields.TextField', [], {}), - 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}) - }, - 'forum.questionview': { - 'Meta': {'object_name': 'QuestionView'}, - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'viewed'", 'to': "orm['forum.Question']"}), - 'when': ('django.db.models.fields.DateTimeField', [], {}), - 'who': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'question_views'", 'to': "orm['auth.User']"}) - }, - 'forum.repute': { - 'Meta': {'object_name': 'Repute', 'db_table': "u'repute'"}, - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'negative': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), - 'positive': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), - 'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Question']"}), - 'reputation': ('django.db.models.fields.IntegerField', [], {'default': '1'}), - 'reputation_type': ('django.db.models.fields.SmallIntegerField', [], {}), - 'reputed_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) - }, - 'forum.tag': { - 'Meta': {'object_name': 'Tag', 'db_table': "u'tag'"}, - 'created_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'created_tags'", 'to': "orm['auth.User']"}), - 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_tags'", 'null': 'True', 'to': "orm['auth.User']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), - 'used_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}) - }, - 'forum.validationhash': { - 'Meta': {'unique_together': "(('user', 'type'),)", 'object_name': 'ValidationHash'}, - 'expiration': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2010, 5, 17, 13, 4, 34, 910299)'}), - 'hash_code': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'seed': ('django.db.models.fields.CharField', [], {'max_length': '12'}), - 'type': ('django.db.models.fields.CharField', [], {'max_length': '12'}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) - }, - 'forum.vote': { - 'Meta': {'unique_together': "(('content_type', 'object_id', 'user'),)", 'object_name': 'Vote', 'db_table': "u'vote'"}, - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'votes'", 'to': "orm['auth.User']"}), - 'vote': ('django.db.models.fields.SmallIntegerField', [], {}), - 'voted_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}) - } - } - - complete_apps = ['forum'] diff --git a/forum/migrations/0008_add_html_field_to_comments.py b/forum/migrations/0008_add_html_field_to_comments.py deleted file mode 100644 index 2a60f12c..00000000 --- a/forum/migrations/0008_add_html_field_to_comments.py +++ /dev/null @@ -1,365 +0,0 @@ -# encoding: utf-8 -import datetime -from south.db import db -from south.v2 import SchemaMigration -from django.db import models - -class Migration(SchemaMigration): - - def forwards(self, orm): - - # Adding field 'Comment.html' - db.add_column(u'comment', 'html', self.gf('django.db.models.fields.CharField')(default='', max_length=2048), keep_default=False) - - # Changing field 'Comment.comment' - db.alter_column(u'comment', 'comment', self.gf('django.db.models.fields.CharField')(max_length=2048)) - - def backwards(self, orm): - - # Deleting field 'Comment.html' - db.delete_column(u'comment', 'html') - - # Changing field 'Comment.comment' - db.alter_column(u'comment', 'comment', self.gf('django.db.models.fields.CharField')(max_length=300)) - - - models = { - 'auth.group': { - 'Meta': {'object_name': 'Group'}, - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'blank': 'True'}) - }, - 'auth.permission': { - 'Meta': {'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) - }, - 'auth.user': { - 'Meta': {'object_name': 'User'}, - 'about': ('django.db.models.fields.TextField', [], {'blank': 'True'}), - 'bronze': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'date_of_birth': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), - 'email_isvalid': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'email_key': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), - 'gold': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), - 'gravatar': ('django.db.models.fields.CharField', [], {'max_length': '32'}), - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'blank': 'True'}), - 'hide_ignored_questions': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}), - 'is_approved': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), - 'last_seen': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'location': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), - 'questions_per_page': ('django.db.models.fields.SmallIntegerField', [], {'default': '10'}), - 'real_name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), - 'reputation': ('django.db.models.fields.PositiveIntegerField', [], {'default': '1'}), - 'silver': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), - 'tag_filter_setting': ('django.db.models.fields.CharField', [], {'default': "'ignored'", 'max_length': '16'}), - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'blank': 'True'}), - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), - 'website': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}) - }, - 'contenttypes.contenttype': { - 'Meta': {'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), - 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) - }, - 'forum.activity': { - 'Meta': {'object_name': 'Activity', 'db_table': "u'activity'"}, - 'active_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'activity_type': ('django.db.models.fields.SmallIntegerField', [], {}), - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'is_auditted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) - }, - 'forum.anonymousanswer': { - 'Meta': {'object_name': 'AnonymousAnswer'}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'author': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'ip_addr': ('django.db.models.fields.IPAddressField', [], {'max_length': '15'}), - 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'anonymous_answers'", 'to': "orm['forum.Question']"}), - 'session_key': ('django.db.models.fields.CharField', [], {'max_length': '40'}), - 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), - 'text': ('django.db.models.fields.TextField', [], {}), - 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}) - }, - 'forum.anonymousquestion': { - 'Meta': {'object_name': 'AnonymousQuestion'}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'author': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'ip_addr': ('django.db.models.fields.IPAddressField', [], {'max_length': '15'}), - 'session_key': ('django.db.models.fields.CharField', [], {'max_length': '40'}), - 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), - 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), - 'text': ('django.db.models.fields.TextField', [], {}), - 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}), - 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}) - }, - 'forum.answer': { - 'Meta': {'object_name': 'Answer', 'db_table': "u'answer'"}, - 'accepted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'accepted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answers'", 'to': "orm['auth.User']"}), - 'comment_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), - 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_answers'", 'null': 'True', 'to': "orm['auth.User']"}), - 'html': ('django.db.models.fields.TextField', [], {'null': 'True'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'last_edited_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'last_edited_answers'", 'null': 'True', 'to': "orm['auth.User']"}), - 'locked': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'locked_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'locked_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'locked_answers'", 'null': 'True', 'to': "orm['auth.User']"}), - 'offensive_flag_count': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), - 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answers'", 'to': "orm['forum.Question']"}), - 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), - 'text': ('django.db.models.fields.TextField', [], {'null': 'True'}), - 'vote_down_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), - 'vote_up_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), - 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'wikified_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}) - }, - 'forum.answerrevision': { - 'Meta': {'object_name': 'AnswerRevision', 'db_table': "u'answer_revision'"}, - 'answer': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'revisions'", 'to': "orm['forum.Answer']"}), - 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answerrevisions'", 'to': "orm['auth.User']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'revised_at': ('django.db.models.fields.DateTimeField', [], {}), - 'revision': ('django.db.models.fields.PositiveIntegerField', [], {}), - 'summary': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}), - 'text': ('django.db.models.fields.TextField', [], {}) - }, - 'forum.authkeyuserassociation': { - 'Meta': {'object_name': 'AuthKeyUserAssociation'}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'key': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), - 'provider': ('django.db.models.fields.CharField', [], {'max_length': '64'}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'auth_keys'", 'to': "orm['auth.User']"}) - }, - 'forum.award': { - 'Meta': {'object_name': 'Award', 'db_table': "u'award'"}, - 'awarded_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'badge': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'award_badge'", 'to': "orm['forum.Badge']"}), - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'notified': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'award_user'", 'to': "orm['auth.User']"}) - }, - 'forum.badge': { - 'Meta': {'unique_together': "(('name', 'type'),)", 'object_name': 'Badge', 'db_table': "u'badge'"}, - 'awarded_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), - 'awarded_to': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'badges'", 'through': "'Award'", 'to': "orm['auth.User']"}), - 'description': ('django.db.models.fields.CharField', [], {'max_length': '300'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'multiple': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}), - 'slug': ('django.db.models.fields.SlugField', [], {'db_index': 'True', 'max_length': '50', 'blank': 'True'}), - 'type': ('django.db.models.fields.SmallIntegerField', [], {}) - }, - 'forum.book': { - 'Meta': {'object_name': 'Book', 'db_table': "u'book'"}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {}), - 'author': ('django.db.models.fields.CharField', [], {'max_length': '255'}), - 'cover_img': ('django.db.models.fields.CharField', [], {'max_length': '255'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {}), - 'pages': ('django.db.models.fields.SmallIntegerField', [], {}), - 'price': ('django.db.models.fields.DecimalField', [], {'max_digits': '6', 'decimal_places': '2'}), - 'publication': ('django.db.models.fields.CharField', [], {'max_length': '255'}), - 'published_at': ('django.db.models.fields.DateTimeField', [], {}), - 'questions': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'book'", 'db_table': "'book_question'", 'to': "orm['forum.Question']"}), - 'short_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}), - 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), - 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) - }, - 'forum.bookauthorinfo': { - 'Meta': {'object_name': 'BookAuthorInfo', 'db_table': "u'book_author_info'"}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {}), - 'blog_url': ('django.db.models.fields.CharField', [], {'max_length': '255'}), - 'book': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Book']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) - }, - 'forum.bookauthorrss': { - 'Meta': {'object_name': 'BookAuthorRss', 'db_table': "u'book_author_rss'"}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {}), - 'book': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Book']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'rss_created_at': ('django.db.models.fields.DateTimeField', [], {}), - 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}), - 'url': ('django.db.models.fields.CharField', [], {'max_length': '255'}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) - }, - 'forum.comment': { - 'Meta': {'object_name': 'Comment', 'db_table': "u'comment'"}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'comment': ('django.db.models.fields.CharField', [], {'max_length': '2048'}), - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), - 'html': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '2048'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'comments'", 'to': "orm['auth.User']"}) - }, - 'forum.emailfeedsetting': { - 'Meta': {'object_name': 'EmailFeedSetting'}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), - 'feed_type': ('django.db.models.fields.CharField', [], {'max_length': '16'}), - 'frequency': ('django.db.models.fields.CharField', [], {'default': "'n'", 'max_length': '8'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'reported_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}), - 'subscriber': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'notification_subscriptions'", 'to': "orm['auth.User']"}) - }, - 'forum.favoritequestion': { - 'Meta': {'object_name': 'FavoriteQuestion', 'db_table': "u'favorite_question'"}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Question']"}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'user_favorite_questions'", 'to': "orm['auth.User']"}) - }, - 'forum.flaggeditem': { - 'Meta': {'unique_together': "(('content_type', 'object_id', 'user'),)", 'object_name': 'FlaggedItem', 'db_table': "u'flagged_item'"}, - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), - 'flagged_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'flaggeditems'", 'to': "orm['auth.User']"}) - }, - 'forum.markedtag': { - 'Meta': {'object_name': 'MarkedTag'}, - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'reason': ('django.db.models.fields.CharField', [], {'max_length': '16'}), - 'tag': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'user_selections'", 'to': "orm['forum.Tag']"}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'tag_selections'", 'to': "orm['auth.User']"}) - }, - 'forum.mention': { - 'Meta': {'object_name': 'Mention', 'db_table': "u'mention'"}, - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'mentioned_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'mentioned_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'mentions_sent'", 'to': "orm['auth.User']"}), - 'mentioned_whom': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'mentions_received'", 'to': "orm['auth.User']"}), - 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}) - }, - 'forum.question': { - 'Meta': {'object_name': 'Question', 'db_table': "u'question'"}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'answer_accepted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'answer_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), - 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'questions'", 'to': "orm['auth.User']"}), - 'close_reason': ('django.db.models.fields.SmallIntegerField', [], {'null': 'True', 'blank': 'True'}), - 'closed': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'closed_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'closed_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'closed_questions'", 'null': 'True', 'to': "orm['auth.User']"}), - 'comment_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), - 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_questions'", 'null': 'True', 'to': "orm['auth.User']"}), - 'favorited_by': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'favorite_questions'", 'through': "'FavoriteQuestion'", 'to': "orm['auth.User']"}), - 'favourite_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), - 'followed_by': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'followed_questions'", 'to': "orm['auth.User']"}), - 'html': ('django.db.models.fields.TextField', [], {'null': 'True'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'last_activity_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'last_activity_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'last_active_in_questions'", 'to': "orm['auth.User']"}), - 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'last_edited_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'last_edited_questions'", 'null': 'True', 'to': "orm['auth.User']"}), - 'locked': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'locked_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'locked_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'locked_questions'", 'null': 'True', 'to': "orm['auth.User']"}), - 'offensive_flag_count': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), - 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), - 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), - 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), - 'tags': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'questions'", 'to': "orm['forum.Tag']"}), - 'text': ('django.db.models.fields.TextField', [], {'null': 'True'}), - 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}), - 'view_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), - 'vote_down_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), - 'vote_up_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), - 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'wikified_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}) - }, - 'forum.questionrevision': { - 'Meta': {'object_name': 'QuestionRevision', 'db_table': "u'question_revision'"}, - 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'questionrevisions'", 'to': "orm['auth.User']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'revisions'", 'to': "orm['forum.Question']"}), - 'revised_at': ('django.db.models.fields.DateTimeField', [], {}), - 'revision': ('django.db.models.fields.PositiveIntegerField', [], {}), - 'summary': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}), - 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), - 'text': ('django.db.models.fields.TextField', [], {}), - 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}) - }, - 'forum.questionview': { - 'Meta': {'object_name': 'QuestionView'}, - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'viewed'", 'to': "orm['forum.Question']"}), - 'when': ('django.db.models.fields.DateTimeField', [], {}), - 'who': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'question_views'", 'to': "orm['auth.User']"}) - }, - 'forum.repute': { - 'Meta': {'object_name': 'Repute', 'db_table': "u'repute'"}, - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'negative': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), - 'positive': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), - 'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Question']"}), - 'reputation': ('django.db.models.fields.IntegerField', [], {'default': '1'}), - 'reputation_type': ('django.db.models.fields.SmallIntegerField', [], {}), - 'reputed_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) - }, - 'forum.tag': { - 'Meta': {'object_name': 'Tag', 'db_table': "u'tag'"}, - 'created_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'created_tags'", 'to': "orm['auth.User']"}), - 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_tags'", 'null': 'True', 'to': "orm['auth.User']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), - 'used_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}) - }, - 'forum.validationhash': { - 'Meta': {'unique_together': "(('user', 'type'),)", 'object_name': 'ValidationHash'}, - 'expiration': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2010, 5, 17, 15, 29, 56, 802370)'}), - 'hash_code': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'seed': ('django.db.models.fields.CharField', [], {'max_length': '12'}), - 'type': ('django.db.models.fields.CharField', [], {'max_length': '12'}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) - }, - 'forum.vote': { - 'Meta': {'unique_together': "(('content_type', 'object_id', 'user'),)", 'object_name': 'Vote', 'db_table': "u'vote'"}, - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'votes'", 'to': "orm['auth.User']"}), - 'vote': ('django.db.models.fields.SmallIntegerField', [], {}), - 'voted_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}) - } - } - - complete_apps = ['forum'] diff --git a/forum/migrations/0009_calculate_html_field_for_comments.py b/forum/migrations/0009_calculate_html_field_for_comments.py deleted file mode 100644 index 2a8770d0..00000000 --- a/forum/migrations/0009_calculate_html_field_for_comments.py +++ /dev/null @@ -1,508 +0,0 @@ -# encoding: utf-8 -import datetime -from south.db import db -from south.v2 import DataMigration -from django.db import models -from django.utils.html import urlize -from django.template.defaultfilters import slugify -from django.core.urlresolvers import reverse -from forum import const -import re - -def get_authors(question, orm = None): - authors = set() - for q_rev in orm['forum.QuestionRevision'].objects.filter(question=question): - authors.add(q_rev.author) - - q_comments = orm['forum.Comment'].objects.filter( - content_type__model='question', - object_id = question.id - ) - for q_c in q_comments: - authors.add(q_c.user) - - answers = orm['forum.Answer'].objects.filter( - question = question, - deleted = False - ) - for a in answers: - for a_rev in orm['forum.AnswerRevision'].objects.filter(answer = a): - authors.add(a_rev.author) - a_comments = orm['forum.Comment'].objects.filter( - content_type__model = 'answer', - object_id = a.id - ) - for a_c in a_comments: - authors.add(a_c.user) - return authors - -def get_absolute_url(user): - url = reverse( - 'user_profile', - kwargs={ - 'id':user.id, - 'slug': slugify(user.username) - } - ) - return u'<a href="%s">@%s</a>' % (url, user.username) - -def get_comment_continuation(matching_author): - if matching_author: - return get_absolute_url(matching_author) - else: - return '@' - -def maybe_save_mention( - context = None, - mentioned_whom = None, - orm = None, - comment_content_type = None - ): - if mentioned_whom and mentioned_whom != context.user: - m = orm['forum.Mention']( - mentioned_by = context.user, - mentioned_whom = mentioned_whom, - mentioned_at = context.added_at, - object_id = context.id, - content_type = comment_content_type, - ) - m.save() - -def extract_matching_author(text, ordered_authors): - for a in ordered_authors: - if text.startswith(a.username): - ulen = len(a.username) - if len(text) == ulen: - text = '' - elif text[ulen] in const.TWITTER_STYLE_MENTION_TERMINATION_CHARS: - text = text[ulen:] - else: - #near miss, here we could insert a warning that perhaps - #a termination character is needed - continue - return a, text - return None, text - - -def mentionize(text, comment = None, all_users = None, orm = None): - if comment.content_type.model == 'answer': - answer = orm['forum.Answer'].objects.get(id = comment.object_id) - question = answer.question - else: - question = orm['forum.Question'].objects.get(id = comment.object_id) - - #build ordered list of author names - authors = get_authors(question, orm = orm) - the_rest = all_users - authors - ordered_authors = list(authors) + list(the_rest) - - comment_content_type = orm['contenttypes.ContentType'].objects.get(model='comment') - - output = '' - while '@' in text: - #the purpose of this loop is to convert any occurance of '@mention ' syntax - #to user account links leading space is required unless @ is the first - #character in whole text, also, either a punctuation or a ' ' char is required - #after the name - pos = text.index('@') - - output += text[:pos] - - if len(text) == pos + 1: - output += '@' - text = '' - break - - if pos > 0: - if text[pos-1] in const.TWITTER_STYLE_MENTION_TERMINATION_CHARS: - - text = text[pos+1:] - matching_author, text = extract_matching_author(text, ordered_authors) - output += get_comment_continuation(matching_author) - maybe_save_mention( - context = comment, - mentioned_whom = matching_author, - orm = orm, - comment_content_type = comment_content_type - ) - else: - text = text[pos+1:] - output += '@' - else: - text = text[1:] - matching_author, text = extract_matching_author(text, ordered_authors) - output += get_comment_continuation(matching_author) - maybe_save_mention( - context = comment, - mentioned_whom = matching_author, - orm = orm, - comment_content_type = comment_content_type - ) - - #append the rest of text that did not have @ symbols - output += text - return output - -class Migration(DataMigration): - - def forwards(self, orm): - "Write your forwards methods here." - all_users = set(orm['auth.User'].objects.all()) - for comment in orm['forum.Comment'].objects.all(): - comment.html = mentionize( - urlize(comment.comment, nofollow=True), - comment = comment, - all_users = all_users, - orm = orm - ) - #print 'was %s' % comment.comment - #print 'now %s' % comment.html - comment.save() - - def backwards(self, orm): - "Write your backwards methods here." - from forum.models import Comment - for comment in Comment.objects.all(): - comment.html = comment.comment - comment.save() - - models = { - 'auth.group': { - 'Meta': {'object_name': 'Group'}, - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'blank': 'True'}) - }, - 'auth.permission': { - 'Meta': {'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) - }, - 'auth.user': { - 'Meta': {'object_name': 'User'}, - 'about': ('django.db.models.fields.TextField', [], {'blank': 'True'}), - 'bronze': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'date_of_birth': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), - 'email_isvalid': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'email_key': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), - 'gold': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), - 'gravatar': ('django.db.models.fields.CharField', [], {'max_length': '32'}), - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'blank': 'True'}), - 'hide_ignored_questions': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}), - 'is_approved': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), - 'last_seen': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'location': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), - 'questions_per_page': ('django.db.models.fields.SmallIntegerField', [], {'default': '10'}), - 'real_name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), - 'reputation': ('django.db.models.fields.PositiveIntegerField', [], {'default': '1'}), - 'silver': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), - 'tag_filter_setting': ('django.db.models.fields.CharField', [], {'default': "'ignored'", 'max_length': '16'}), - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'blank': 'True'}), - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), - 'website': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}) - }, - 'contenttypes.contenttype': { - 'Meta': {'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), - 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) - }, - 'forum.activity': { - 'Meta': {'object_name': 'Activity', 'db_table': "u'activity'"}, - 'active_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'activity_type': ('django.db.models.fields.SmallIntegerField', [], {}), - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'is_auditted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) - }, - 'forum.anonymousanswer': { - 'Meta': {'object_name': 'AnonymousAnswer'}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'author': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'ip_addr': ('django.db.models.fields.IPAddressField', [], {'max_length': '15'}), - 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'anonymous_answers'", 'to': "orm['forum.Question']"}), - 'session_key': ('django.db.models.fields.CharField', [], {'max_length': '40'}), - 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), - 'text': ('django.db.models.fields.TextField', [], {}), - 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}) - }, - 'forum.anonymousquestion': { - 'Meta': {'object_name': 'AnonymousQuestion'}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'author': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'ip_addr': ('django.db.models.fields.IPAddressField', [], {'max_length': '15'}), - 'session_key': ('django.db.models.fields.CharField', [], {'max_length': '40'}), - 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), - 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), - 'text': ('django.db.models.fields.TextField', [], {}), - 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}), - 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}) - }, - 'forum.answer': { - 'Meta': {'object_name': 'Answer', 'db_table': "u'answer'"}, - 'accepted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'accepted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answers'", 'to': "orm['auth.User']"}), - 'comment_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), - 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_answers'", 'null': 'True', 'to': "orm['auth.User']"}), - 'html': ('django.db.models.fields.TextField', [], {'null': 'True'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'last_edited_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'last_edited_answers'", 'null': 'True', 'to': "orm['auth.User']"}), - 'locked': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'locked_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'locked_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'locked_answers'", 'null': 'True', 'to': "orm['auth.User']"}), - 'offensive_flag_count': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), - 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answers'", 'to': "orm['forum.Question']"}), - 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), - 'text': ('django.db.models.fields.TextField', [], {'null': 'True'}), - 'vote_down_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), - 'vote_up_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), - 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'wikified_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}) - }, - 'forum.answerrevision': { - 'Meta': {'object_name': 'AnswerRevision', 'db_table': "u'answer_revision'"}, - 'answer': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'revisions'", 'to': "orm['forum.Answer']"}), - 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answerrevisions'", 'to': "orm['auth.User']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'revised_at': ('django.db.models.fields.DateTimeField', [], {}), - 'revision': ('django.db.models.fields.PositiveIntegerField', [], {}), - 'summary': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}), - 'text': ('django.db.models.fields.TextField', [], {}) - }, - 'forum.authkeyuserassociation': { - 'Meta': {'object_name': 'AuthKeyUserAssociation'}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'key': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), - 'provider': ('django.db.models.fields.CharField', [], {'max_length': '64'}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'auth_keys'", 'to': "orm['auth.User']"}) - }, - 'forum.award': { - 'Meta': {'object_name': 'Award', 'db_table': "u'award'"}, - 'awarded_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'badge': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'award_badge'", 'to': "orm['forum.Badge']"}), - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'notified': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'award_user'", 'to': "orm['auth.User']"}) - }, - 'forum.badge': { - 'Meta': {'unique_together': "(('name', 'type'),)", 'object_name': 'Badge', 'db_table': "u'badge'"}, - 'awarded_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), - 'awarded_to': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'badges'", 'through': "'Award'", 'to': "orm['auth.User']"}), - 'description': ('django.db.models.fields.CharField', [], {'max_length': '300'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'multiple': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}), - 'slug': ('django.db.models.fields.SlugField', [], {'db_index': 'True', 'max_length': '50', 'blank': 'True'}), - 'type': ('django.db.models.fields.SmallIntegerField', [], {}) - }, - 'forum.book': { - 'Meta': {'object_name': 'Book', 'db_table': "u'book'"}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {}), - 'author': ('django.db.models.fields.CharField', [], {'max_length': '255'}), - 'cover_img': ('django.db.models.fields.CharField', [], {'max_length': '255'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {}), - 'pages': ('django.db.models.fields.SmallIntegerField', [], {}), - 'price': ('django.db.models.fields.DecimalField', [], {'max_digits': '6', 'decimal_places': '2'}), - 'publication': ('django.db.models.fields.CharField', [], {'max_length': '255'}), - 'published_at': ('django.db.models.fields.DateTimeField', [], {}), - 'questions': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'book'", 'db_table': "'book_question'", 'to': "orm['forum.Question']"}), - 'short_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}), - 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), - 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) - }, - 'forum.bookauthorinfo': { - 'Meta': {'object_name': 'BookAuthorInfo', 'db_table': "u'book_author_info'"}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {}), - 'blog_url': ('django.db.models.fields.CharField', [], {'max_length': '255'}), - 'book': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Book']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) - }, - 'forum.bookauthorrss': { - 'Meta': {'object_name': 'BookAuthorRss', 'db_table': "u'book_author_rss'"}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {}), - 'book': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Book']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'rss_created_at': ('django.db.models.fields.DateTimeField', [], {}), - 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}), - 'url': ('django.db.models.fields.CharField', [], {'max_length': '255'}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) - }, - 'forum.comment': { - 'Meta': {'object_name': 'Comment', 'db_table': "u'comment'"}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'comment': ('django.db.models.fields.CharField', [], {'max_length': '2048'}), - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), - 'html': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '2048'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'comments'", 'to': "orm['auth.User']"}) - }, - 'forum.emailfeedsetting': { - 'Meta': {'object_name': 'EmailFeedSetting'}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), - 'feed_type': ('django.db.models.fields.CharField', [], {'max_length': '16'}), - 'frequency': ('django.db.models.fields.CharField', [], {'default': "'n'", 'max_length': '8'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'reported_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}), - 'subscriber': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'notification_subscriptions'", 'to': "orm['auth.User']"}) - }, - 'forum.favoritequestion': { - 'Meta': {'object_name': 'FavoriteQuestion', 'db_table': "u'favorite_question'"}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Question']"}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'user_favorite_questions'", 'to': "orm['auth.User']"}) - }, - 'forum.flaggeditem': { - 'Meta': {'unique_together': "(('content_type', 'object_id', 'user'),)", 'object_name': 'FlaggedItem', 'db_table': "u'flagged_item'"}, - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), - 'flagged_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'flaggeditems'", 'to': "orm['auth.User']"}) - }, - 'forum.markedtag': { - 'Meta': {'object_name': 'MarkedTag'}, - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'reason': ('django.db.models.fields.CharField', [], {'max_length': '16'}), - 'tag': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'user_selections'", 'to': "orm['forum.Tag']"}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'tag_selections'", 'to': "orm['auth.User']"}) - }, - 'forum.mention': { - 'Meta': {'object_name': 'Mention', 'db_table': "u'mention'"}, - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'mentioned_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'mentioned_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'mentions_sent'", 'to': "orm['auth.User']"}), - 'mentioned_whom': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'mentions_received'", 'to': "orm['auth.User']"}), - 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}) - }, - 'forum.question': { - 'Meta': {'object_name': 'Question', 'db_table': "u'question'"}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'answer_accepted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'answer_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), - 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'questions'", 'to': "orm['auth.User']"}), - 'close_reason': ('django.db.models.fields.SmallIntegerField', [], {'null': 'True', 'blank': 'True'}), - 'closed': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'closed_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'closed_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'closed_questions'", 'null': 'True', 'to': "orm['auth.User']"}), - 'comment_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), - 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_questions'", 'null': 'True', 'to': "orm['auth.User']"}), - 'favorited_by': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'favorite_questions'", 'through': "'FavoriteQuestion'", 'to': "orm['auth.User']"}), - 'favourite_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), - 'followed_by': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'followed_questions'", 'to': "orm['auth.User']"}), - 'html': ('django.db.models.fields.TextField', [], {'null': 'True'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'last_activity_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'last_activity_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'last_active_in_questions'", 'to': "orm['auth.User']"}), - 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'last_edited_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'last_edited_questions'", 'null': 'True', 'to': "orm['auth.User']"}), - 'locked': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'locked_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'locked_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'locked_questions'", 'null': 'True', 'to': "orm['auth.User']"}), - 'offensive_flag_count': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), - 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), - 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), - 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), - 'tags': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'questions'", 'to': "orm['forum.Tag']"}), - 'text': ('django.db.models.fields.TextField', [], {'null': 'True'}), - 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}), - 'view_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), - 'vote_down_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), - 'vote_up_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), - 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'wikified_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}) - }, - 'forum.questionrevision': { - 'Meta': {'object_name': 'QuestionRevision', 'db_table': "u'question_revision'"}, - 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'questionrevisions'", 'to': "orm['auth.User']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'revisions'", 'to': "orm['forum.Question']"}), - 'revised_at': ('django.db.models.fields.DateTimeField', [], {}), - 'revision': ('django.db.models.fields.PositiveIntegerField', [], {}), - 'summary': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}), - 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), - 'text': ('django.db.models.fields.TextField', [], {}), - 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}) - }, - 'forum.questionview': { - 'Meta': {'object_name': 'QuestionView'}, - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'viewed'", 'to': "orm['forum.Question']"}), - 'when': ('django.db.models.fields.DateTimeField', [], {}), - 'who': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'question_views'", 'to': "orm['auth.User']"}) - }, - 'forum.repute': { - 'Meta': {'object_name': 'Repute', 'db_table': "u'repute'"}, - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'negative': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), - 'positive': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), - 'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Question']"}), - 'reputation': ('django.db.models.fields.IntegerField', [], {'default': '1'}), - 'reputation_type': ('django.db.models.fields.SmallIntegerField', [], {}), - 'reputed_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) - }, - 'forum.tag': { - 'Meta': {'object_name': 'Tag', 'db_table': "u'tag'"}, - 'created_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'created_tags'", 'to': "orm['auth.User']"}), - 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_tags'", 'null': 'True', 'to': "orm['auth.User']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), - 'used_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}) - }, - 'forum.validationhash': { - 'Meta': {'unique_together': "(('user', 'type'),)", 'object_name': 'ValidationHash'}, - 'expiration': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2010, 5, 17, 15, 33, 45, 429877)'}), - 'hash_code': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'seed': ('django.db.models.fields.CharField', [], {'max_length': '12'}), - 'type': ('django.db.models.fields.CharField', [], {'max_length': '12'}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) - }, - 'forum.vote': { - 'Meta': {'unique_together': "(('content_type', 'object_id', 'user'),)", 'object_name': 'Vote', 'db_table': "u'vote'"}, - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'votes'", 'to': "orm['auth.User']"}), - 'vote': ('django.db.models.fields.SmallIntegerField', [], {}), - 'voted_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}) - } - } - - complete_apps = ['forum'] diff --git a/forum/migrations/0011_merge_mentions_into_activity.py b/forum/migrations/0011_merge_mentions_into_activity.py deleted file mode 100644 index e4385841..00000000 --- a/forum/migrations/0011_merge_mentions_into_activity.py +++ /dev/null @@ -1,376 +0,0 @@ -# encoding: utf-8 -import datetime -from south.db import db -from south.v2 import DataMigration -from django.db import models -from forum import const - -class Migration(DataMigration): - - def forwards(self, orm): - "Write your forwards methods here." - for m in orm['forum.Mention'].objects.all(): - a = orm['forum.Activity']() - a.activity_type = const.TYPE_ACTIVITY_MENTION - a.user = m.mentioned_by - a.active_at = m.mentioned_at - a.object_id = m.object_id - a.content_type = m.content_type - a.save() - a.receiving_users.add(m.mentioned_whom) - m.delete() - - def backwards(self, orm): - "Write your backwards methods here." - m_type = const.TYPE_ACTIVITY_MENTION - for a in orm['forum.Activity'].objects.filter(activity_type = m_type): - m = orm['forum.Mention']() - m.mentioned_by = a.user - m.mentioned_whom = a.receiving_users.all()[0] - m.mentioned_at = a.active_at - m.content_type = a.content_type - m.object_id = a.object_id - a.delete() - m.save() - - models = { - 'auth.group': { - 'Meta': {'object_name': 'Group'}, - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'blank': 'True'}) - }, - 'auth.permission': { - 'Meta': {'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) - }, - 'auth.user': { - 'Meta': {'object_name': 'User'}, - 'about': ('django.db.models.fields.TextField', [], {'blank': 'True'}), - 'bronze': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'date_of_birth': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), - 'email_isvalid': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'email_key': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), - 'gold': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), - 'gravatar': ('django.db.models.fields.CharField', [], {'max_length': '32'}), - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'blank': 'True'}), - 'hide_ignored_questions': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}), - 'is_approved': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), - 'last_seen': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'location': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), - 'questions_per_page': ('django.db.models.fields.SmallIntegerField', [], {'default': '10'}), - 'real_name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), - 'reputation': ('django.db.models.fields.PositiveIntegerField', [], {'default': '1'}), - 'silver': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), - 'tag_filter_setting': ('django.db.models.fields.CharField', [], {'default': "'ignored'", 'max_length': '16'}), - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'blank': 'True'}), - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), - 'website': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}) - }, - 'contenttypes.contenttype': { - 'Meta': {'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), - 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) - }, - 'forum.activity': { - 'Meta': {'object_name': 'Activity', 'db_table': "u'activity'"}, - 'active_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'activity_type': ('django.db.models.fields.SmallIntegerField', [], {}), - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'is_auditted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), - 'receiving_users': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'received_activity'", 'to': "orm['auth.User']"}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) - }, - 'forum.anonymousanswer': { - 'Meta': {'object_name': 'AnonymousAnswer'}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'author': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'ip_addr': ('django.db.models.fields.IPAddressField', [], {'max_length': '15'}), - 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'anonymous_answers'", 'to': "orm['forum.Question']"}), - 'session_key': ('django.db.models.fields.CharField', [], {'max_length': '40'}), - 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), - 'text': ('django.db.models.fields.TextField', [], {}), - 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}) - }, - 'forum.anonymousquestion': { - 'Meta': {'object_name': 'AnonymousQuestion'}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'author': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'ip_addr': ('django.db.models.fields.IPAddressField', [], {'max_length': '15'}), - 'session_key': ('django.db.models.fields.CharField', [], {'max_length': '40'}), - 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), - 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), - 'text': ('django.db.models.fields.TextField', [], {}), - 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}), - 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}) - }, - 'forum.answer': { - 'Meta': {'object_name': 'Answer', 'db_table': "u'answer'"}, - 'accepted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'accepted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answers'", 'to': "orm['auth.User']"}), - 'comment_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), - 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_answers'", 'null': 'True', 'to': "orm['auth.User']"}), - 'html': ('django.db.models.fields.TextField', [], {'null': 'True'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'last_edited_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'last_edited_answers'", 'null': 'True', 'to': "orm['auth.User']"}), - 'locked': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'locked_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'locked_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'locked_answers'", 'null': 'True', 'to': "orm['auth.User']"}), - 'offensive_flag_count': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), - 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answers'", 'to': "orm['forum.Question']"}), - 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), - 'text': ('django.db.models.fields.TextField', [], {'null': 'True'}), - 'vote_down_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), - 'vote_up_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), - 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'wikified_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}) - }, - 'forum.answerrevision': { - 'Meta': {'object_name': 'AnswerRevision', 'db_table': "u'answer_revision'"}, - 'answer': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'revisions'", 'to': "orm['forum.Answer']"}), - 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answerrevisions'", 'to': "orm['auth.User']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'revised_at': ('django.db.models.fields.DateTimeField', [], {}), - 'revision': ('django.db.models.fields.PositiveIntegerField', [], {}), - 'summary': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}), - 'text': ('django.db.models.fields.TextField', [], {}) - }, - 'forum.authkeyuserassociation': { - 'Meta': {'object_name': 'AuthKeyUserAssociation'}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'key': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), - 'provider': ('django.db.models.fields.CharField', [], {'max_length': '64'}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'auth_keys'", 'to': "orm['auth.User']"}) - }, - 'forum.award': { - 'Meta': {'object_name': 'Award', 'db_table': "u'award'"}, - 'awarded_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'badge': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'award_badge'", 'to': "orm['forum.Badge']"}), - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'notified': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'award_user'", 'to': "orm['auth.User']"}) - }, - 'forum.badge': { - 'Meta': {'unique_together': "(('name', 'type'),)", 'object_name': 'Badge', 'db_table': "u'badge'"}, - 'awarded_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), - 'awarded_to': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'badges'", 'through': "'Award'", 'to': "orm['auth.User']"}), - 'description': ('django.db.models.fields.CharField', [], {'max_length': '300'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'multiple': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}), - 'slug': ('django.db.models.fields.SlugField', [], {'db_index': 'True', 'max_length': '50', 'blank': 'True'}), - 'type': ('django.db.models.fields.SmallIntegerField', [], {}) - }, - 'forum.book': { - 'Meta': {'object_name': 'Book', 'db_table': "u'book'"}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {}), - 'author': ('django.db.models.fields.CharField', [], {'max_length': '255'}), - 'cover_img': ('django.db.models.fields.CharField', [], {'max_length': '255'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {}), - 'pages': ('django.db.models.fields.SmallIntegerField', [], {}), - 'price': ('django.db.models.fields.DecimalField', [], {'max_digits': '6', 'decimal_places': '2'}), - 'publication': ('django.db.models.fields.CharField', [], {'max_length': '255'}), - 'published_at': ('django.db.models.fields.DateTimeField', [], {}), - 'questions': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'book'", 'db_table': "'book_question'", 'to': "orm['forum.Question']"}), - 'short_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}), - 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), - 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) - }, - 'forum.bookauthorinfo': { - 'Meta': {'object_name': 'BookAuthorInfo', 'db_table': "u'book_author_info'"}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {}), - 'blog_url': ('django.db.models.fields.CharField', [], {'max_length': '255'}), - 'book': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Book']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) - }, - 'forum.bookauthorrss': { - 'Meta': {'object_name': 'BookAuthorRss', 'db_table': "u'book_author_rss'"}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {}), - 'book': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Book']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'rss_created_at': ('django.db.models.fields.DateTimeField', [], {}), - 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}), - 'url': ('django.db.models.fields.CharField', [], {'max_length': '255'}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) - }, - 'forum.comment': { - 'Meta': {'object_name': 'Comment', 'db_table': "u'comment'"}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'comment': ('django.db.models.fields.CharField', [], {'max_length': '2048'}), - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), - 'html': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '2048'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'comments'", 'to': "orm['auth.User']"}) - }, - 'forum.emailfeedsetting': { - 'Meta': {'object_name': 'EmailFeedSetting'}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), - 'feed_type': ('django.db.models.fields.CharField', [], {'max_length': '16'}), - 'frequency': ('django.db.models.fields.CharField', [], {'default': "'n'", 'max_length': '8'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'reported_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}), - 'subscriber': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'notification_subscriptions'", 'to': "orm['auth.User']"}) - }, - 'forum.favoritequestion': { - 'Meta': {'object_name': 'FavoriteQuestion', 'db_table': "u'favorite_question'"}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Question']"}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'user_favorite_questions'", 'to': "orm['auth.User']"}) - }, - 'forum.flaggeditem': { - 'Meta': {'unique_together': "(('content_type', 'object_id', 'user'),)", 'object_name': 'FlaggedItem', 'db_table': "u'flagged_item'"}, - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), - 'flagged_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'flaggeditems'", 'to': "orm['auth.User']"}) - }, - 'forum.markedtag': { - 'Meta': {'object_name': 'MarkedTag'}, - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'reason': ('django.db.models.fields.CharField', [], {'max_length': '16'}), - 'tag': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'user_selections'", 'to': "orm['forum.Tag']"}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'tag_selections'", 'to': "orm['auth.User']"}) - }, - 'forum.mention': { - 'Meta': {'object_name': 'Mention', 'db_table': "u'mention'"}, - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'mentioned_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'mentioned_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'mentions_sent'", 'to': "orm['auth.User']"}), - 'mentioned_whom': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'mentions_received'", 'to': "orm['auth.User']"}), - 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}) - }, - 'forum.question': { - 'Meta': {'object_name': 'Question', 'db_table': "u'question'"}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'answer_accepted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'answer_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), - 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'questions'", 'to': "orm['auth.User']"}), - 'close_reason': ('django.db.models.fields.SmallIntegerField', [], {'null': 'True', 'blank': 'True'}), - 'closed': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'closed_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'closed_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'closed_questions'", 'null': 'True', 'to': "orm['auth.User']"}), - 'comment_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), - 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_questions'", 'null': 'True', 'to': "orm['auth.User']"}), - 'favorited_by': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'favorite_questions'", 'through': "'FavoriteQuestion'", 'to': "orm['auth.User']"}), - 'favourite_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), - 'followed_by': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'followed_questions'", 'to': "orm['auth.User']"}), - 'html': ('django.db.models.fields.TextField', [], {'null': 'True'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'last_activity_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'last_activity_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'last_active_in_questions'", 'to': "orm['auth.User']"}), - 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'last_edited_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'last_edited_questions'", 'null': 'True', 'to': "orm['auth.User']"}), - 'locked': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'locked_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'locked_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'locked_questions'", 'null': 'True', 'to': "orm['auth.User']"}), - 'offensive_flag_count': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), - 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), - 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), - 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), - 'tags': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'questions'", 'to': "orm['forum.Tag']"}), - 'text': ('django.db.models.fields.TextField', [], {'null': 'True'}), - 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}), - 'view_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), - 'vote_down_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), - 'vote_up_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), - 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'wikified_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}) - }, - 'forum.questionrevision': { - 'Meta': {'object_name': 'QuestionRevision', 'db_table': "u'question_revision'"}, - 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'questionrevisions'", 'to': "orm['auth.User']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'revisions'", 'to': "orm['forum.Question']"}), - 'revised_at': ('django.db.models.fields.DateTimeField', [], {}), - 'revision': ('django.db.models.fields.PositiveIntegerField', [], {}), - 'summary': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}), - 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), - 'text': ('django.db.models.fields.TextField', [], {}), - 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}) - }, - 'forum.questionview': { - 'Meta': {'object_name': 'QuestionView'}, - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'viewed'", 'to': "orm['forum.Question']"}), - 'when': ('django.db.models.fields.DateTimeField', [], {}), - 'who': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'question_views'", 'to': "orm['auth.User']"}) - }, - 'forum.repute': { - 'Meta': {'object_name': 'Repute', 'db_table': "u'repute'"}, - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'negative': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), - 'positive': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), - 'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Question']"}), - 'reputation': ('django.db.models.fields.IntegerField', [], {'default': '1'}), - 'reputation_type': ('django.db.models.fields.SmallIntegerField', [], {}), - 'reputed_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) - }, - 'forum.tag': { - 'Meta': {'object_name': 'Tag', 'db_table': "u'tag'"}, - 'created_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'created_tags'", 'to': "orm['auth.User']"}), - 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_tags'", 'null': 'True', 'to': "orm['auth.User']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), - 'used_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}) - }, - 'forum.validationhash': { - 'Meta': {'unique_together': "(('user', 'type'),)", 'object_name': 'ValidationHash'}, - 'expiration': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2010, 5, 22, 21, 40, 30, 531379)'}), - 'hash_code': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'seed': ('django.db.models.fields.CharField', [], {'max_length': '12'}), - 'type': ('django.db.models.fields.CharField', [], {'max_length': '12'}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) - }, - 'forum.vote': { - 'Meta': {'unique_together': "(('content_type', 'object_id', 'user'),)", 'object_name': 'Vote', 'db_table': "u'vote'"}, - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'votes'", 'to': "orm['auth.User']"}), - 'vote': ('django.db.models.fields.SmallIntegerField', [], {}), - 'voted_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}) - } - } - - complete_apps = ['forum'] diff --git a/forum/migrations/0012_delete_some_unused_models.py b/forum/migrations/0012_delete_some_unused_models.py deleted file mode 100644 index de970495..00000000 --- a/forum/migrations/0012_delete_some_unused_models.py +++ /dev/null @@ -1,391 +0,0 @@ -# encoding: utf-8 -import datetime -from south.db import db -from south.v2 import SchemaMigration -from django.db import models -from django.db import connection - -class Migration(SchemaMigration): - - def forwards(self, orm): - - # Deleting model 'AuthKeyUserAssociation' - db.delete_table('forum_authkeyuserassociation') - - # Deleting model 'BookAuthorInfo' - db.delete_table(u'book_author_info') - - # Deleting model 'Mention' - db.delete_table(u'mention') - - # Deleting model 'Book' - db.delete_table(u'book') - - # Removing M2M table for field questions on 'Book' - db.delete_table('book_question') - - # Deleting model 'BookAuthorRss' - db.delete_table(u'book_author_rss') - - - def backwards(self, orm): - - # Adding model 'AuthKeyUserAssociation' - db.create_table('forum_authkeyuserassociation', ( - ('key', self.gf('django.db.models.fields.CharField')(max_length=255, unique=True)), - ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), - ('user', self.gf('django.db.models.fields.related.ForeignKey')(related_name='auth_keys', to=orm['auth.User'])), - ('added_at', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)), - ('provider', self.gf('django.db.models.fields.CharField')(max_length=64)), - )) - db.send_create_signal('forum', ['AuthKeyUserAssociation']) - - # Adding model 'BookAuthorInfo' - db.create_table(u'book_author_info', ( - ('added_at', self.gf('django.db.models.fields.DateTimeField')()), - ('book', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['forum.Book'])), - ('user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'])), - ('blog_url', self.gf('django.db.models.fields.CharField')(max_length=255)), - ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), - ('last_edited_at', self.gf('django.db.models.fields.DateTimeField')()), - )) - db.send_create_signal('forum', ['BookAuthorInfo']) - - # Adding model 'Mention' - db.create_table(u'mention', ( - ('mentioned_by', self.gf('django.db.models.fields.related.ForeignKey')(related_name='mentions_sent', to=orm['auth.User'])), - ('mentioned_at', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)), - ('object_id', self.gf('django.db.models.fields.PositiveIntegerField')()), - ('content_type', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['contenttypes.ContentType'])), - ('mentioned_whom', self.gf('django.db.models.fields.related.ForeignKey')(related_name='mentions_received', to=orm['auth.User'])), - ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), - )) - db.send_create_signal('forum', ['Mention']) - - # Adding model 'Book' - db.create_table(u'book', ( - ('publication', self.gf('django.db.models.fields.CharField')(max_length=255)), - ('short_name', self.gf('django.db.models.fields.CharField')(max_length=255)), - ('author', self.gf('django.db.models.fields.CharField')(max_length=255)), - ('cover_img', self.gf('django.db.models.fields.CharField')(max_length=255)), - ('price', self.gf('django.db.models.fields.DecimalField')(max_digits=6, decimal_places=2)), - ('title', self.gf('django.db.models.fields.CharField')(max_length=255)), - ('added_at', self.gf('django.db.models.fields.DateTimeField')()), - ('pages', self.gf('django.db.models.fields.SmallIntegerField')()), - ('tagnames', self.gf('django.db.models.fields.CharField')(max_length=125)), - ('published_at', self.gf('django.db.models.fields.DateTimeField')()), - ('user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'])), - ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), - ('last_edited_at', self.gf('django.db.models.fields.DateTimeField')()), - )) - db.send_create_signal('forum', ['Book']) - - # Adding M2M table for field questions on 'Book' - db.create_table('book_question', ( - ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), - ('book', models.ForeignKey(orm['forum.book'], null=False)), - ('question', models.ForeignKey(orm['forum.question'], null=False)) - )) - db.create_unique('book_question', ['book_id', 'question_id']) - - # Adding model 'BookAuthorRss' - db.create_table(u'book_author_rss', ( - ('title', self.gf('django.db.models.fields.CharField')(max_length=255)), - ('url', self.gf('django.db.models.fields.CharField')(max_length=255)), - ('added_at', self.gf('django.db.models.fields.DateTimeField')()), - ('book', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['forum.Book'])), - ('user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'])), - ('rss_created_at', self.gf('django.db.models.fields.DateTimeField')()), - ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), - )) - db.send_create_signal('forum', ['BookAuthorRss']) - - - models = { - 'auth.group': { - 'Meta': {'object_name': 'Group'}, - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), - 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'blank': 'True'}) - }, - 'auth.permission': { - 'Meta': {'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, - 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) - }, - 'auth.user': { - 'Meta': {'object_name': 'User'}, - 'about': ('django.db.models.fields.TextField', [], {'blank': 'True'}), - 'bronze': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), - 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'date_of_birth': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), - 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), - 'email_isvalid': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'email_key': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True'}), - 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), - 'gold': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), - 'gravatar': ('django.db.models.fields.CharField', [], {'max_length': '32'}), - 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'blank': 'True'}), - 'hide_ignored_questions': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}), - 'is_approved': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), - 'last_seen': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'location': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), - 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), - 'questions_per_page': ('django.db.models.fields.SmallIntegerField', [], {'default': '10'}), - 'real_name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), - 'reputation': ('django.db.models.fields.PositiveIntegerField', [], {'default': '1'}), - 'silver': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), - 'tag_filter_setting': ('django.db.models.fields.CharField', [], {'default': "'ignored'", 'max_length': '16'}), - 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'blank': 'True'}), - 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), - 'website': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}) - }, - 'contenttypes.contenttype': { - 'Meta': {'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, - 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), - 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) - }, - 'forum.activity': { - 'Meta': {'object_name': 'Activity', 'db_table': "u'activity'"}, - 'active_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'activity_type': ('django.db.models.fields.SmallIntegerField', [], {}), - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'is_auditted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), - 'receiving_users': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'received_activity'", 'to': "orm['auth.User']"}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) - }, - 'forum.anonymousanswer': { - 'Meta': {'object_name': 'AnonymousAnswer'}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'author': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'ip_addr': ('django.db.models.fields.IPAddressField', [], {'max_length': '15'}), - 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'anonymous_answers'", 'to': "orm['forum.Question']"}), - 'session_key': ('django.db.models.fields.CharField', [], {'max_length': '40'}), - 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), - 'text': ('django.db.models.fields.TextField', [], {}), - 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}) - }, - 'forum.anonymousquestion': { - 'Meta': {'object_name': 'AnonymousQuestion'}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'author': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'ip_addr': ('django.db.models.fields.IPAddressField', [], {'max_length': '15'}), - 'session_key': ('django.db.models.fields.CharField', [], {'max_length': '40'}), - 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), - 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), - 'text': ('django.db.models.fields.TextField', [], {}), - 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}), - 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}) - }, - 'forum.answer': { - 'Meta': {'object_name': 'Answer', 'db_table': "u'answer'"}, - 'accepted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'accepted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answers'", 'to': "orm['auth.User']"}), - 'comment_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), - 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_answers'", 'null': 'True', 'to': "orm['auth.User']"}), - 'html': ('django.db.models.fields.TextField', [], {'null': 'True'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'last_edited_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'last_edited_answers'", 'null': 'True', 'to': "orm['auth.User']"}), - 'locked': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'locked_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'locked_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'locked_answers'", 'null': 'True', 'to': "orm['auth.User']"}), - 'offensive_flag_count': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), - 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answers'", 'to': "orm['forum.Question']"}), - 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), - 'text': ('django.db.models.fields.TextField', [], {'null': 'True'}), - 'vote_down_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), - 'vote_up_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), - 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'wikified_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}) - }, - 'forum.answerrevision': { - 'Meta': {'object_name': 'AnswerRevision', 'db_table': "u'answer_revision'"}, - 'answer': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'revisions'", 'to': "orm['forum.Answer']"}), - 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answerrevisions'", 'to': "orm['auth.User']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'revised_at': ('django.db.models.fields.DateTimeField', [], {}), - 'revision': ('django.db.models.fields.PositiveIntegerField', [], {}), - 'summary': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}), - 'text': ('django.db.models.fields.TextField', [], {}) - }, - 'forum.award': { - 'Meta': {'object_name': 'Award', 'db_table': "u'award'"}, - 'awarded_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'badge': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'award_badge'", 'to': "orm['forum.Badge']"}), - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'notified': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'award_user'", 'to': "orm['auth.User']"}) - }, - 'forum.badge': { - 'Meta': {'unique_together': "(('name', 'type'),)", 'object_name': 'Badge', 'db_table': "u'badge'"}, - 'awarded_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), - 'awarded_to': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'badges'", 'through': "'Award'", 'to': "orm['auth.User']"}), - 'description': ('django.db.models.fields.CharField', [], {'max_length': '300'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'multiple': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}), - 'slug': ('django.db.models.fields.SlugField', [], {'db_index': 'True', 'max_length': '50', 'blank': 'True'}), - 'type': ('django.db.models.fields.SmallIntegerField', [], {}) - }, - 'forum.comment': { - 'Meta': {'object_name': 'Comment', 'db_table': "u'comment'"}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'comment': ('django.db.models.fields.CharField', [], {'max_length': '2048'}), - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), - 'html': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '2048'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'comments'", 'to': "orm['auth.User']"}) - }, - 'forum.emailfeedsetting': { - 'Meta': {'object_name': 'EmailFeedSetting'}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), - 'feed_type': ('django.db.models.fields.CharField', [], {'max_length': '16'}), - 'frequency': ('django.db.models.fields.CharField', [], {'default': "'n'", 'max_length': '8'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'reported_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}), - 'subscriber': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'notification_subscriptions'", 'to': "orm['auth.User']"}) - }, - 'forum.favoritequestion': { - 'Meta': {'object_name': 'FavoriteQuestion', 'db_table': "u'favorite_question'"}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Question']"}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'user_favorite_questions'", 'to': "orm['auth.User']"}) - }, - 'forum.flaggeditem': { - 'Meta': {'unique_together': "(('content_type', 'object_id', 'user'),)", 'object_name': 'FlaggedItem', 'db_table': "u'flagged_item'"}, - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), - 'flagged_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'flaggeditems'", 'to': "orm['auth.User']"}) - }, - 'forum.markedtag': { - 'Meta': {'object_name': 'MarkedTag'}, - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'reason': ('django.db.models.fields.CharField', [], {'max_length': '16'}), - 'tag': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'user_selections'", 'to': "orm['forum.Tag']"}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'tag_selections'", 'to': "orm['auth.User']"}) - }, - 'forum.question': { - 'Meta': {'object_name': 'Question', 'db_table': "u'question'"}, - 'added_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'answer_accepted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'answer_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), - 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'questions'", 'to': "orm['auth.User']"}), - 'close_reason': ('django.db.models.fields.SmallIntegerField', [], {'null': 'True', 'blank': 'True'}), - 'closed': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'closed_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'closed_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'closed_questions'", 'null': 'True', 'to': "orm['auth.User']"}), - 'comment_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), - 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_questions'", 'null': 'True', 'to': "orm['auth.User']"}), - 'favorited_by': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'favorite_questions'", 'through': "'FavoriteQuestion'", 'to': "orm['auth.User']"}), - 'favourite_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), - 'followed_by': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'followed_questions'", 'to': "orm['auth.User']"}), - 'html': ('django.db.models.fields.TextField', [], {'null': 'True'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'last_activity_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'last_activity_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'last_active_in_questions'", 'to': "orm['auth.User']"}), - 'last_edited_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'last_edited_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'last_edited_questions'", 'null': 'True', 'to': "orm['auth.User']"}), - 'locked': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'locked_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'locked_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'locked_questions'", 'null': 'True', 'to': "orm['auth.User']"}), - 'offensive_flag_count': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), - 'score': ('django.db.models.fields.IntegerField', [], {'default': '0'}), - 'summary': ('django.db.models.fields.CharField', [], {'max_length': '180'}), - 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), - 'tags': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'questions'", 'to': "orm['forum.Tag']"}), - 'text': ('django.db.models.fields.TextField', [], {'null': 'True'}), - 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}), - 'view_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}), - 'vote_down_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), - 'vote_up_count': ('django.db.models.fields.IntegerField', [], {'default': '0'}), - 'wiki': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'wikified_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}) - }, - 'forum.questionrevision': { - 'Meta': {'object_name': 'QuestionRevision', 'db_table': "u'question_revision'"}, - 'author': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'questionrevisions'", 'to': "orm['auth.User']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'revisions'", 'to': "orm['forum.Question']"}), - 'revised_at': ('django.db.models.fields.DateTimeField', [], {}), - 'revision': ('django.db.models.fields.PositiveIntegerField', [], {}), - 'summary': ('django.db.models.fields.CharField', [], {'max_length': '300', 'blank': 'True'}), - 'tagnames': ('django.db.models.fields.CharField', [], {'max_length': '125'}), - 'text': ('django.db.models.fields.TextField', [], {}), - 'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}) - }, - 'forum.questionview': { - 'Meta': {'object_name': 'QuestionView'}, - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'viewed'", 'to': "orm['forum.Question']"}), - 'when': ('django.db.models.fields.DateTimeField', [], {}), - 'who': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'question_views'", 'to': "orm['auth.User']"}) - }, - 'forum.repute': { - 'Meta': {'object_name': 'Repute', 'db_table': "u'repute'"}, - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'negative': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), - 'positive': ('django.db.models.fields.SmallIntegerField', [], {'default': '0'}), - 'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['forum.Question']"}), - 'reputation': ('django.db.models.fields.IntegerField', [], {'default': '1'}), - 'reputation_type': ('django.db.models.fields.SmallIntegerField', [], {}), - 'reputed_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) - }, - 'forum.tag': { - 'Meta': {'object_name': 'Tag', 'db_table': "u'tag'"}, - 'created_by': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'created_tags'", 'to': "orm['auth.User']"}), - 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), - 'deleted_at': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), - 'deleted_by': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'deleted_tags'", 'null': 'True', 'to': "orm['auth.User']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), - 'used_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}) - }, - 'forum.validationhash': { - 'Meta': {'unique_together': "(('user', 'type'),)", 'object_name': 'ValidationHash'}, - 'expiration': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2010, 5, 29, 12, 2, 31, 449262)'}), - 'hash_code': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'seed': ('django.db.models.fields.CharField', [], {'max_length': '12'}), - 'type': ('django.db.models.fields.CharField', [], {'max_length': '12'}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) - }, - 'forum.vote': { - 'Meta': {'unique_together': "(('content_type', 'object_id', 'user'),)", 'object_name': 'Vote', 'db_table': "u'vote'"}, - 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), - 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), - 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), - 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'votes'", 'to': "orm['auth.User']"}), - 'vote': ('django.db.models.fields.SmallIntegerField', [], {}), - 'voted_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}) - } - } - - complete_apps = ['forum'] diff --git a/forum/views/__init__.py b/forum/views/__init__.py deleted file mode 100644 index dd390da7..00000000 --- a/forum/views/__init__.py +++ /dev/null @@ -1,8 +0,0 @@ -""" -Forum views module -""" -from forum.views import readers -from forum.views import writers -from forum.views import commands -from forum.views import users -from forum.views import meta diff --git a/settings.py b/settings.py index f0d11242..63d29c4f 100644 --- a/settings.py +++ b/settings.py @@ -12,8 +12,8 @@ TEMPLATE_LOADERS = ( 'django.template.loaders.filesystem.load_template_source', 'django.template.loaders.app_directories.load_template_source', - #below is forum stuff for this tuple - 'forum.skins.loaders.load_template_source',#forum stuff + #below is askbot stuff for this tuple + 'askbot.skins.loaders.load_template_source',#askbot stuff # 'django.template.loaders.eggs.load_template_source', ) @@ -27,31 +27,31 @@ MIDDLEWARE_CLASSES = ( 'django.contrib.auth.middleware.AuthenticationMiddleware', #'django.middleware.sqlprint.SqlPrintingMiddleware', - #below is forum stuff for this tuple - 'forum.middleware.anon_user.ConnectToSessionMessagesMiddleware', - 'forum.middleware.pagesize.QuestionsPageSizeMiddleware', - 'forum.middleware.cancel.CancelActionMiddleware', + #below is askbot stuff for this tuple + 'askbot.middleware.anon_user.ConnectToSessionMessagesMiddleware', + 'askbot.middleware.pagesize.QuestionsPageSizeMiddleware', + 'askbot.middleware.cancel.CancelActionMiddleware', #'recaptcha_django.middleware.ReCaptchaMiddleware', 'django.middleware.transaction.TransactionMiddleware', 'debug_toolbar.middleware.DebugToolbarMiddleware', - 'forum.middleware.view_log.ViewLogMiddleware', - 'forum.middleware.spaceless.SpacelessMiddleware', + 'askbot.middleware.view_log.ViewLogMiddleware', + 'askbot.middleware.spaceless.SpacelessMiddleware', ) -#all of these are necessary for the forum and absend in default settings.py +#all of these are necessary for the askbot and absend in default settings.py TEMPLATE_CONTEXT_PROCESSORS = ( 'django.core.context_processors.request', - 'forum.context.application_settings', + 'askbot.context.application_settings', #'django.core.context_processors.i18n', - 'forum.user_messages.context_processors.user_messages',#must be before auth + 'askbot.user_messages.context_processors.user_messages',#must be before auth 'django.core.context_processors.auth', #this is required for admin ) ROOT_URLCONF = 'urls' TEMPLATE_DIRS = ( - #specific to forum - os.path.join(os.path.dirname(__file__),'forum','skins').replace('\\','/'), + #specific to askbot + os.path.join(os.path.dirname(__file__),'askbot','skins').replace('\\','/'), ) #UPLOAD SETTINGS @@ -69,16 +69,16 @@ INSTALLED_APPS = ( 'django.contrib.sessions', 'django.contrib.sites', - #all of these are needed for the forum + #all of these are needed for the askbot 'django.contrib.admin', 'django.contrib.humanize', 'django.contrib.sitemaps', 'debug_toolbar', - 'forum', - 'forum.deps.django_authopenid', - #'forum.importers.stackexchange', #se loader + 'askbot', + 'askbot.deps.django_authopenid', + #'askbot.importers.stackexchange', #se loader 'south', - 'forum.deps.livesettings', + 'askbot.deps.livesettings', 'keyedcache', ) @@ -8,7 +8,7 @@ from django.contrib import admin admin.autodiscover() urlpatterns = patterns('', - (r'^%s' % settings.FORUM_SCRIPT_ALIAS, include('forum.urls')), + (r'^%s' % settings.FORUM_SCRIPT_ALIAS, include('askbot.urls')), (r'^admin/', include(admin.site.urls)), (r'^cache/', include('keyedcache.urls')), (r'^settings/', include('livesettings.urls')), |