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 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") diff --git a/locale/he/LC_MESSAGES/django.mo b/locale/he/LC_MESSAGES/django.mo index ded4982..c9c680a 100644 Binary files a/locale/he/LC_MESSAGES/django.mo and b/locale/he/LC_MESSAGES/django.mo differ diff --git a/locale/he/LC_MESSAGES/django.po b/locale/he/LC_MESSAGES/django.po index 556541a..4b747cb 100644 --- a/locale/he/LC_MESSAGES/django.po +++ b/locale/he/LC_MESSAGES/django.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: open-shot\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2013-10-17 22:42+0300\n" +"POT-Creation-Date: 2013-10-24 08:55+0300\n" "PO-Revision-Date: 2013-10-17 22:43+0200\n" "Last-Translator: Benny Daon \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/oshot/__init__.py b/oshot/__init__.py index 48d7fde..29a3704 100644 --- a/oshot/__init__.py +++ b/oshot/__init__.py @@ -1 +1 @@ -VERSION = (1, 0, 2, 'time for homus', 0) +VERSION = (1, 0, 3, 'tidbits', 0) 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/oshot/settings/base.py b/oshot/settings/base.py index 190dc04..eae7d51 100644 --- a/oshot/settings/base.py +++ b/oshot/settings/base.py @@ -130,6 +130,7 @@ 'avatar', 'actstream', 'debug_toolbar', + 'djsupervisor', # local apps 'qa', 'user', @@ -228,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/default-avatar.jpg" +AVATAR_DEFAULT_URL = "http://ok-qa-media.s3.amazonaws.com/img/question_comix.png" QNA_DEFAULT_ENTITY_ID = 277 diff --git a/oshot/settings/nsa.py b/oshot/settings/nsa.py index 25f96b7..acd5d64 100644 --- a/oshot/settings/nsa.py +++ b/oshot/settings/nsa.py @@ -28,7 +28,7 @@ ANALYTICS_ID = os.environ.get('ANALYTICS_ID') -ADMINS += [('Count Z','countz@gmail.com'), ('tbrisker', 'tbrisker@gmail.com') ] +ADMINS += [('tbrisker', 'tbrisker@gmail.com') ] BROKER_URL = 'amqp://guest:guest@localhost:5672/' CACHES = { 'default': { 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/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) 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): 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' %} diff --git a/qa/templates/qa/post_question.html b/qa/templates/qa/post_question.html index fb92efa..80f9f6b 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 %} @@ -27,8 +27,6 @@

{% trans "Edit your question" %}

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

{% trans "Edit your question" %}

{% endblock %} {% block extrascript %} +{{ block.super }} {% if max_length_q_subject %} {% endif %} + {% endblock %} diff --git a/qa/views.py b/qa/views.py index f562fee..5485498 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: + order = ORDER_OPTIONS['rating'] questions = questions.order_by(order) if tags: diff --git a/requirements.txt b/requirements.txt index b5387f5..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 @@ -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 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 @@
- + +
-
+
+ {# move the entity_from here somehow for simpler interface #} +

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

@@ -93,20 +95,17 @@

{{ 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 %} + {{ entity_form }} + {% include "_search.html" %} + {% endwith %} + {% endcache %}
+ - +
{% endblock %}