Skip to content

Commit

Permalink
Merge pull request #153 from gaiaresources/master
Browse files Browse the repository at this point in the history
README + product_title
  • Loading branch information
dbca-asi committed Nov 15, 2016
2 parents 4f5f618 + 75b9806 commit ad935aa
Show file tree
Hide file tree
Showing 13 changed files with 468 additions and 36 deletions.
407 changes: 407 additions & 0 deletions README.md
100644 → 100755

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion wildlifelicensing/apps/applications/emails.py
Original file line number Diff line number Diff line change
Expand Up @@ -193,7 +193,7 @@ def send_licence_issued_email(licence, application, request, to=None, cc=None, b
'licence': licence
}
if licence.licence_document is not None:
file_name = 'WL_licence_' + smart_text(licence.licence_type.product_code)
file_name = 'WL_licence_' + smart_text(licence.licence_type.product_title)
if licence.licence_number:
file_name += '_' + smart_text(licence.licence_number)
if licence.licence_sequence:
Expand Down
2 changes: 1 addition & 1 deletion wildlifelicensing/apps/applications/tests/test_entry.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ def setUp(self):

self.client = SocialClient()

self.licence_type = WildlifeLicenceType.objects.get(product_code='regulation-17')
self.licence_type = WildlifeLicenceType.objects.get(product_title='regulation-17')
self.licence_type.identification_required = True
self.licence_type.save()

Expand Down
10 changes: 5 additions & 5 deletions wildlifelicensing/apps/applications/views/entry.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
from django.core.urlresolvers import reverse
from wildlifelicensing.apps.applications.utils import delete_session_application
from wildlifelicensing.apps.payments.utils import is_licence_free, get_licence_price, \
generate_product_code
generate_product_title

LICENCE_TYPE_NUM_CHARS = 2
LODGEMENT_NUMBER_NUM_CHARS = 6
Expand Down Expand Up @@ -230,7 +230,7 @@ def __get_variants(variant_group, licence_type, current_params):
variant_dict['href'] = '{}?{}'.format(reverse('wl_applications:select_licence_type',
args=(licence_type.id,)), encoded_params)

prod_code = '{} {}'.format(licence_type.product_code, ' '.join([v.product_code for v in params]))
prod_code = '{} {}'.format(licence_type.product_title, ' '.join([v.product_title for v in params]))
variant_dict['price'] = get_licence_price(prod_code)

variant_dict['help_text'] = variant.help_text
Expand All @@ -249,7 +249,7 @@ def __populate_category_dict(category_dict, licence_type_queryset, categories):
licence_type_dict['href'] = reverse('wl_applications:select_licence_type',
args=(licence_type.id,))

licence_type_dict['price'] = get_licence_price(licence_type.product_code)
licence_type_dict['price'] = get_licence_price(licence_type.product_title)

category_dict['licence_types'].append(licence_type_dict)

Expand Down Expand Up @@ -514,7 +514,7 @@ def get_context_data(self, **kwargs):
messages.error(self.request, e.message)
return redirect('wl_applications:new_application')

kwargs['is_payment_required'] = not is_licence_free(generate_product_code(application)) and \
kwargs['is_payment_required'] = not is_licence_free(generate_product_title(application)) and \
not application.invoice_reference and is_customer(self.request.user)

if application.data:
Expand Down Expand Up @@ -590,7 +590,7 @@ def get(self, request, *args, **kwargs):

context['application'] = application

context['show_invoice'] = not is_licence_free(generate_product_code(application)) and \
context['show_invoice'] = not is_licence_free(generate_product_title(application)) and \
not application.is_licence_amendment

delete_session_application(request.session)
Expand Down
2 changes: 1 addition & 1 deletion wildlifelicensing/apps/main/admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ def __get_group_and_parent_groups(current_variant_group, groups):
missing_product_variants = []

for licence_type in WildlifeLicenceType.objects.filter(variant_group__in=related_variant_groups):
variant_codes = payment_utils.generate_product_code_variants(licence_type)
variant_codes = payment_utils.generate_product_title_variants(licence_type)

