Skip to content

Commit

Permalink
Merge pull request #206 from liqd/2017-04-pv-refactor-idea-details
Browse files Browse the repository at this point in the history
refactor item detail templates
  • Loading branch information
xi committed Apr 18, 2017
2 parents 2f9ffb4 + f7c6126 commit 254fe9d
Show file tree
Hide file tree
Showing 32 changed files with 272 additions and 315 deletions.
3 changes: 2 additions & 1 deletion apps/budgeting/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,4 +21,5 @@ class Proposal(idea_models.AbstractIdea):
)

def get_absolute_url(self):
return reverse('budgeting:proposal-detail', args=[str(self.slug)])
return reverse('meinberlin_budgeting:proposal-detail',
args=[str(self.slug)])
4 changes: 2 additions & 2 deletions apps/budgeting/rules.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@


rules.add_perm(
'meinberlin_budgeting.propose_proposal',
'meinberlin_budgeting.create_proposal',
module_predicates.is_allowed_create_item(models.Proposal)
)

Expand All @@ -29,7 +29,7 @@


rules.add_perm(
'meinberlin_budgeting.modify_proposal',
'meinberlin_budgeting.change_proposal',
module_predicates.is_allowed_modify_item
)

Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
{% load item_tags %}

<div class="list-item list-item--squashed">
<div class="list-item__stats">
{% spaceless %}
Expand All @@ -18,7 +20,8 @@
{% endspaceless %}
</div>
<h3 class="list-item__title">
<a href="{% url 'budgeting:proposal-detail' proposal.slug %}">
{% get_item_detail_url proposal as detail_url %}
<a href="{{ detail_url }}">
{{ proposal.name }}
</a>
</h3>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{% extends "base.html" %}
{% load i18n %}
{% load i18n item_tags %}

{% block title %}{% trans 'Confirm Proposal Deletion' %}{% endblock %}
{% block content %}
Expand All @@ -11,6 +11,7 @@ <h1>{% trans 'Are you sure you want to delete the proposal?' %} </h1>
{% csrf_token %}
<input type="submit" class="button button--primary" value="{% trans 'Yes'%}" />
</form>
<a href="{% url 'budgeting:proposal-detail' proposal.slug %}" class="button button--light">{% trans 'Cancel'%}</a>
{% get_item_detail_url object as detail_url %}
<a href="{{ detail_url }}" class="button button--light">{% trans 'Cancel'%}</a>
</div>
{% endblock %}
101 changes: 17 additions & 84 deletions apps/budgeting/templates/meinberlin_budgeting/proposal_detail.html
Original file line number Diff line number Diff line change
@@ -1,90 +1,23 @@
{% extends "base.html" %}
{% load i18n rules react_comments react_ratings %}
{% extends "meinberlin_contrib/item_detail.html" %}
{% load rules item_tags i18n %}

{% block title %}{{proposal.name}}{% endblock %}
{% block content %}
<div class="resource-navigation">
<div class="l-wrapper">
<nav class="resource-navigation__breadcrumbs breadcrumbs">
<ul>
<li>
<a href="{% url 'project-detail' proposal.project.slug %}">
<i class="fa fa-arrow-left" aria-hidden="true"></i>
{% trans 'back to project' %}</a>
</li>
</ul>
</nav>

{% has_perm 'meinberlin_budgeting.modify_proposal' request.user proposal as show_dropdown %}
{% if show_dropdown %}
<div class="resource-navigation__actions dropdown dropdown--right">
<button
title="{% trans 'Actions' %}"
type="button"
class="dropdown-toggle"
data-toggle="dropdown"
aria-haspopup="true"
aria-expanded="false"
id="proposal-{{proposal.pk}}-actions"
>
<i class="fa fa-ellipsis-v" aria-hidden="true"></i>
</button>
<ul class="dropdown-menu" aria-labelledby="proposal-{{proposal.pk}}-actions">
{% has_perm 'meinberlin_budgeting.moderate_proposal' request.user proposal as is_moderator %}
{% if is_moderator %}
<li>
<a class="dropdown-item" href="{% url 'budgeting:proposal-moderate' slug=proposal.slug %}">{% trans 'Moderate' %}</a>
</li>
{% endif %}
<li>
<a class="dropdown-item" href="{% url 'budgeting:proposal-update' slug=proposal.slug %}">{% trans 'Edit' %}</a>
</li>
<li>
<a class="dropdown-item" href="{% url 'budgeting:proposal-delete' slug=proposal.slug %}">{% trans 'Delete' %}</a>
</li>
</ul>
</div>
{% endif %}
{% block additional_meta %}
<div class="resource-header__meta">
<div>{{ proposal.budget }}€</div>
</div>
</div>

