Skip to content

Commit

Permalink
#1 MemberView extended
Browse files Browse the repository at this point in the history
  • Loading branch information
digedag committed Oct 8, 2015
1 parent 887bc8f commit 288cc16
Show file tree
Hide file tree
Showing 6 changed files with 149 additions and 10 deletions.
14 changes: 10 additions & 4 deletions src/DMKClub/Bundle/MemberBundle/Resources/config/services.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
parameters:
dmkclub.member.entity.class: DMKClub\Bundle\MemberBundle\Entity\Member
dmkclub.member.entity.class: DMKClub\Bundle\MemberBundle\Entity\Member
# dmk_club_member.example.class: DMKClub\Bundle\MemberBundle\Example
# datagrid helpers
dmkclub.country.datagrid_helper.class: Oro\Bundle\AddressBundle\Datagrid\CountryDatagridHelper
dmkclub.member.status_provider.class: DMKClub\Bundle\MemberBundle\Provider\MemberStatusProvider
dmkclub.country.datagrid_helper.class: Oro\Bundle\AddressBundle\Datagrid\CountryDatagridHelper
dmkclub.member.status_provider.class: DMKClub\Bundle\MemberBundle\Provider\MemberStatusProvider
dmkclub.member.twig.class: DMKClub\Bundle\MemberBundle\Twig\MemberExtension

services:
# dmk_club_member.example:
Expand All @@ -16,4 +17,9 @@ services:
dmkclub.member.status_provider:
class: "%dmkclub.member.status_provider.class%"
arguments:
- @translator
- "@translator"
dmkclub.member.twig.extension:
class: "%dmkclub.member.twig.class%"
arguments: ["@dmkclub.member.status_provider"]
tags:
- { name: twig.extension }
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,15 @@
{% import 'OroAddressBundle::macros.html.twig' as address %}
{% import 'OroCRMChannelBundle::macros.html.twig' as channel %}

