Skip to content
This repository was archived by the owner on Oct 1, 2019. It is now read-only.
Binary file modified locale/fr/LC_MESSAGES/django.mo
Binary file not shown.
495 changes: 274 additions & 221 deletions locale/fr/LC_MESSAGES/django.po

Large diffs are not rendered by default.

Binary file modified locale/ja/LC_MESSAGES/django.mo
Binary file not shown.
170 changes: 87 additions & 83 deletions locale/ja/LC_MESSAGES/django.po
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ msgid ""
msgstr ""
"Project-Id-Version: pyconjp-website\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-05-18 22:24+0900\n"
"POT-Creation-Date: 2017-08-16 16:37+0900\n"
"PO-Revision-Date: 2016-07-02 16:13+0000\n"
"Last-Translator: Ian Lewis <[email protected]>\n"
"Language-Team: Japanese (http://www.transifex.com/projects/p/pyconjp-website/"
Expand Down Expand Up @@ -1500,9 +1500,9 @@ msgid ""
"the social media share buttons below. We will consider the popularity of the "
"proposals when making our selection."
msgstr ""
"これは応募されたプロポーザルです。聞きたいと思うプロポーザルを各ページの下部にあるSNSのボタ"
"ンで拡散しましょう。拡散された投稿をプロポーザルへの投票としてカウントし、選考時に参考にさせ"
"ていただきます。"
"これは応募されたプロポーザルです。聞きたいと思うプロポーザルを各ページの下部"
"にあるSNSのボタンで拡散しましょう。拡散された投稿をプロポーザルへの投票として"
"カウントし、選考時に参考にさせていただきます。"

#: pycon/templates/proposals/vote_detail.html:38
msgid "This talk proposal has been cancelled."
Expand Down Expand Up @@ -1553,9 +1553,10 @@ msgid ""
"share buttons on the talks detail page. We will take the amount of interest "
"shown for proposals into consideration when selecting the talks."
msgstr ""
"現在応募されているプロポーザルの一覧です。プルダウンより「talk」「poster」を選択ください。"
"聞いてみたいプロポーザルがあれば、是非SNS等で拡散しましょう。拡散された投稿をプロポーザルへ"
"の投票としてカウントし、選考時に参考にさせていただきます。"
"現在応募されているプロポーザルの一覧です。プルダウンより「talk」「poster」を"
"選択ください。聞いてみたいプロポーザルがあれば、是非SNS等で拡散しましょう。拡"
"散された投稿をプロポーザルへの投票としてカウントし、選考時に参考にさせていた"
"だきます。"

#: pycon/templates/schedule/_slot_edit.html:5
#: symposion/templates/schedule/_slot_edit.html:5
Expand Down Expand Up @@ -1912,14 +1913,42 @@ msgstr ""
msgid "Message sent"
msgstr ""

#: pyconjp/forms.py:11 pyconjp/templates/proposals/_proposal_fields.html:115
msgid "video"
msgstr "動画"

#: pyconjp/forms.py:14
msgid "url field for video"
msgstr "動画のURLを入力してください"

#: pyconjp/forms.py:17 pyconjp/templates/proposals/_proposal_fields.html:118
msgid "slide"
msgstr "スライド"

#: pyconjp/forms.py:20
msgid "url field for slide"
msgstr "スライドのURLを入力してください"

#: pyconjp/forms.py:23 pyconjp/templates/proposals/_proposal_fields.html:121
msgid "code"
msgstr "ソースコード"

#: pyconjp/forms.py:26
msgid "url field for code"
msgstr "ソースコードのURLを入力してください"

#: pyconjp/models.py:11
msgid "Video"
msgstr "ビデオ"
msgstr "動画"

#: pyconjp/models.py:12
msgid "Slide"
msgstr "スライド"

#: pyconjp/models.py:13
msgid "Code"
msgstr "ソースコード"

#: pyconjp/templates/proposals/_proposal_fields.html:4
#: symposion/templates/proposals/_proposal_fields.html:4
msgid "Submitted by"
Expand Down Expand Up @@ -2668,102 +2697,77 @@ msgstr "開催地"
msgid "demote"
msgstr ""

#: pycon/forms.py:16
msgid "Business"
msgstr "ビジネス"
#~ msgid "Business"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

このあたり実は使われたりするんで、触った以外のところはそのままでお願いします 🙏
あとfrファイルはずっと放置されてるんで今回も無視してjaファイルだけの変更がよさげ