<div class="resource-header">
<div class="l-wrapper">
<div class="l-center-6">
<h1 class="resource-header__title">{{ proposal.name }}</h1>

<div class="resource-header__meta">
<div>{{ proposal.budget}}€</div>
</div>

<div class="resource-header__meta">{{ proposal.creator.username }}</div>

<div class="resource-header__meta">
{% include 'meinberlin_moderatorfeedback/includes/moderatorfeedback.html' with item=proposal %}
</div>

{% if proposal.category %}
<div class="resource-header__meta">
<div class="label label--big">{{ proposal.category }}</div>
</div>
{% endif %}

<div class="resource-header__action">
{% react_ratings proposal %}
</div>
</div>
</div>
</div>

<div class="proposal-description">
<div class="l-wrapper">
<div class="l-center-6">
{{ proposal.description | safe }}
</div>
<div class="resource-header__meta">
{% include 'meinberlin_moderatorfeedback/includes/moderatorfeedback.html' with item=proposal %}
</div>
</div>
{% endblock %}

<div class="l-wrapper">
{% react_comments proposal %}
</div>
{% block dropdown_items %}
{% get_item_permission object 'moderate' as moderator_perm %}
{% has_perm moderator_perm request.user proposal as is_moderator %}
{% if is_moderator %}
<li>
{% get_item_url object 'moderate' as moderate_url %}
<a class="dropdown-item" href="{{ moderate_url }}">{% trans 'Moderate' %}</a>
</li>
{% endif %}
{% endblock %}
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
{% load i18n rules %}

{% block project_action %}
{% has_perm 'meinberlin_budgeting.propose_proposal' request.user view.module as propose_allowed %}
{% has_perm 'meinberlin_budgeting.create_proposal' request.user view.module as propose_allowed %}
{% if propose_allowed %}
<a href="{% url 'budgeting:proposal-create' slug=view.module.slug %}" class="button button--huge">
<a href="{% url 'meinberlin_budgeting:proposal-create' slug=view.module.slug %}" class="button button--huge">
{% trans 'Submit proposal' %}
</a>
{% endif %}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{% extends "base.html" %}
{% load i18n %}
{% load i18n item_tags %}

{% block title %}Moderate {{proposal.name}}{% endblock %}
{% block content %}
Expand All @@ -12,7 +12,8 @@
{% trans 'back to project' %}</a>
</li>
<li>
<a href="{% url 'budgeting:proposal-detail' proposal.slug %}">
{% get_item_detail_url proposal as detail_url %}
<a href="{{ detail_url }}">
<i class="fa fa-arrow-left" aria-hidden="true"></i>
{% trans 'back to proposal' %}</a>
</li>
Expand All @@ -28,7 +29,7 @@ <h1>{% trans 'Moderate proposal' %}</h1>
{% include 'meinberlin_contrib/includes/form_field.html' with field=form.moderator_feedback %}

<input type="submit" class="button button--primary" value="{% trans 'Save'%}" />
<a href="{% url 'budgeting:proposal-detail' proposal.slug %}" class="button button--light">{% trans 'cancel'%}</a>
<a href="{{ detail_url }}" class="button button--light">{% trans 'cancel'%}</a>
</form>
</div>
{% endblock %}
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{% extends "base.html" %}
{% load i18n %}
{% load i18n item_tags %}

{% block title %}Edit {{proposal.name}}{% endblock %}
{% block content %}
Expand All @@ -12,7 +12,8 @@
{% trans 'back to project' %}</a>
</li>
<li>
<a href="{% url 'budgeting:proposal-detail' proposal.slug %}">
{% get_item_detail_url object as detail_url %}
<a href="{{ detail_url }}">
<i class="fa fa-arrow-left" aria-hidden="true"></i>
{% trans 'back to proposal' %}</a>
</li>
Expand All @@ -21,7 +22,6 @@

