From cb447528430d5e36966e29ad91eb3bb279e47347 Mon Sep 17 00:00:00 2001 From: Benny Daon Date: Tue, 22 Oct 2013 13:25:00 +0200 Subject: [PATCH 01/19] FAIL: Better home and forms failed getting the entity form to work on home page. --- oshot/context_processors.py | 10 +-- templates/home_page.html | 159 ++++++++++++++++++------------------ 2 files changed, 83 insertions(+), 86 deletions(-) diff --git a/oshot/context_processors.py b/oshot/context_processors.py index 45c476e..bc1bf70 100644 --- a/oshot/context_processors.py +++ b/oshot/context_processors.py @@ -29,14 +29,8 @@ def forms(request): entity = request.user.profile.locality context['entity'] = entity - # where the magic happens: set local or global scope urls - if entity: - initial = {'entity': entity.id} - context['questions_url'] = reverse("local_home", args=(entity.id,)) - else: - initial = {} - context['questions_url'] = reverse("home_page") - context['entity_form'] = EntityChoiceForm(initial=initial, auto_id=False) + context['questions_url'] = reverse("home_page") + context['entity_form'] = EntityChoiceForm(initial={}, auto_id=False) except (AttributeError, Http404): pass diff --git a/templates/home_page.html b/templates/home_page.html index c736d17..005882d 100644 --- a/templates/home_page.html +++ b/templates/home_page.html @@ -4,79 +4,86 @@ {% load cache %} {% block toolbar %} -

ביחד מחסלים את הרוב הדומם

+

+ {{entity}} +

+

ביחד מחסלים את הרוב הדומם

{% endblock %} {% block content %}
{% flatblock 'home.welcome' 3600 %} - -
- -
+
+ {% with entity=False %} + {{ entity_form }} + {% endwith %} +

{{ questions }} {% trans "questions" %}

@@ -88,20 +95,16 @@

{{ answers }} {% trans "answers" %}

- {% cache 86400 homepage_form %} - {% with entity=False %} - {{ entity_form }} - {% include "_search.html" %} - {% endwith %} - {% endcache %} - {% if entity %} -

{{entity}}

- {% endif %} -
-

תמונות מאינסטגרם של #בחירות

- + {% cache 86400 homepage_form %} + {% with entity=False %} + {% include "_search.html" %} + {% endwith %} + {% endcache %}
+ - +
{% endblock %} From 83b44b12bef69c9a9c08d8175afaa6cac415e531 Mon Sep 17 00:00:00 2001 From: Benny Daon Date: Tue, 22 Oct 2013 13:50:21 +0200 Subject: [PATCH 02/19] A permalink for the default avatar --- oshot/settings/base.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/oshot/settings/base.py b/oshot/settings/base.py index 190dc04..e492b6d 100644 --- a/oshot/settings/base.py +++ b/oshot/settings/base.py @@ -228,7 +228,7 @@ } AVATAR_MAX_AVATARS_PER_USER = 1 AVATAR_GRAVATAR_BACKUP = False -AVATAR_DEFAULT_URL = "http://www.hasadna.org.il/wp-content/uploads/2013/10/default-avatar.jpg" +AVATAR_DEFAULT_URL = "http://www.hasadna.org.il/?attachment_id=3808" QNA_DEFAULT_ENTITY_ID = 277 From fd20efb924ac270b358d2233d56d790531c2f1fa Mon Sep 17 00:00:00 2001 From: Benny Daon Date: Tue, 22 Oct 2013 14:10:47 +0200 Subject: [PATCH 03/19] polish to the home - #TODO move entity_from to top --- templates/home_page.html | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/templates/home_page.html b/templates/home_page.html index e07b814..9dbbb84 100644 --- a/templates/home_page.html +++ b/templates/home_page.html @@ -82,9 +82,7 @@

אז איפה מצביעים?

