diff --git a/Changelog b/Changelog index e76db610..538a862d 100644 --- a/Changelog +++ b/Changelog @@ -1,4 +1,6 @@ Next: + * bugfix: [dg] Send email to admin on dg subscription and increase cc_brand field to 128 characters (PR #652) + * #5458: [admin] Make hostingorder more readable (PR #657) * bugfix: [CMS templates] Set description meta field of ungleich template (was missing before) and set ungleich glarus ag uniformly as author of various CMS pages (PR #653) * #5473: Ping a VM before saving ssh key of the user (PR #655) 2.1: 2018-08-21 diff --git a/digitalglarus/migrations/0026_auto_20180824_0739.py b/digitalglarus/migrations/0026_auto_20180824_0739.py new file mode 100644 index 00000000..6ebad14f --- /dev/null +++ b/digitalglarus/migrations/0026_auto_20180824_0739.py @@ -0,0 +1,25 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.9.4 on 2018-08-24 07:39 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('digitalglarus', '0025_membershiporder_stripe_subscription_id'), + ] + + operations = [ + migrations.AlterField( + model_name='bookingorder', + name='cc_brand', + field=models.CharField(blank=True, max_length=128), + ), + migrations.AlterField( + model_name='membershiporder', + name='cc_brand', + field=models.CharField(blank=True, max_length=128), + ), + ] diff --git a/digitalglarus/mixins.py b/digitalglarus/mixins.py index 7c214e14..18a02239 100644 --- a/digitalglarus/mixins.py +++ b/digitalglarus/mixins.py @@ -39,7 +39,7 @@ class Ordereable(models.Model): created_at = models.DateTimeField(auto_now_add=True) approved = models.BooleanField(default=False) last4 = models.CharField(max_length=4, blank=True) - cc_brand = models.CharField(max_length=10, blank=True) + cc_brand = models.CharField(max_length=128, blank=True) stripe_charge_id = models.CharField(max_length=100, null=True) class Meta: diff --git a/digitalglarus/views.py b/digitalglarus/views.py index f99577c5..299327e6 100644 --- a/digitalglarus/views.py +++ b/digitalglarus/views.py @@ -492,6 +492,18 @@ class MembershipPaymentView(LoginRequiredMixin, IsNotMemberMixin, FormView): 'membership_dates': membership.type.first_month_formated_range }) + email_to_admin_data = { + 'subject': "New Digital Glarus subscription: {user}".format( + user=self.request.user.email + ), + 'from_email': 'info@digitalglarus.ch', + 'to': ['info@ungleich.ch'], + 'body': "\n".join( + ["%s=%s" % (k, v) for (k, v) in + order_data.items()]), + } + send_plain_email_task.delay(email_to_admin_data) + context = { 'membership': membership, 'order': membership_order, diff --git a/hosting/models.py b/hosting/models.py index e9fcdc7e..abc4c428 100644 --- a/hosting/models.py +++ b/hosting/models.py @@ -53,9 +53,11 @@ class OrderDetail(AssignPermissionsMixin, models.Model): ssd_size = models.IntegerField(default=0) def __str__(self): - return "%s - %s, %s cores, %s GB RAM, %s GB SSD" % ( - self.vm_template.name, self.vm_template.vm_type, self.cores, - self.memory, self.ssd_size + return "Not available" if self.vm_template is None else ( + "%s - %s, %s cores, %s GB RAM, %s GB SSD" % ( + self.vm_template.name, self.vm_template.vm_type, self.cores, + self.memory, self.ssd_size + ) ) @@ -87,7 +89,11 @@ class HostingOrder(AssignPermissionsMixin, models.Model): ) def __str__(self): - return "%s" % (self.id) + return ("Order Nr: #{} - VM_ID: {} - {} - {} - " + "Specs: {} - Price: {}").format( + self.id, self.vm_id, self.customer.user.email, self.created_at, + self.order_detail, self.price + ) @cached_property def status(self):