for variant_code in variant_codes:
if payment_utils.get_product(variant_code) is None:
Expand Down
2 changes: 1 addition & 1 deletion wildlifelicensing/apps/main/fixtures/licences.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
"pk": 1,
"fields":
{
"product_code": "regulation-17",
"product_title": "regulation-17",
"identification_required": true,
"application_schema":
[
Expand Down
25 changes: 25 additions & 0 deletions wildlifelicensing/apps/main/migrations/0024_auto_20161104_1036.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.7 on 2016-11-04 02:36
from __future__ import unicode_literals

from django.db import migrations


class Migration(migrations.Migration):

dependencies = [
('wl_main', '0023_auto_20161026_1716'),
]

operations = [
migrations.RenameField(
model_name='variant',
old_name='product_code',
new_name='product_title',
),
migrations.RenameField(
model_name='wildlifelicencetype',
old_name='product_code',
new_name='product_title',
),
]
6 changes: 3 additions & 3 deletions wildlifelicensing/apps/main/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ class Meta:


class WildlifeLicenceType(LicenceType):
product_code = models.CharField(max_length=64, unique=True)
product_title = models.CharField(max_length=64, unique=True)
identification_required = models.BooleanField(default=False)
senior_applicable = models.BooleanField(default=False)
default_conditions = models.ManyToManyField(Condition, through='DefaultCondition', blank=True)
Expand All @@ -63,7 +63,7 @@ def clean(self):
- Check for senior voucher if applicable.
:return: raise an exception if error
"""
variant_codes = payment_utils.generate_product_code_variants(self)
variant_codes = payment_utils.generate_product_title_variants(self)

missing_product_variants = []

Expand Down Expand Up @@ -153,7 +153,7 @@ class CommunicationsLogEntry(models.Model):
@python_2_unicode_compatible
class Variant(models.Model):
name = models.CharField(max_length=200)
product_code = models.CharField(max_length=64, unique=True)
product_title = models.CharField(max_length=64, unique=True)
help_text = models.TextField(blank=True)

def __str__(self):
Expand Down
8 changes: 4 additions & 4 deletions wildlifelicensing/apps/main/tests/helpers.py
Original file line number Diff line number Diff line change
Expand Up @@ -134,12 +134,12 @@ def get_or_create_api_user():
return user


def get_or_create_licence_type(product_code='regulation-17'):
return WildlifeLicenceType.objects.get_or_create(product_code=product_code)[0]
def get_or_create_licence_type(product_title='regulation-17'):
return WildlifeLicenceType.objects.get_or_create(product_title=product_title)[0]


def create_licence(holder, issuer, product_code='regulation-17'):
licence_type = get_or_create_licence_type(product_code)
def create_licence(holder, issuer, product_title='regulation-17'):
licence_type = get_or_create_licence_type(product_title)
return WildlifeLicence.objects.create(licence_type=licence_type, holder=holder, issuer=issuer,
profile=holder.profiles.first())

Expand Down
32 changes: 16 additions & 16 deletions wildlifelicensing/apps/payments/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,46 +28,46 @@ def to_json(data):
return json.dumps(data, cls=WildlifeLicensingJSONEncoder)


def generate_product_code_variants(licence_type):
def __append_variant_codes(product_code, variant_group, current_variant_codes):
def generate_product_title_variants(licence_type):
def __append_variant_codes(product_title, variant_group, current_variant_codes):
if variant_group is None:
variant_codes.append(product_code)
variant_codes.append(product_title)
return

for variant in variant_group.variants.all():
variant_code = '{} {}'.format(product_code, variant.product_code)
variant_code = '{} {}'.format(product_title, variant.product_title)

__append_variant_codes(variant_code, variant_group.child, variant_codes)

variant_codes = []

__append_variant_codes(licence_type.product_code, licence_type.variant_group, variant_codes)
__append_variant_codes(licence_type.product_title, licence_type.variant_group, variant_codes)

return variant_codes


def generate_product_code(application):
product_code = application.licence_type.product_code
def generate_product_title(application):
product_title = application.licence_type.product_title

if application.variants.exists():
product_code = '{} {}'.format(product_code,
product_title = '{} {}'.format(product_title,
' '.join(application.variants.through.objects.filter(application=application).
order_by('order').values_list('variant__product_code', flat=True)))
order_by('order').values_list('variant__product_title', flat=True)))

return product_code
return product_title


def get_product(product_code):
def get_product(product_title):
try:
return Product.objects.get(title=product_code)
return Product.objects.get(title=product_title)
except Product.DoesNotExist:
return None
except Product.MultipleObjectsReturned:
return None


def is_licence_free(product_code):
product = get_product(product_code)
def is_licence_free(product_title):
product = get_product(product_title)

if product is None:
return True
Expand All @@ -79,8 +79,8 @@ def is_licence_free(product_code):
return purchase_info.price.effective_price == 0


def get_licence_price(product_code):
product = get_product(product_code)
def get_licence_price(product_title):
product = get_product(product_title)

if product is None:
return 0.00
Expand Down
4 changes: 2 additions & 2 deletions wildlifelicensing/apps/payments/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@

from wildlifelicensing.apps.applications.models import Application

from wildlifelicensing.apps.payments.utils import generate_product_code, get_product
from wildlifelicensing.apps.payments.utils import generate_product_title, get_product
from wildlifelicensing.apps.payments.forms import PaymentsReportForm
from wildlifelicensing.apps.main.helpers import is_officer

Expand All @@ -31,7 +31,7 @@
class CheckoutApplicationView(RedirectView):
def get(self, request, *args, **kwargs):
application = get_object_or_404(Application, pk=args[0])
product = get_product(generate_product_code(application))
product = get_product(generate_product_title(application))
user = application.applicant.id

error_url = request.build_absolute_uri(reverse('wl_applications:preview'))
Expand Down
2 changes: 1 addition & 1 deletion wildlifelicensing/apps/returns/tests/test_returns.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ def setUp(self):

self.client = SocialClient()

self.licence = create_licence(self.customer, self.officer, product_code='regulation-17')
self.licence = create_licence(self.customer, self.officer, product_title='regulation-17')
self.ret = create_return(self.licence)

def tearDown(self):
Expand Down
2 changes: 1 addition & 1 deletion wildlifelicensing/templates/wl/base.html
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@
{% endif %}
{% if request.user.is_staff %}
<li><a href="{% url 'admin:index' %}">Admin</a></li>
<li><a href="{% url 'dashboard:index' %}">Product Dashboard</a></li>
<li><a href="{% url 'dashboard:index' %}">Oscar Dashboard</a></li>
<li role="separator" class="divider"></li>
{% endif %}
<li><a href="{% url 'accounts:logout' %}?next=/">Logout</a></li>
Expand Down

0 comments on commit ad935aa

Please sign in to comment.