#~ msgstr "ビジネス"

#: pycon/forms.py:16
msgid "Community"
msgstr "コミュニティ"
#~ msgid "Community"
#~ msgstr "コミュニティ"

#: pycon/forms.py:16
msgid "Distributed Computing"
msgstr "分散コンピューティング"
#~ msgid "Distributed Computing"
#~ msgstr "分散コンピューティング"

#: pycon/forms.py:16
msgid "Systems Administration"
msgstr "システムアドミニストレーション"
#~ msgid "Systems Administration"
#~ msgstr "システムアドミニストレーション"

#: pycon/forms.py:16
msgid "Packaging"
msgstr "パッケージング"
#~ msgid "Packaging"
#~ msgstr "パッケージング"

#: pycon/forms.py:16
msgid "Testing"
msgstr "テスト"
#~ msgid "Testing"
#~ msgstr "テスト"

#: pycon/forms.py:16
msgid "Databases/NoSQL"
msgstr "データベース/NoSQL"
#~ msgid "Databases/NoSQL"
#~ msgstr "データベース/NoSQL"

#: pycon/forms.py:16
msgid "Best Practices/Patterns"
msgstr "ベストプラクティス/パターン"
#~ msgid "Best Practices/Patterns"
#~ msgstr "ベストプラクティス/パターン"

#: pycon/forms.py:16
msgid "High Performance Computing"
msgstr "ハイパフォーマンス・コンピューティング"
#~ msgid "High Performance Computing"
#~ msgstr "ハイパフォーマンス・コンピューティング"

#: pycon/forms.py:16
msgid "Education"
msgstr "教育"
#~ msgid "Education"
#~ msgstr "教育"

#: pycon/forms.py:16
msgid "Science"
msgstr "科学"
#~ msgid "Science"
#~ msgstr "科学"

#: pycon/forms.py:16
msgid "Industry Uses"
msgstr "業務利用事例"
#~ msgid "Industry Uses"
#~ msgstr "業務利用事例"

#: pycon/forms.py:16
msgid "Web Frameworks"
msgstr "Webフレームワーク"
#~ msgid "Web Frameworks"
#~ msgstr "Webフレームワーク"

#: pycon/forms.py:16
msgid "Documentation"
msgstr "ドキュメンテーション"
#~ msgid "Documentation"
#~ msgstr "ドキュメンテーション"

#: pycon/forms.py:16
msgid "Concurrency"
msgstr "並列処理"
#~ msgid "Concurrency"
#~ msgstr "並列処理"

#: pycon/forms.py:16
msgid "Python Internals"
msgstr "Pythonインターナル"
#~ msgid "Python Internals"
#~ msgstr "Pythonインターナル"

#: pycon/forms.py:16
msgid "Embedded Systems"
msgstr "組み込みシステム"
#~ msgid "Embedded Systems"
#~ msgstr "組み込みシステム"

#: pycon/forms.py:16
msgid "Other"
msgstr "その他"
#~ msgid "Other"
#~ msgstr "その他"

#: pycon/forms.py:16
msgid "GUI Programming"
msgstr "GUIプログラミング"
#~ msgid "GUI Programming"
#~ msgstr "GUIプログラミング"

#: pycon/forms.py:16
msgid "Useful libraries"
msgstr "ライブラリ"
#~ msgid "Useful libraries"
#~ msgstr "ライブラリ"

#: pycon/forms.py:16
msgid "Gaming"
msgstr "ゲーム"
#~ msgid "Gaming"
#~ msgstr "ゲーム"

#: pycon/forms.py:16
msgid "Mobile"
msgstr "モバイル"
#~ msgid "Mobile"
#~ msgstr "モバイル"

#: pycon/forms.py:16
msgid "Big Data"
msgstr "ビッグデータ"
#~ msgid "Big Data"
#~ msgstr "ビッグデータ"

#: pycon/forms.py:16
msgid "Cloud"
msgstr "クラウド"
#~ msgid "Cloud"
#~ msgstr "クラウド"

#: pycon/forms.py:16
msgid "Core Python (Language, Stdlib)"
msgstr "コアPython(言語, 標準ライブラリ)"
#~ msgid "Core Python (Language, Stdlib)"
#~ msgstr "コアPython(言語, 標準ライブラリ)"
42 changes: 41 additions & 1 deletion pycon/proposals/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@
from symposion.proposals.forms import AddSpeakerForm, SupportingDocumentCreateForm