{#
{#
Wird in der Detailansicht des Mitglieds verwendet
#}

<div class="widget-content">
<div class="row-fluid form-horizontal">
<div class="responsive-block">
{{ UI.renderProperty('dmkclub.member.name.label'|trans, entity.name) }}
{{ UI.renderProperty('dmkclub.member.status.label'|trans, dmkclub_memberstatus(entity.status)) }}

{{ channel.renderChannelProperty(entity, 'orocrm.sales.b2bcustomer.data_channel.label') }}

Expand All @@ -33,12 +34,25 @@ Wird in der Detailansicht des Mitglieds verwendet
{{ UI.renderHtmlProperty('orocrm.sales.b2bcustomer.billing_address.label'|trans, address.renderAddress(entity.postalAddress)) }}
{% endif %}

{% if resource_granted('oro_tag_view_tag_cloud') %}
{% if resource_granted('oro_tag_view') %}
{{ UI.renderHtmlProperty('oro.tag.entity_plural_label'|trans, tag.renderView(entity)) }}
{% endif %}
</div>
<div class="responsive-block">
{{ UI.renderProperty('dmkclub.member.payment_option.label'|trans, dmkclub_paymentoption(entity.paymentOption)) }}
{%- if entity.contact -%}
{%- set birthdayData -%}
{{ entity.contact.birthday is not empty ? entity.contact.birthday|oro_format_date : null }}
{% if entity.contact.birthday is not empty %} ({{ entity.contact.birthday|age_string({'default': 'N/A'}) }}){% endif %}
{%- endset -%}

{{ UI.renderProperty('orocrm.contact.birthday.label'|trans, entity.contact.birthday ? birthdayData : null) }}
{{ UI.renderProperty('orocrm.contact.gender.label'|trans, oro_gender(entity.contact.gender)) }}
{{ UI.renderProperty('dmkclub.member.is_active.label'|trans, entity.isActive) }}
{{ UI.renderProperty('dmkclub.member.is_honorary.label'|trans, entity.isHonorary) }}
{{ UI.renderProperty('dmkclub.member.is_free_of_charge.label'|trans, entity.isFreeOfCharge) }}
{% endif %}
{{ entityConfig.renderDynamicFields(entity) }}
</div>
</div>
</div>
</div>
56 changes: 56 additions & 0 deletions src/DMKClub/Bundle/MemberBundle/Twig/MemberExtension.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
<?php

namespace DMKClub\Bundle\MemberBundle\Twig;

use DMKClub\Bundle\MemberBundle\Provider\MemberStatusProvider;

class MemberExtension extends \Twig_Extension
{
/**
* @var MemberStatusProvider
*/
protected $statusProvider;

/**
* @param MemberStatusProvider $statusProvider
*/
public function __construct(MemberStatusProvider $statusProvider)
{
$this->statusProvider = $statusProvider;
}

/**
* Returns a list of functions to add to the existing list.
*
* @return array An array of functions
*/
public function getFunctions()
{
return array(
'dmkclub_memberstatus' => new \Twig_Function_Method($this, 'getMemberStatusLabel'),
);
}

/**
* @param string $name
* @return string
*/
public function getMemberStatusLabel($name)
{
if (!$name) {
return null;
}

return $this->statusProvider->getLabelByName($name);
}

/**
* Returns the name of the extension.
*
* @return string
*/
public function getName()
{
return 'dmkclub_member';
}
}
11 changes: 9 additions & 2 deletions src/DMKClub/Bundle/PaymentBundle/Resources/config/services.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,14 @@
parameters:
dmkclub.payment.options_provider.class: DMKClub\Bundle\PaymentBundle\Provider\PaymentOptionsProvider
dmkclub.payment.options_provider.class: DMKClub\Bundle\PaymentBundle\Provider\PaymentOptionsProvider
dmkclub.payment.twig.class: DMKClub\Bundle\PaymentBundle\Twig\PaymentExtension
services:
dmkclub.payment.options_provider:
class: "%dmkclub.payment.options_provider.class%"
arguments:
- @translator
- "@translator"
dmkclub.payment.twig.extension:
class: "%dmkclub.payment.twig.class%"
arguments: ["@dmkclub.payment.options_provider"]
tags:
- { name: twig.extension }

56 changes: 56 additions & 0 deletions src/DMKClub/Bundle/PaymentBundle/Twig/PaymentExtension.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
<?php

namespace DMKClub\Bundle\PaymentBundle\Twig;

use DMKClub\Bundle\PaymentBundle\Provider\PaymentOptionsProvider;

class PaymentExtension extends \Twig_Extension
{
/**
* @var MemberStatusProvider
*/
protected $paymentOptionProvider;

/**
* @param MemberStatusProvider $paymentOptionProvider
*/
public function __construct(PaymentOptionsProvider $paymentOptionProvider)
{
$this->paymentOptionProvider = $paymentOptionProvider;
}

/**
* Returns a list of functions to add to the existing list.
*
* @return array An array of functions
*/
public function getFunctions()
{
return array(
'dmkclub_paymentoption' => new \Twig_Function_Method($this, 'getPaymentOptionLabel'),
);
}

/**
* @param string $name
* @return string
*/
public function getPaymentOptionLabel($name)
{
if (!$name) {
return null;
}

return $this->paymentOptionProvider->getLabelByName($name);
}

/**
* Returns the name of the extension.
*
* @return string
*/
public function getName()
{
return 'dmkclub_payment';
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
{{ UI.renderHtmlProperty('dmkclub.sponsor.postal_address.label'|trans, address.renderAddress(entity.postalAddress)) }}
{% endif %}

{% if resource_granted('oro_tag_view_tag_cloud') %}
{% if resource_granted('oro_tag_view') %}
{{ UI.renderHtmlProperty('oro.tag.entity_plural_label'|trans, tag.renderView(entity)) }}
{% endif %}
</div>
Expand Down

0 comments on commit 288cc16

Please sign in to comment.