<h1>{% trans 'Edit proposal' %}</h1>

{% url 'budgeting:proposal-detail' proposal.slug as cancel %}
{% include "meinberlin_budgeting/includes/proposal_form.html" with proposal=proposal cancel=cancel %}
{% include "meinberlin_budgeting/includes/proposal_form.html" with proposal=proposal cancel=detail_url %}
</div>
{% endblock %}
6 changes: 3 additions & 3 deletions apps/budgeting/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -53,21 +53,21 @@ class ProposalDetailView(module_views.ItemDetailView):
class ProposalCreateView(module_views.ItemCreateView):
model = models.Proposal
form_class = forms.ProposalForm
permission_required = 'meinberlin_budgeting.propose_proposal'
permission_required = 'meinberlin_budgeting.create_proposal'
template_name = 'meinberlin_budgeting/proposal_create_form.html'


class ProposalUpdateView(module_views.ItemUpdateView):
model = models.Proposal
form_class = forms.ProposalForm
permission_required = 'meinberlin_budgeting.modify_proposal'
permission_required = 'meinberlin_budgeting.change_proposal'
template_name = 'meinberlin_budgeting/proposal_update_form.html'


class ProposalDeleteView(module_views.ItemDeleteView):
model = models.Proposal
success_message = _("Your budget request has been deleted")
permission_required = 'meinberlin_budgeting.modify_proposal'
permission_required = 'meinberlin_budgeting.change_proposal'
template_name = 'meinberlin_budgeting/proposal_confirm_delete.html'

def delete(self, request, *args, **kwargs):
Expand Down
88 changes: 88 additions & 0 deletions apps/contrib/templates/meinberlin_contrib/item_detail.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
{% extends "base.html" %}
{% load i18n module_tags rules react_comments react_ratings wagtailcore_tags item_tags %}

{% block title %}{{object.name}}{% endblock %}
{% block content %}
<div class="resource-navigation">
<div class="l-wrapper">
<nav class="resource-navigation__breadcrumbs breadcrumbs">
<ul>
<li>
<a href="{% url 'project-detail' object.project.slug %}">
<i class="fa fa-arrow-left" aria-hidden="true"></i>
{% trans 'back to project' %}</a>
</li>
</ul>
</nav>

{% get_item_change_permission object as change_perm %}
{% has_perm change_perm request.user object as show_dropdown %}

{% if show_dropdown %}
<div class="resource-navigation__actions dropdown dropdown--right">
<button
title="{% trans 'Actions' %}"
type="button"
class="dropdown-toggle"
data-toggle="dropdown"
aria-haspopup="true"
aria-expanded="false"
id="idea-{{object.pk}}-actions"
>
<i class="fa fa-ellipsis-v" aria-hidden="true"></i>
</button>
<ul class="dropdown-menu" aria-labelledby="idea-{{object.pk}}-actions">
<li>
{% get_item_update_url object as change_url %}
<a class="dropdown-item" href="{{ change_url }}">{% trans 'Edit' %}</a>
</li>
<li>
{% get_item_delete_url object as delete_url %}
<a class="dropdown-item" href="{{ delete_url }}">{% trans 'Delete' %}</a>
</li>
{% block dropdown_items %}{% endblock %}
</ul>
</div>
{% endif %}
</div>
</div>

<div class="resource-header">
<div class="l-wrapper">
<div class="l-center-6">
<h1 class="resource-header__title">{{ object.name }}</h1>

<div class="resource-header__meta">{{ object.creator.username }}</div>

{% if object.category %}
<div class="resource-header__meta">
<div class="label label--big">{{ object.category }}</div>
</div>
{% endif %}

{% block additional_meta %}{% endblock %}

{% if object|has_feature:"rate" %}
<div class="resource-header__action">
{% react_ratings object %}
</div>
{% endif %}

{% block additional_content %}{% endblock %}

</div>
</div>
</div>

<div class="idea-description">
<div class="l-wrapper">
<div class="l-center-6">
{{ object.description | richtext }}
</div>
</div>
</div>

<div class="l-wrapper">
{% react_comments object %}
</div>
{% endblock %}
Loading

0 comments on commit 254fe9d

Please sign in to comment.