from pycon.models import PyConProposal
from pyconjp.models import PresentationResource


def get_form(name):
dot = name.rindex('.')
Expand Down Expand Up @@ -74,6 +76,13 @@ def proposal_submit_kind(request, kind_slug):
proposal.speaker = speaker_profile
proposal.save()
form.save_m2m()
for resource_type in ['video', 'slide', 'code']:
if form.cleaned_data[resource_type]:
resource = PresentationResource()
resource.proposal_base_id = proposal.proposalbase_ptr_id
resource.type = resource_type
resource.url = form.cleaned_data[resource_type]
resource.save()
messages.success(request, "Proposal submitted.")
if "add-speakers" in request.POST:
return redirect("proposal_speaker_manage", proposal.pk)
Expand Down Expand Up @@ -177,6 +186,12 @@ def proposal_edit(request, pk):
queryset = ProposalBase.objects.select_related("speaker")
proposal = get_object_or_404(queryset, pk=pk)
proposal = ProposalBase.objects.get_subclass(pk=proposal.pk)
for resource_type in ['video', 'slide', 'code']:
resource_query = PresentationResource.objects.filter(proposal_base_id=proposal.id, type=resource_type)
url = ''
if resource_query.__len__():
url = resource_query[0].url
setattr(proposal, resource_type, url)

if request.user != proposal.speaker.user:
raise Http404()
Expand Down Expand Up @@ -209,10 +224,29 @@ def proposal_edit(request, pk):
[user.email], "proposal_updated",
context=ctx
)
for resource_type in ['video', 'slide', 'code']:
if form.cleaned_data[resource_type]:
resource = PresentationResource.objects.get(
proposal_base_id=proposal.proposalbase_ptr_id,
type=resource_type
)
if not resource:
resource = PresentationResource()
resource.proposal_base_id = proposal.proposalbase_ptr_id
resource.type = resource_type
resource.url = form.cleaned_data[resource_type]
resource.save()
else:
resource = PresentationResource.objects.get(
proposal_base_id=proposal.proposalbase_ptr_id,
type=resource_type
)
if resource:
resource.delete()
messages.success(request, "Proposal updated.")
return redirect("proposal_detail", proposal.pk)
else:
form = form_class(instance=proposal)
form = form_class(instance=proposal, initial={'code': proposal.code, 'video': proposal.video, 'slide': proposal.slide})

return render(request, "proposals/proposal_edit.html", {
"proposal": proposal,
Expand All @@ -225,6 +259,11 @@ def proposal_detail(request, pk):
queryset = ProposalBase.objects.select_related("speaker", "speaker__user")
proposal = get_object_or_404(queryset, pk=pk)
proposal = ProposalBase.objects.get_subclass(pk=proposal.pk)
resource = {}
for resource_type in ['video', 'slide', 'code']:
resource_query = PresentationResource.objects.filter(proposal_base_id=proposal.id, type=resource_type)
if resource_query.__len__():
resource[resource_type] = resource_query[0].url

if request.user not in [p.user for p in proposal.speakers()]:
raise Http404()
Expand Down Expand Up @@ -269,6 +308,7 @@ def proposal_detail(request, pk):

return render(request, "proposals/proposal_detail.html", {
"proposal": proposal,
"resource": resource,
"message_form": message_form
})

Expand Down
22 changes: 22 additions & 0 deletions pyconjp/forms.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,30 @@
from django import forms
from django.utils.translation import gettext as _

from markedit.widgets import MarkEdit
from pycon.models import PyConTalkProposal
from pycon.forms import PyConProposalForm


class PyConJPTalkProposalForm(PyConProposalForm):
video = forms.URLField(
label=_('video'),
required=False,
widget=forms.TextInput(attrs={'class': 'fullwidth-input'}),
help_text=_('url field for video'),
)
slide = forms.URLField(
label=_('slide'),
required=False,
widget=forms.TextInput(attrs={'class': 'fullwidth-input'}),
help_text=_('url field for slide'),
)
code = forms.URLField(
label=_('code'),
required=False,
widget=forms.TextInput(attrs={'class': 'fullwidth-input'}),
help_text=_('url field for code'),
)

class Meta:
model = PyConTalkProposal
Expand All @@ -23,6 +42,9 @@ class Meta:
"additional_notes",
"additional_requirements",
"recording_release",
"video",
"slide",
"code",
]
widgets = {
"title": forms.TextInput(attrs={'class': 'fullwidth-input'}),
Expand Down
Loading