- {% with entity=False %} - {{ entity_form }} - {% endwith %} + {# move the entity_from here somehow for simpler interface #}
@@ -99,6 +97,7 @@

{{ answers }} {% trans "answers" %}

{% cache 86400 homepage_form %} {% with entity=False %} + {{ entity_form }} {% include "_search.html" %} {% endwith %} {% endcache %} From 979934b43b5dc62fff5e4677e5c9b6bd48544ca0 Mon Sep 17 00:00:00 2001 From: Benny Daon Date: Tue, 22 Oct 2013 14:43:01 +0200 Subject: [PATCH 04/19] fab commands now flush the cache --- fabfile.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/fabfile.py b/fabfile.py index a64b958..605e0e6 100644 --- a/fabfile.py +++ b/fabfile.py @@ -18,6 +18,7 @@ def refresh(branch='master'): with cd('~oshot/src/oshot'): run('git pull origin ' + branch) sudo('restart oshot') + run("echo 'flush_all' | netcat localhost 11211 -q 1") def deploy(branch='master'): local('git push origin ' + branch) @@ -30,3 +31,4 @@ def deploy(branch='master'): run('honcho run python manage.py migrate --no-initial-data') run('honcho run python manage.py collectstatic --noinput') sudo('restart oshot') + run("echo 'flush_all' | netcat localhost 11211 -q 1") From 53079215fe1f800249e6e2e7964e387ebca57b30 Mon Sep 17 00:00:00 2001 From: Benny Daon Date: Tue, 22 Oct 2013 14:51:43 +0200 Subject: [PATCH 05/19] better default avatar --- oshot/settings/base.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/oshot/settings/base.py b/oshot/settings/base.py index e492b6d..6d62a47 100644 --- a/oshot/settings/base.py +++ b/oshot/settings/base.py @@ -228,7 +228,7 @@ } AVATAR_MAX_AVATARS_PER_USER = 1 AVATAR_GRAVATAR_BACKUP = False -AVATAR_DEFAULT_URL = "http://www.hasadna.org.il/?attachment_id=3808" +AVATAR_DEFAULT_URL = "http://www.hasadna.org.il/wp-content/uploads/2013/10/oshotavatar1-200x200.png" QNA_DEFAULT_ENTITY_ID = 277 From 245d28c83d4e8657a48b1396f6d87f86782a9821 Mon Sep 17 00:00:00 2001 From: Benny Daon Date: Tue, 22 Oct 2013 14:56:03 +0200 Subject: [PATCH 06/19] need to find an easier way to change the avatar..." --- oshot/settings/base.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/oshot/settings/base.py b/oshot/settings/base.py index 6d62a47..2991956 100644 --- a/oshot/settings/base.py +++ b/oshot/settings/base.py @@ -228,7 +228,7 @@ } AVATAR_MAX_AVATARS_PER_USER = 1 AVATAR_GRAVATAR_BACKUP = False -AVATAR_DEFAULT_URL = "http://www.hasadna.org.il/wp-content/uploads/2013/10/oshotavatar1-200x200.png" +AVATAR_DEFAULT_URL = "http://www.hasadna.org.il/wp-content/uploads/2013/10/oshotavatar2.png" QNA_DEFAULT_ENTITY_ID = 277 From 86970004c39ef44e3ad31aa15a5e4547a66ba471 Mon Sep 17 00:00:00 2001 From: Benny Daon Date: Tue, 22 Oct 2013 16:54:30 +0200 Subject: [PATCH 07/19] Fixing linux installation instructions --- README.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.rst b/README.rst index b420ca1..710d03f 100644 --- a/README.rst +++ b/README.rst @@ -17,10 +17,10 @@ Quick Start - Linux $ sudo apt-get install git-core mercurial python2.7-dev python-setuptools libjpeg-dev $ sudo easy_install pip $ sudo pip install virtualenv - $ virtualenv ENV - $ source ENV/bin/activate $ git clone https://github.com/hasadna/open-shot.git $ cd open-shot + $ virtualenv -p /usr/bin/python2.7 ENV + $ source ENV/bin/activate $ pip install -r requirements.txt $ python manage.py test $ python manage.py syncdb --migrate --noinput From d07dbbcef97ce9fffd5af9f3c7752920e6563ed9 Mon Sep 17 00:00:00 2001 From: Benny Daon Date: Tue, 22 Oct 2013 17:06:39 +0200 Subject: [PATCH 08/19] Installation improvements for big server --- oshot/settings/base.py | 1 + oshot/settings/nsa.py | 2 +- oshot/settings/s3.py | 3 --- requirements.txt | 1 + 4 files changed, 3 insertions(+), 4 deletions(-) diff --git a/oshot/settings/base.py b/oshot/settings/base.py index 2991956..78e753a 100644 --- a/oshot/settings/base.py +++ b/oshot/settings/base.py @@ -130,6 +130,7 @@ 'avatar', 'actstream', 'debug_toolbar', + 'djsupervisor', # local apps 'qa', 'user', diff --git a/oshot/settings/nsa.py b/oshot/settings/nsa.py index 25f96b7..c77d8b9 100644 --- a/oshot/settings/nsa.py +++ b/oshot/settings/nsa.py @@ -5,7 +5,7 @@ from .s3 import * ALLOWED_HOSTS = ("oshot.hasadna.org.il", ".localshot.org.il", ) -SECRET_KEY = os.environ.get('DJANGO_SECRET_KEY') +SECRET_KEY = os.environ.get('DJANGO_SECRET_KEY', SECRET_KEY) DEBUG = os.environ.get('DEBUG', False) TEMPLATE_DEBUG = DEBUG diff --git a/oshot/settings/s3.py b/oshot/settings/s3.py index 0774e9e..ab7479d 100644 --- a/oshot/settings/s3.py +++ b/oshot/settings/s3.py @@ -1,9 +1,6 @@ import os STATIC_S3 = True -AWS_ACCESS_KEY_ID = os.environ.get('AWS_ACCESS_KEY_ID') -AWS_SECRET_ACCESS_KEY = os.environ.get('AWS_SECRET_ACCESS_KEY') -AWS_STORAGE_BUCKET_NAME = os.environ.get('AWS_STORAGE_BUCKET_NAME') AWS_QUERYSTRING_AUTH = False AWS_S3_SECURE_URLS = False diff --git a/requirements.txt b/requirements.txt index b5387f5..22d58d5 100644 --- a/requirements.txt +++ b/requirements.txt @@ -42,3 +42,4 @@ facepy==0.8.4 -e git+https://github.com/jezdez/django-avatar.git#egg=django-avatar -e git://github.com/hasadna/django-activity-stream.git@c56a07921b8c796fce35bda6feab4610fdf64e5d#egg=django-activity-stream python-memcached +django-supervisor From 4449b6a07833ae707dc9c82265d04a80224092cd Mon Sep 17 00:00:00 2001 From: Benny Daon Date: Wed, 23 Oct 2013 09:51:37 +0300 Subject: [PATCH 09/19] the right avatar --- oshot/settings/base.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/oshot/settings/base.py b/oshot/settings/base.py index 78e753a..eae7d51 100644 --- a/oshot/settings/base.py +++ b/oshot/settings/base.py @@ -229,7 +229,7 @@ } AVATAR_MAX_AVATARS_PER_USER = 1 AVATAR_GRAVATAR_BACKUP = False -AVATAR_DEFAULT_URL = "http://www.hasadna.org.il/wp-content/uploads/2013/10/oshotavatar2.png" +AVATAR_DEFAULT_URL = "http://ok-qa-media.s3.amazonaws.com/img/question_comix.png" QNA_DEFAULT_ENTITY_ID = 277 From 62ea1fb857c8f6990cf74d1d99d9b16d1f36f921 Mon Sep 17 00:00:00 2001 From: tbrisker Date: Thu, 24 Oct 2013 08:56:17 +0300 Subject: [PATCH 10/19] fix a couple of annoying server errors --- locale/he/LC_MESSAGES/django.mo | Bin 19385 -> 19380 bytes locale/he/LC_MESSAGES/django.po | 394 ++++++++++++++++---------------- qa/views.py | 7 +- 3 files changed, 206 insertions(+), 195 deletions(-) diff --git a/locale/he/LC_MESSAGES/django.mo b/locale/he/LC_MESSAGES/django.mo index ded49827b42989190d723cc33d92613696b202e8..c9c680a3f15f35e96d333a556b512f45dcc59afa 100644 GIT binary patch delta 4833 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\n" "Language-Team: LANGUAGE \n" @@ -20,8 +20,7 @@ msgstr "" msgid "Content" msgstr "תוכן" -#: links/models.py:16 -#: links/models.py:29 +#: links/models.py:16 links/models.py:29 msgid "title" msgstr "כותרת" @@ -53,8 +52,7 @@ msgstr "קישורים" msgid "Choose a Place" msgstr "בחרו רשות" -#: oshot/views.py:32 -#: user/views.py:123 +#: oshot/views.py:31 user/views.py:123 msgid "Only superusers have access to this page." msgstr "עמוד זה נגיש רק למשתמשי על." @@ -102,72 +100,68 @@ msgstr "מספר חברי המפלגה" msgid "anonymous" msgstr "ללא שם" -#: polyorg/forms.py:17 -#: polyorg/forms.py:23 +#: polyorg/forms.py:17 polyorg/forms.py:23 msgid "Enter a valid URL." msgstr "יש להזין URL חוקי." -#: polyorg/models.py:7 +#: polyorg/models.py:8 msgid "List Name" msgstr "שם רשימה" -#: polyorg/models.py:8 +#: polyorg/models.py:9 msgid "Ballot" msgstr "פתק" -#: polyorg/models.py:12 +#: polyorg/models.py:13 msgid "The list with which is the surplus votes partner" msgstr "הסכם עודפים עם" -#: polyorg/models.py:13 +#: polyorg/models.py:14 msgid "Image URL" msgstr "כתובת תמונה" -#: polyorg/models.py:14 +#: polyorg/models.py:15 msgid "Homepage URL" msgstr "דף הבית" -#: polyorg/models.py:15 +#: polyorg/models.py:16 msgid "YouTube URL" msgstr "כתובת יוטיוב" -#: polyorg/models.py:16 +#: polyorg/models.py:17 msgid "Facebook URL" msgstr "כתובת פייסבוק" -#: polyorg/models.py:17 -#: polyorg/templates/polyorg/candidate_list.html:23 +#: polyorg/models.py:18 polyorg/templates/polyorg/candidate_list.html:23 msgid "Platform" msgstr "מצע" -#: polyorg/models.py:74 +#: polyorg/models.py:80 msgid "candidate list" msgstr "רשימת מועמדים" -#: polyorg/models.py:75 +#: polyorg/models.py:81 msgid "user" msgstr "שם משתמש" -#: polyorg/models.py:76 +#: polyorg/models.py:82 msgid "Ordinal" msgstr "מיקום" -#: polyorg/models.py:78 +#: polyorg/models.py:84 msgid "Elected by #" msgstr "נבחר על ידי (מספר)" -#: polyorg/models.py:78 +#: polyorg/models.py:84 msgid "How many people voted for this candidate" msgstr "" -#: polyorg/models.py:80 +#: polyorg/models.py:86 msgid "Mayorship candidate" msgstr "מועמד לראש הרשות" -#: polyorg/views.py:23 -#: polyorg/views.py:48 -#: polyorg/views.py:81 -#: polyorg/views.py:109 +#: polyorg/views.py:24 polyorg/views.py:49 polyorg/views.py:82 +#: polyorg/views.py:110 msgid "Only editors have access to this page." msgstr "עמוד זה נגיש רק לעורכים." @@ -189,7 +183,7 @@ msgid "remove" msgstr "הסר" #: polyorg/templates/polyorg/candidate_list.html:41 -#: qa/templates/qa/_answer.html:28 +#: qa/templates/qa/_answer.html:32 msgid "Edit" msgstr "עריכה" @@ -253,13 +247,11 @@ msgstr "תגית לא חוקית: %s" msgid "unicode slug" msgstr "שם ביוניקוד" -#: qa/models.py:66 -#: qa/models.py:133 +#: qa/models.py:66 qa/models.py:133 msgid "author" msgstr "מחבר" -#: qa/models.py:67 -#: qa/models.py:137 +#: qa/models.py:67 qa/models.py:137 msgid "question" msgstr "שאלה" @@ -272,8 +264,7 @@ msgstr "פירוט" msgid "Please enter your content in no more than %s letters" msgstr "נא להכניס תוכן בלא יותר מ %s אותיות" -#: qa/models.py:71 -#: qa/models.py:136 +#: qa/models.py:71 qa/models.py:136 msgid "rating" msgstr "ניקוד" @@ -306,113 +297,127 @@ msgstr "רשות לא חוקית" msgid "Please update your locality in your user profile to use the site" msgstr "יש לבחור מקום מגורים כדי להשתמש באתר." -#: qa/views.py:107 +#: qa/views.py:79 +msgid "Bad ordering option" +msgstr "סידור לא תקין" + +#: qa/views.py:109 msgid "No such candidate list: " msgstr "רשימת מועמדים לא קיימת: " -#: qa/views.py:204 +#: qa/views.py:209 msgid "You must be logged in as a candidate to post answers" msgstr "עליך להתחבר כמועמד כדי לפרסם תשובות" -#: qa/views.py:224 +#: qa/views.py:229 msgid "Sorry but only connected users can post questions" msgstr "מצטערים, יש להתחבר כדי לשאול שאלות" -#: qa/views.py:232 +#: qa/views.py:237 msgid "Sorry, you may only post questions in your locality" msgstr "מצטערים, ניתן להעלות שאלה ברשות שלכם בלבד" -#: qa/views.py:234 -msgid "Before posting a new question, please check if it already exists in this page" +#: qa/views.py:239 +msgid "" +"Before posting a new question, please check if it already exists in this page" msgstr "לפני שתעלו שאלה חדשה, אנא בדקו אם היא כבר קיימת בעמוד הנוכחי" -#: qa/views.py:254 +#: qa/views.py:259 msgid "You can only edit your own questions." msgstr "מצטערים, ניתן לערוך רק שאלות שלך" -#: qa/views.py:256 +#: qa/views.py:261 msgid "Question has been answered, editing disabled." msgstr "ישנן תשובות לשאלה, אי אפשר לערוך" -#: qa/views.py:286 +#: qa/views.py:291 msgid "Sorry but only connected users can upvote questions" msgstr "מצטערים, יש להתחבר כדי לתמוך בשאלה" -#: qa/views.py:293 +#: qa/views.py:298 msgid "You may only support questions in your locality" msgstr "ניתן לתמוך בשאלות רק ברשות שלך" -#: qa/views.py:295 +#: qa/views.py:300 msgid "You may not support your own question" msgstr "לא ניתן לתמוך בשאלות של עצמך" -#: qa/views.py:297 +#: qa/views.py:302 msgid "You already upvoted this question" msgstr "תודה, כבר תמכת בשאלה זו" -#: qa/views.py:307 -#: qa/views.py:326 +#: qa/views.py:312 qa/views.py:331 msgid "Use POST to upvote a question" msgstr "השתמש ב POST כדי להצביע לשאלה" -#: qa/views.py:315 +#: qa/views.py:320 msgid "Cannot downvote your own question" msgstr "לא ניתן לבטל את התמיכה בשאלות שאתה כתבת" -#: qa/views.py:317 +#: qa/views.py:322 msgid "You already downvoted this question" msgstr "תודה, כבר ביטלת את תמיכתך בשאלה זו" -#: qa/views.py:339 +#: qa/views.py:344 msgid "OK QA Question Feed" msgstr "שאלות נשאלו" -#: qa/views.py:341 +#: qa/views.py:346 msgid "Questions from OKQA" msgstr "שאלות" -#: qa/views.py:360 +#: qa/views.py:365 #, python-format msgid "Questions feed for %s" msgstr "שטף שאלות עבור %s" -#: qa/views.py:364 +#: qa/views.py:369 #, python-format msgid "Brought to you by \"%s\"" msgstr "מוגש על ידי \"%s\"" -#: qa/views.py:386 +#: qa/views.py:391 msgid "Answers for the question" msgstr "תשובות לשאלה" -#: qa/views.py:392 +#: qa/views.py:397 msgid "A feed of all answers for the question" msgstr "פיד של תשובות לשאלה" -#: qa/views.py:412 +#: qa/views.py:417 msgid "Sorry, you have to login to flag questions" msgstr "אנא התחברו כדי לסמן שאלה לא ראויה" -#: qa/views.py:419 +#: qa/views.py:424 msgid "Sorry, can not delete a question with answers" msgstr "מצטערים, לא ניתן למחוק שאלה עם תשובות" -#: qa/views.py:430 +#: qa/views.py:435 msgid "Question has been removed" msgstr "השאלה נמחקה" -#: qa/views.py:433 +#: qa/views.py:438 msgid "Thanks. You already reported this question" msgstr "תודה, כבר דיווחת על השאלה הזאת" -#: qa/views.py:440 -msgid "Thank you for flagging the question. One of our editors will look at it shortly." +#: qa/views.py:445 +msgid "" +"Thank you for flagging the question. One of our editors will look at it " +"shortly." msgstr "תודה לך על הדיווח. אחד מעורכינו יבדוק את השאלה בקרוב." #: qa/templates/qa/_answer.html:7 msgid "This answer is deleted" msgstr "תשובה זו נמחקה" +#: qa/templates/qa/_answers_count.html:5 +msgid "One Answer" +msgstr "תשובה אחת" + +#: qa/templates/qa/_answers_count.html:7 qa/templates/qa/question_list.html:63 +msgid "Answers" +msgstr "תשובות" + #: qa/templates/qa/_question.html:8 msgid "This question is deleted" msgstr "שאלה זו נמחקה" @@ -473,8 +478,7 @@ msgstr "האם אתם בטוחים שברצונכם דווח על השאלה כ msgid "Flag" msgstr "דווח" -#: qa/templates/qa/_question.html:109 -#: qa/templates/qa/question_list.html:202 +#: qa/templates/qa/_question.html:109 qa/templates/qa/question_list.html:198 msgid "Tags" msgstr "תגיות" @@ -482,9 +486,8 @@ msgstr "תגיות" msgid "from" msgstr "מ:" -#: qa/templates/qa/_question.html:127 -#: user/feeds.py:15 -#: user/templates/user/public_profile.html:63 +#: qa/templates/qa/_question.html:127 user/feeds.py:15 +#: user/templates/user/_answers.html:6 msgid "Answers by" msgstr "התשובות של" @@ -522,12 +525,12 @@ msgid "Edit your question" msgstr "עריכת שאלה" #: qa/templates/qa/post_question.html:34 -#: qa/templates/qa/question_detail.html:81 +#: qa/templates/qa/question_detail.html:71 msgid "characters left" msgstr "תווים נותרו" #: qa/templates/qa/post_question.html:38 -#: qa/templates/qa/question_detail.html:84 +#: qa/templates/qa/question_detail.html:74 msgid "Publish" msgstr "פרסם" @@ -535,27 +538,21 @@ msgstr "פרסם" msgid "Cancel" msgstr "ביטול" -#: qa/templates/qa/question_detail.html:44 -#: qa/templates/qa/question_list.html:66 -#: qa/templates/qa/question_list.html:116 -msgid "Answers" -msgstr "תשובות" - -#: qa/templates/qa/question_detail.html:46 -msgid "feed" -msgstr "רסס" - -#: qa/templates/qa/question_detail.html:57 +#: qa/templates/qa/question_detail.html:34 msgid "No Answers Yet" msgstr "עדיין לא ניתנו תשובות" -#: qa/templates/qa/question_detail.html:58 +#: qa/templates/qa/question_detail.html:35 #: qa/templates/qa/question_list.html:38 -#: user/templates/user/public_profile.html:20 +#: user/templates/user/public_profile.html:16 msgid "Subscribe" msgstr "הרשם" -#: qa/templates/qa/question_detail.html:91 +#: qa/templates/qa/question_detail.html:81 +msgid "feed" +msgstr "רסס" + +#: qa/templates/qa/question_detail.html:88 msgid "Back to" msgstr "חזרה ל" @@ -583,162 +580,153 @@ msgstr "משתמשים רשומים" msgid "Questions" msgstr "שאלות" -#: qa/templates/qa/question_list.html:63 -msgid "Registered candidates" -msgstr "מועמדים רשומים" - -#: qa/templates/qa/question_list.html:71 -#: qa/templates/qa/question_list.html:221 +#: qa/templates/qa/question_list.html:68 +#: qa/templates/qa/question_list.html:217 msgid "Display candidates" msgstr "הצגת המועמדים" -#: qa/templates/qa/question_list.html:88 +#: qa/templates/qa/question_list.html:85 msgid "Candidates in list" msgstr "מועמדים ברשימת" -#: qa/templates/qa/question_list.html:90 +#: qa/templates/qa/question_list.html:87 msgid "No candidate has registered yet in list" msgstr "טרם נרשמו מועמדים ברשימת" -#: qa/templates/qa/question_list.html:96 +#: qa/templates/qa/question_list.html:93 #, python-format msgid "Mayor candidates in %(place)s" msgstr "מועמדים לראשות %(place)s" -#: qa/templates/qa/question_list.html:114 -msgid "One Answer" -msgstr "תשובה אחת" - -#: qa/templates/qa/question_list.html:128 +#: qa/templates/qa/question_list.html:119 msgid "Candidate lists" msgstr "רשימות" -#: qa/templates/qa/question_list.html:151 +#: qa/templates/qa/question_list.html:147 msgid "Mayor candidates" msgstr "מועמדים לראש הרשות" -#: qa/templates/qa/question_list.html:165 +#: qa/templates/qa/question_list.html:161 msgid "In the tags:" msgstr "תחת התגיות:" -#: qa/templates/qa/question_list.html:174 +#: qa/templates/qa/question_list.html:170 msgid "Top Questions" msgstr "שאלות מובילות" -#: qa/templates/qa/question_list.html:177 +#: qa/templates/qa/question_list.html:173 msgid "Most Recent" msgstr "שאלות אחרונות" -#: qa/templates/qa/question_list.html:181 +#: qa/templates/qa/question_list.html:177 msgid "Flagged Questions" msgstr "שאלות מסומנות" -#: qa/templates/qa/question_list.html:199 +#: qa/templates/qa/question_list.html:195 msgid "Ask Question" msgstr "העלו שאלה" -#: qa/templates/qa/question_list.html:215 -#: qa/templates/qa/question_list.html:218 +#: qa/templates/qa/question_list.html:211 +#: qa/templates/qa/question_list.html:214 +#: qa/templates/qa/question_list.html:221 msgid "Hide candidates" msgstr "הסתרת המועמדים" -#: templates/_search.html:7 +#: templates/_search.html:12 msgid "Search in" msgstr "חיפוש ב" -#: templates/_search.html:9 +#: templates/_search.html:14 msgid "Search everywhere" msgstr "חפש בכל הארץ" -#: templates/base.html:72 +#: templates/base.html:77 msgid "Welcome" msgstr "שלום" -#: templates/base.html:74 +#: templates/base.html:79 msgid "my page" msgstr "העמוד שלי" -#: templates/base.html:75 +#: templates/base.html:80 msgid "edit profile" msgstr "ערוך פרופיל" -#: templates/base.html:77 +#: templates/base.html:82 msgid "admin" msgstr "ממשק ניהול" -#: templates/base.html:80 -#: templates/base.html.py:82 +#: templates/base.html:85 templates/base.html.py:87 msgid "manage candidate lists" msgstr "ניהול רשימות מועמדים" -#: templates/base.html:87 +#: templates/base.html:92 msgid "logout" msgstr "התנתקו" -#: templates/base.html:93 -#: templates/registration/activation_complete.html:7 +#: templates/base.html:98 templates/registration/activation_complete.html:7 #: templates/registration/login.html:7 #: templates/registration/password_reset_complete.html:7 msgid "Login" msgstr "היכנסו" -#: templates/base.html:122 +#: templates/base.html:127 msgid "About" msgstr "אודות" -#: templates/base.html:124 +#: templates/base.html:129 msgid "Back to top" msgstr "בחזרה לראש העמוד" -#: templates/base.html:127 +#: templates/base.html:132 msgid "Content is licensed CC-BY. Learn more on this open source project " msgstr "התכנים חופשיים לשימוש תחת רשיון CC-BY והמטבח שלנו פתוח ושקוף - " -#: templates/base.html:129 +#: templates/base.html:134 msgid "here" msgstr "כאן" -#: templates/base.html:134 +#: templates/base.html:139 msgid "The Public Knowledge Workshop" msgstr "הסדנא לידע ציבורי" -#: templates/base.html:135 +#: templates/base.html:140 msgid "together with" msgstr "בשיתוף עם" -#: templates/base.html:135 +#: templates/base.html:140 msgid "The Shaharit Institute" msgstr "מכון שחרית" -#: templates/base.html:136 +#: templates/base.html:141 msgid "Joint Israel - Institute for Leadership and Government" msgstr "המכון למנהיגות וממשל - גו'ינט ישראל" -#: templates/base.html:137 +#: templates/base.html:142 msgid "NUIS" msgstr "התאחדות הסטודנטים" -#: templates/base.html:138 +#: templates/base.html:143 msgid "and" msgstr "ו" -#: templates/base.html:142 +#: templates/base.html:147 msgid "Share" msgstr "שתפו" -#: templates/base.html:174 +#: templates/base.html:179 msgid "read more" msgstr "קרא עוד" -#: templates/base.html:178 +#: templates/base.html:183 msgid "read less" msgstr "קרא פחות" -#: templates/home_page.html:18 +#: templates/home_page.html:89 msgid "questions" msgstr "שאלות" -#: templates/home_page.html:22 +#: templates/home_page.html:93 msgid "answers" msgstr "תשובות" @@ -746,13 +734,11 @@ msgstr "תשובות" msgid "Your current avatar: " msgstr "נוכחית" -#: templates/avatar/add.html:16 -#: templates/avatar/change.html:8 +#: templates/avatar/add.html:16 templates/avatar/change.html:8 msgid "You haven't uploaded an avatar yet. Please upload one now." msgstr "טרם העלתם תמונת פרופיל. אנא העלו תמונה כעת." -#: templates/avatar/add.html:21 -#: templates/avatar/change.html:17 +#: templates/avatar/add.html:21 templates/avatar/change.html:17 msgid "Upload New Image" msgstr "העלה תמונה חדשה" @@ -786,7 +772,10 @@ msgstr "ההרשמה הסתיימה בהצלחה, תודה." #, python-format msgid "" "\n" -"Someone, hopefully you, signed up for a new account at %(name)s using this email address. If it was you, and you'd like to activate and use your account, click the link below or copy and paste it into your web browser's address bar:\n" +"Someone, hopefully you, signed up for a new account at %(name)s using this " +"email address. If it was you, and you'd like to activate and use your " +"account, click the link below or copy and paste it into your web browser's " +"address bar:\n" msgstr "" "\n" "תודה שנרשמת לאתר %(name)s! על מנת להשלים את ההרשמה לחץ/י על הקישור הבא:\n" @@ -795,7 +784,9 @@ msgstr "" #, python-format msgid "" "\n" -"If you didn't request this, you don't need to do anything; you won't receive any more email from us, and the account will expire automatically in %(expiration_days)s days.\n" +"If you didn't request this, you don't need to do anything; you won't receive " +"any more email from us, and the account will expire automatically in " +"%(expiration_days)s days.\n" "\n" "If you are a candidate, you are welcome to post your answers. Just\n" "send us an email at qa@hasadna.org.il and we will verify your account.\n" @@ -804,9 +795,11 @@ msgid "" "the team at %(name)s\n" msgstr "" "\n" -"במידה וההרשמה בוצעה בטעות, או לא על ידיך, אינך צריך/ה לעשות כלום -הרשמתך תתבטל אוטומטית תוך %(expiration_days)s ימים מיום קבלת המייל.\n" +"במידה וההרשמה בוצעה בטעות, או לא על ידיך, אינך צריך/ה לעשות כלום -הרשמתך " +"תתבטל אוטומטית תוך %(expiration_days)s ימים מיום קבלת המייל.\n" "\n" -"אם את/ה מועמד לבחירות המוקדמות אתה מוזמן לפרסם תשובות. רק שלח לנו דוא\"ל ל localshot@hasadna.org.il ונאשר את חשבונך.יום טוב,\n" +"אם את/ה מועמד לבחירות המוקדמות אתה מוזמן לפרסם תשובות. רק שלח לנו דוא\"ל ל " +"localshot@hasadna.org.il ונאשר את חשבונך.יום טוב,\n" "צוות %(name)s\n" #: templates/registration/activation_email_subject.txt:2 @@ -904,40 +897,42 @@ msgstr "הירשמו" msgid "Results" msgstr "תוצאות החיפוש" -#: templates/search/search.html:22 +#: templates/search/search.html:32 msgid "No results found." msgstr "לא נמצאו תוצאות." -#: templates/search/search.html:28 +#: templates/search/search.html:38 msgid "« Previous" msgstr "» הקודם" -#: templates/search/search.html:30 +#: templates/search/search.html:40 msgid "Next »" msgstr "הבא &lqauo;" -#: user/admin.py:11 -#: user/forms.py:14 +#: user/admin.py:11 user/forms.py:14 msgid "Username" msgstr "שם משתמש" #: user/admin.py:13 -msgid "Required. 30 characters or fewer. Alphanumeric characters only (letters, digits and underscores)." -msgstr "30 תווים או פחות. ניתן להשתמש באותיות עבריות ולועזיות, ספרות וקו תחתון בלבד." +msgid "" +"Required. 30 characters or fewer. Alphanumeric characters only (letters, " +"digits and underscores)." +msgstr "" +"30 תווים או פחות. ניתן להשתמש באותיות עבריות ולועזיות, ספרות וקו תחתון בלבד." #: user/admin.py:15 msgid "This value must contain only letters, numbers and underscores." msgstr "ניתן להשתמש באותיות, ספרות וקו תחתון בלבד." -#: user/admin.py:37 +#: user/admin.py:38 msgid "is candidate" msgstr "מועמד" -#: user/admin.py:44 +#: user/admin.py:45 msgid "Yes" msgstr "כן" -#: user/admin.py:45 +#: user/admin.py:46 msgid "No" msgstr "לא" @@ -953,9 +948,10 @@ msgstr "שם פרטי" msgid "last name" msgstr "שם משפחה" -#: user/forms.py:15 -#: user/forms.py:16 -msgid "Required. 4-30 characters (only letters, numbers spaces and @/./+/-/_ characters)." +#: user/forms.py:15 user/forms.py:16 +msgid "" +"Required. 4-30 characters (only letters, numbers spaces and @/./+/-/_ " +"characters)." msgstr "חובה. 30-4 תווים (אותיות, מספרים, רווחים, @/./+/-/_ בלבד).‏" #: user/forms.py:17 @@ -970,8 +966,7 @@ msgstr "לא נשלח דואר זבל, לא נשתף את הכתובת עם אף msgid "Gender" msgstr "מגדר" -#: user/forms.py:24 -#: user/models.py:49 +#: user/forms.py:24 user/models.py:51 msgid "Locality" msgstr "מקום מגורים" @@ -984,34 +979,36 @@ msgid "E-Mail Notifications" msgstr "התראות דוא\"ל" #: user/forms.py:30 -msgid "Should we send you e-mail notification about updates to things you follow on the site?" +msgid "" +"Should we send you e-mail notification about updates to things you follow on " +"the site?" msgstr "האם לשלוח התראות דוא\"ל לגבי שאלות ותגיות שאתה עוקב אחריהם?" -#: user/forms.py:57 +#: user/forms.py:56 msgid "This username is already taken." msgstr "שם המשתמש בשימוש" -#: user/forms.py:70 +#: user/forms.py:69 msgid "Please set your locality" msgstr "אנא הכניסו את מקום מגוריכם" -#: user/models.py:16 +#: user/models.py:18 msgid "No Email" msgstr "ללא דוא\"ל" -#: user/models.py:17 +#: user/models.py:19 msgid "Daily" msgstr "יומי" -#: user/models.py:18 +#: user/models.py:20 msgid "Weekly" msgstr "שבועי" -#: user/models.py:21 +#: user/models.py:23 msgid "Male" msgstr "זכר" -#: user/models.py:22 +#: user/models.py:24 msgid "Female" msgstr "נקבה" @@ -1019,6 +1016,10 @@ msgstr "נקבה" msgid "A question has been flagged" msgstr "הונף דגל אדום על שאלה בשו\"ת המקומי" +#: user/templates/user/_answers.html:29 +msgid "before" +msgstr "לפני" + #: user/templates/user/accept_invitation.html:6 msgid "Welcome to our site" msgstr "ברוכים הבאים לאתרנו" @@ -1061,34 +1062,33 @@ msgstr "עוקבים אחרי" msgid "none" msgstr "אף אחד" -#: user/templates/user/public_profile.html:27 +#: user/templates/user/public_profile.html:23 msgid "Female candidate" msgstr "מועמדת" -#: user/templates/user/public_profile.html:29 +#: user/templates/user/public_profile.html:25 msgid "Male candidate" msgstr "מועמד" -#: user/templates/user/public_profile.html:33 +#: user/templates/user/public_profile.html:29 msgid "in list" msgstr "ברשימת" -#: user/templates/user/public_profile.html:37 +#: user/templates/user/public_profile.html:33 msgid "for mayorship of" msgstr "לראשות" -#: user/templates/user/public_profile.html:39 +#: user/templates/user/public_profile.html:35 msgid "for the council of" msgstr "למועצת" -#: user/templates/user/public_profile.html:81 -msgid "before" -msgstr "לפני" - -#: user/templates/user/public_profile.html:92 +#: user/templates/user/public_profile.html:60 msgid "Questions by" msgstr "השאלות של" +#~ msgid "Registered candidates" +#~ msgstr "מועמדים רשומים" + #~ msgid "Answer rate" #~ msgstr "מענה" @@ -1381,9 +1381,6 @@ msgstr "השאלות של" #~ msgid "exchange" #~ msgstr "העמוד הבא" -#~ msgid "description" -#~ msgstr "תאור" - #~ msgid "hostname" #~ msgstr "שם שרת" @@ -2835,7 +2832,6 @@ msgstr "השאלות של" #~ " %(counter)s MK voted differently than the majority of his " #~ "party\n" #~ " " - #~ msgid_plural "" #~ "\n" #~ " %(counter)s MKs voted differently than the majority of " @@ -2853,7 +2849,6 @@ msgstr "השאלות של" #~ " %(counter)s member of the coalition voted differently " #~ "than the majority of the coalition\n" #~ " " - #~ msgid_plural "" #~ "\n" #~ " %(counter)s member of the coalition voted differently " @@ -2871,7 +2866,6 @@ msgstr "השאלות של" #~ " %(counter)s member of the opposition voted differently " #~ "than the majority of the opposition\n" #~ " " - #~ msgid_plural "" #~ "\n" #~ " %(counter)s member of the opposition voted differently " @@ -2888,7 +2882,6 @@ msgstr "השאלות של" #~ "\n" #~ " %(counter)s member voted against his/her own bill\n" #~ " " - #~ msgid_plural "" #~ "\n" #~ " %(counter)s members votes against their own bill\n" @@ -3644,13 +3637,11 @@ msgstr "השאלות של" #~ msgstr "דברים שנאמרו על ידיו/ה" #~ msgid "One meeting" - #~ msgid_plural "%(meetings)s meetings" #~ msgstr[0] "ישיבה אחת" #~ msgstr[1] "%(meetings)s ישיבות" #~ msgid " in one committee" - #~ msgid_plural " in %(committees)s committees" #~ msgstr[0] " בוועדה אחת" #~ msgstr[1] " ב- %(committees)s וועדות" @@ -3939,67 +3930,97 @@ msgstr "השאלות של" # msgstr "לא" #~ msgid "hidden" #~ msgstr "מוסתר" + #~ msgid "video already reviewed" #~ msgstr "הוידאו עבר ביקורת" + #~ msgid "this type of video cannot be hidden" #~ msgstr "לא ניתן להסתיר סוג וידאו זה" + #~ msgid "hide from the list?" #~ msgstr "הסתר מהרשימה?" + #~ msgid "video already reviewed, keep displaying on the website?" #~ msgstr "הוידאו עבר ביקורת, להמשיך להציג באתר?" + #~ msgid "approve for display on the website?" #~ msgstr "אשר להצגה באתר?" + #~ msgid "yes" #~ msgstr "כן" + #~ msgid "approve" #~ msgstr "לאשר" + #~ msgid "no" #~ msgstr "לא" + #~ msgid "don't approve" #~ msgstr "לא לאשר" + #~ msgid "video cannot be embeded" #~ msgstr "לא ניתן להטמיע וידאו" + #~ msgid "pending actions" #~ msgstr "פעולות שממתינות לביצוע" + #~ msgid "updating, please wait..." #~ msgstr "מעדכן, נא להמתין..." + #~ msgid "updated (num) videos" #~ msgstr "עודכנו (num) קטעי וידאו" + #~ msgid "error updating the videos" #~ msgstr "אירעה שגיאה בעדכון קטעי הוידאו" + #~ msgid "no actions to commit" #~ msgstr "אין פעולות לביצוע" + #~ msgid "You have pending actions, continuing will cancel them." #~ msgstr "יש פעולות שממתינות לביצוע, יציאה מהדף תבטל אותן." + #~ msgid "All Videos" #~ msgstr "כל סרטי הוידאו" + #~ msgid "You don't have the appropriate permissions to access this page" #~ msgstr "אין לך הרשאות מתאימות לצפייה בדף זה" + #~ msgid "(citizen) party member?" #~ msgstr "האם התפקדת למפלגה?" + #~ msgid "Are you a member of any party?" #~ msgstr "" #~ "אם התפקדת למפלגה, נשמח לדעת זאת. נתון זה לא מפורסם, אלא רק משמש לצורך " #~ "סטטיסטיקות." + #~ msgid "This email is already taken" #~ msgstr "כתובת דוא\"ל זו כבר תפוסה" + #~ msgid "Public profile" #~ msgstr "פרופיל פומבי" + #~ msgid "Your profile has been updated." #~ msgstr "פרופיל המשתמש עודכן" + #~ msgid "Question already exists." #~ msgstr "מצטערים, השאלה כבר קיימת" + #~ msgid "Edit your profile" #~ msgstr "ערוך את הפרופיל שלך" + #~ msgid "Questions for elections candidates " #~ msgstr "שאלות למועמדים בבחירות המקומיות" + #~ msgid "We need more editors! please contact us by" #~ msgstr "אנו זקוקים לעוד עורכים! אנא צרו קשר ב" + #~ msgid "Email" #~ msgstr "דוא\"ל" + #~ msgid "" #~ "if you have the passion and time to join our community of local editors." #~ msgstr "אם יש לכם את הזמן והאנרגיה להצטרף לקהילת העורכים המקומיים שלנו" + #, fuzzy #~ msgid "Flagged" #~ msgstr "לפי דגלים" @@ -4118,7 +4139,6 @@ msgstr "השאלות של" #~ msgstr "שגיאת בסיס נתונים" #~ msgid "%(count)s %(name)s was changed successfully." - #~ msgid_plural "%(count)s %(name)s were changed successfully." #~ msgstr[0] "שינוי %(count)s %(name)s בהצלחה." #~ msgstr[1] "שינוי %(count)s %(name)s בהצלחה." @@ -4615,7 +4635,6 @@ msgstr "השאלות של" #~ "\n" #~ " %(counter)s MK\n" #~ " " - #~ msgid_plural "" #~ "\n" #~ " %(counter)s MKs\n" @@ -4730,7 +4749,6 @@ msgstr "השאלות של" #~ "\n" #~ " This entry has been pinged.\n" #~ " " - #~ msgid_plural "" #~ "\n" #~ " This entry has been pinged %(counter)s times.\n" @@ -4855,7 +4873,6 @@ msgstr "השאלות של" #~ "\n" #~ " %(counter)s MK\n" #~ " " - #~ msgid_plural "" #~ "\n" #~ " %(counter)s MKs\n" @@ -5636,7 +5653,6 @@ msgstr "השאלות של" #~ msgstr "ניהול Django" #~ msgid "Please correct the error below." - #~ msgid_plural "Please correct the errors below." #~ msgstr[0] "נא לתקן את השגיאה המופיעה מתחת." #~ msgstr[1] "נא לתקן את השגיאות המופיעות מתחת." @@ -5722,7 +5738,6 @@ msgstr "השאלות של" #, fuzzy #~ msgid "1 result" - #~ msgid_plural "%(counter)s results" #~ msgstr[0] "תוצאות" #~ msgstr[1] "תוצאות" @@ -5994,7 +6009,6 @@ msgstr "השאלות של" #~ msgstr "מטא-נתונים" #~ msgid "Watch your mouth! The word %s is not allowed here." - #~ msgid_plural "Watch your mouth! The words %s are not allowed here." #~ msgstr[0] "שמור על לשונך! המילה %s אסורה לשימוש כאן." #~ msgstr[1] "שמור על לשונך! המילים %s אסורות לשימוש כאן." @@ -6089,7 +6103,6 @@ msgstr "השאלות של" #~ msgstr "תצוגה מקדימה של התגובה" #~ msgid "Please correct the error below" - #~ msgid_plural "Please correct the errors below" #~ msgstr[0] "בבקשה לתקן את השגיאה למטה" #~ msgstr[1] "אנא תקן את שגיאות למטה" @@ -6159,19 +6172,16 @@ msgstr "השאלות של" #~ msgstr "שלישי" #~ msgid "%(value).1f million" - #~ msgid_plural "%(value).1f million" #~ msgstr[0] "%(value).1f מיליון" #~ msgstr[1] "%(value).1f מיליונים" #~ msgid "%(value).1f billion" - #~ msgid_plural "%(value).1f billion" #~ msgstr[0] "%(value).1f מיליארד" #~ msgstr[1] "%(value).1f מיליארדים" #~ msgid "%(value).1f trillion" - #~ msgid_plural "%(value).1f trillion" #~ msgstr[0] "%(value).1f טריליון" #~ msgstr[1] "%(value).1f טריליונים" @@ -7664,7 +7674,6 @@ msgstr "השאלות של" #~ "יש להחזיק את \"Control\", או \"Command\" על מק, לחוץ כדי לבחור יותר מאחד." #~ msgid "Please enter valid %(self)s IDs. The value %(value)r is invalid." - #~ msgid_plural "" #~ "Please enter valid %(self)s IDs. The values %(value)r are invalid." #~ msgstr[0] "נא להזין מזהה %(self)s חוקי. הערך %(value)r אינו חוקי." @@ -7787,7 +7796,6 @@ msgstr "השאלות של" #~ msgstr "כן,לא,אולי" #~ msgid "%(size)d byte" - #~ msgid_plural "%(size)d bytes" #~ msgstr[0] "%(size)d בית" #~ msgstr[1] "%(size)d בתים" diff --git a/qa/views.py b/qa/views.py index f562fee..d2ae8b7 100644 --- a/qa/views.py +++ b/qa/views.py @@ -56,7 +56,7 @@ def local_home(request, entity_slug=None, entity_id=None, tags=None, if ret: return ret context = RequestContext(request) - entity = context['entity'] + entity = context.get('entity', None) if not entity or entity.division.index != 3: raise Http404(_("Bad Entity")) @@ -73,7 +73,10 @@ def local_home(request, entity_slug=None, entity_id=None, tags=None, order = 'flags_count' else: order_opt = request.GET.get('order', 'rating') - order = ORDER_OPTIONS[order_opt] + try: + order = ORDER_OPTIONS[order_opt] + except KeyError: + raise Http404(_("Bad ordering option")) questions = questions.order_by(order) if tags: From a65e8a7c185b242880b123eb60e9c955d45eeb5f Mon Sep 17 00:00:00 2001 From: tbrisker Date: Fri, 25 Oct 2013 16:59:22 +0300 Subject: [PATCH 11/19] fix another annoying error --- qa/templates/qa/_answer.html | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/qa/templates/qa/_answer.html b/qa/templates/qa/_answer.html index 7e1bfb0..8939249 100644 --- a/qa/templates/qa/_answer.html +++ b/qa/templates/qa/_answer.html @@ -22,11 +22,12 @@ {{answer.author.get_full_name}}
+ {% if list %} {{list}}   - + {% endif %}
{% if my_answer_id == answer.id %} ✎ {% trans 'Edit' %} From b49082c6867f7559cf8767b24cd14bb3c03bd058 Mon Sep 17 00:00:00 2001 From: tbrisker Date: Fri, 25 Oct 2013 22:57:28 +0300 Subject: [PATCH 12/19] even better error handling --- qa/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qa/views.py b/qa/views.py index d2ae8b7..5485498 100644 --- a/qa/views.py +++ b/qa/views.py @@ -76,7 +76,7 @@ def local_home(request, entity_slug=None, entity_id=None, tags=None, try: order = ORDER_OPTIONS[order_opt] except KeyError: - raise Http404(_("Bad ordering option")) + order = ORDER_OPTIONS['rating'] questions = questions.order_by(order) if tags: From d02bb5421d986d845f76cc1b14891a61d0fef6d5 Mon Sep 17 00:00:00 2001 From: Daniel Hershcovich Date: Mon, 9 Sep 2013 20:11:50 +0300 Subject: [PATCH 13/19] Fix Javascript errors in taggit-autosuggest Fix CSS and JS file path, define django.jQuery required for autosuggest. --- qa/templates/qa/post_question.html | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/qa/templates/qa/post_question.html b/qa/templates/qa/post_question.html index fb92efa..b4257ad 100644 --- a/qa/templates/qa/post_question.html +++ b/qa/templates/qa/post_question.html @@ -5,7 +5,7 @@ {% block pageTitle %}{% trans "Post question" %}{% endblock %} {% block extrahead %} - + {% endblock %} {% block content %} @@ -28,7 +28,13 @@

{% trans "Edit your question" %}

- + + {% csrf_token %} {{ form|crispy }}
{% trans 'characters left' %}
From d16010fb011842798911503ca55d19fcf9ecd3e7 Mon Sep 17 00:00:00 2001 From: Daniel Hershcovich Date: Fri, 20 Sep 2013 23:15:30 +0300 Subject: [PATCH 14/19] Use my clone of django-taggit-autosuggest for the updated js --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 22d58d5..a27efcd 100644 --- a/requirements.txt +++ b/requirements.txt @@ -9,7 +9,7 @@ django-nose==1.2 git+https://github.com/omab/django-social-auth.git@1a72e33dd6dade630b2fd8fb9caea765985ae015#egg=django-social-auth django-storages==1.1.5 -e git+https://github.com/hasadna/django-taggit.git#egg=django-taggit -django-taggit-autosuggest==0.2 +-e hg+https://danielh@bitbucket.org/danielh/django-taggit-autosuggest#egg=django-taggit-autosuggest dj-database-url==0.2.1 gunicorn==0.15.0 ipython==0.13.1 From 4826426119c7b9704a967ff7a15f03646ec58e26 Mon Sep 17 00:00:00 2001 From: Michal Tenenbrg Date: Mon, 21 Oct 2013 18:55:37 +0300 Subject: [PATCH 15/19] Try to apply character limit on answer with "clean". Does not work --- qa/forms.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/qa/forms.py b/qa/forms.py index cbdf599..d0f8109 100644 --- a/qa/forms.py +++ b/qa/forms.py @@ -10,6 +10,11 @@ class Meta: model = Answer fields = ("content",) + def clean_content(self): + content = self.cleaned_data['content'] + if len(content) > 1000: + raise ValidationError(_("Answers are limited to 1000 characters")) + return content class QuestionForm(forms.ModelForm): From 6d4eb6bc09ed3ab1fca713911c17e3fff09c3392 Mon Sep 17 00:00:00 2001 From: Michal Tenenbrg Date: Mon, 28 Oct 2013 20:22:33 +0200 Subject: [PATCH 16/19] fix #422 - order candidates in list page They weren't ordered because they were Users and not Candidates, and the ordering was in the Candidate class. Now ordering is done in view. --- polyorg/models.py | 2 +- polyorg/templates/polyorg/candidate_list.html | 2 +- polyorg/views.py | 2 ++ 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/polyorg/models.py b/polyorg/models.py index 92f36c0..0a18463 100644 --- a/polyorg/models.py +++ b/polyorg/models.py @@ -88,7 +88,7 @@ class Candidate(models.Model): objects = CandidateManager() class Meta: - ordering = ('-ordinal',) + ordering = ('ordinal',) def __unicode__(self): return u'%s - %s - %s' % (self.user.profile.get_full_name(), self.candidate_list.name, self.candidate_list.entity) diff --git a/polyorg/templates/polyorg/candidate_list.html b/polyorg/templates/polyorg/candidate_list.html index d4a09f8..7bc9a4d 100644 --- a/polyorg/templates/polyorg/candidate_list.html +++ b/polyorg/templates/polyorg/candidate_list.html @@ -24,7 +24,7 @@

{{candidatelist}} - {% endif %}

- {% for candidate in candidatelist.candidates.all %} + {% for candidate in candidates %}
{% avatar candidate 75 %} diff --git a/polyorg/views.py b/polyorg/views.py index 8c140e3..f348405 100644 --- a/polyorg/views.py +++ b/polyorg/views.py @@ -66,9 +66,11 @@ def candidatelist_edit(request, candidatelist_id=None, entity_id=None): def candidates_list(request,candidatelist_id): candidatelist = get_object_or_404(CandidateList, id=candidatelist_id) can_edit = candidatelist.can_edit(request.user) + candidates = candidatelist.candidates.order_by('candidate__ordinal') context = RequestContext(request, {'candidatelist': candidatelist, 'can_edit': can_edit, + 'candidates' : candidates, }) return render(request, 'polyorg/candidate_list.html', context) From 98874eaa45c075ddaa496e53508a2a146a3ec055 Mon Sep 17 00:00:00 2001 From: Daniel Hershcovich Date: Mon, 4 Nov 2013 20:50:37 +0200 Subject: [PATCH 17/19] Fix jquery.js inclusion to be in the header instead of footer Otherwise calls to jQuery inside the HTML cannot work because jQuery is not included yet. --- qa/templates/qa/post_question.html | 10 ++-------- templates/base.html | 4 +++- 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/qa/templates/qa/post_question.html b/qa/templates/qa/post_question.html index b4257ad..80f9f6b 100644 --- a/qa/templates/qa/post_question.html +++ b/qa/templates/qa/post_question.html @@ -27,14 +27,6 @@

{% trans "Edit your question" %}

- - - {% csrf_token %} {{ form|crispy }}
{% trans 'characters left' %}
@@ -56,6 +48,7 @@

{% trans "Edit your question" %}

{% endblock %} {% block extrascript %} +{{ block.super }} {% if max_length_q_subject %} {% endif %} + {% endblock %} diff --git a/templates/base.html b/templates/base.html index f70a8d2..bfe228f 100644 --- a/templates/base.html +++ b/templates/base.html @@ -21,6 +21,9 @@ + + + {% block extrahead %}{% endblock %} {% if ANALYTICS_ID %} @@ -156,7 +159,6 @@
-