diff --git a/memopol/views.py b/memopol/views.py index 1de22214262194498b3c82bd682c40f77ddbe9d3..952ec17b106e44758cbaf5385e0b57447344a424 100644 --- a/memopol/views.py +++ b/memopol/views.py @@ -28,7 +28,8 @@ class RepresentativeDetail(representatives_views.RepresentativeDetail): def get_context_data(self, **kwargs): c = super(RepresentativeDetail, self).get_context_data(**kwargs) - c['position_form'] = PositionForm() + c['position_form'] = PositionForm( + initial={'representative': self.object.pk}) self.add_representative_country_and_main_mandate(c['object']) return c diff --git a/representatives_positions/forms.py b/representatives_positions/forms.py index 2e4bf9feeb0df399717e4c29af36559df4b93859..89256d55260b8723eda18fa48634d2ead9eb5731 100644 --- a/representatives_positions/forms.py +++ b/representatives_positions/forms.py @@ -8,7 +8,7 @@ from .models import Position class PositionForm(forms.ModelForm): class Meta: model = Position - fields = ['tags', 'datetime', 'text', 'link'] + fields = ['tags', 'datetime', 'text', 'link', 'representative'] widgets = { # Use localization and bootstrap 3 'datetime': DateWidget( @@ -17,5 +17,6 @@ class PositionForm(forms.ModelForm): }, usel10n=True, bootstrap_version=3, - ) + ), + 'representative': forms.HiddenInput } diff --git a/representatives_positions/templates/representatives_positions/_form.haml b/representatives_positions/templates/representatives_positions/_form.haml new file mode 100644 index 0000000000000000000000000000000000000000..2c11c8e36a3ba310c7312a8069783eea9734cd0a --- /dev/null +++ b/representatives_positions/templates/representatives_positions/_form.haml @@ -0,0 +1,12 @@ +- load bootstrap3 + +%form{:action => '{% url "representatives_positions:position-create" %}', + :method => 'post'} + - csrf_token + + - bootstrap_form form + + - buttons + %button{'type': 'submit', 'class': 'btn btn-primary'} + {% bootstrap_icon "star" %} Submit + - endbuttons diff --git a/representatives_positions/templates/representatives_positions/position_form.haml b/representatives_positions/templates/representatives_positions/position_form.haml new file mode 100644 index 0000000000000000000000000000000000000000..deb4b78dc90c3ae196e94b5cef01bf1d9e35adae --- /dev/null +++ b/representatives_positions/templates/representatives_positions/position_form.haml @@ -0,0 +1,7 @@ +- extends 'base.html' + +- block head + {{ form.media }} + +- block content + - include 'representatives_positions/_form.html' diff --git a/representatives_positions/views.py b/representatives_positions/views.py index 69d7447786079fa767b537426e7182467c76804b..3b24ef11c15ee4198e366987c8fe8fd2b43a68f8 100644 --- a/representatives_positions/views.py +++ b/representatives_positions/views.py @@ -10,7 +10,7 @@ from .forms import PositionForm class PositionCreate(generic.CreateView): model = Position - fields = PositionForm.Meta.fields + ['representative'] + form_class = PositionForm def get_success_url(self): return self.object.representative.get_absolute_url() diff --git a/templates/representatives/representative_detail.haml b/templates/representatives/representative_detail.haml index 6c98c1870f457523f62d66cecd4d7dd4d0cb8103..96f7c0e4bebd347c7bd1472f7788918fbcef1b0c 100644 --- a/templates/representatives/representative_detail.haml +++ b/templates/representatives/representative_detail.haml @@ -1,12 +1,9 @@ --# List representatives - - extends 'base.html' - load humanize - load representatives_tags - load representatives_votes_tags - load representatives_recommendations_tags -- load bootstrap3 - block head {{ position_form.media }} @@ -15,6 +12,7 @@ .row .col-md-6 - include 'representatives/_representative_block.html' with representative=representative + .col-md-6 %h2#votes Votes @@ -72,16 +70,4 @@ %a{:href => '{{position.link}}'} = position.link - %form{:action => '{% url "representatives_positions:position-create" %}', - :method => 'post'} - - csrf_token - %input{:type => 'hidden', - :name => 'representative', - :value => '{{ representative.pk }}'} - - - bootstrap_form position_form - - - buttons - %button{'type': 'submit', 'class': 'btn btn-primary'} - {% bootstrap_icon "star" %} Submit - - endbuttons + - include 'representatives_positions/_form.html' with form=position_form