remotes/origin/feature/LIL-711
gzbender 7 years ago
parent 385e785cc1
commit 5f609401e3
  1. 2
      apps/payment/migrations/0025_giftcertificate_usergiftcertificate.py
  2. 22
      apps/payment/migrations/0027_auto_20181109_1402.py
  3. 21
      apps/payment/migrations/0028_add_gift_certificates.py
  4. 3
      apps/payment/models.py
  5. 4
      apps/payment/templates/payment/gift_certificate_item.html
  6. BIN
      web/src/img/gift-certificates/1000.jpg
  7. BIN
      web/src/img/gift-certificates/10000.jpg
  8. BIN
      web/src/img/gift-certificates/2000.jpg
  9. BIN
      web/src/img/gift-certificates/3000.jpg
  10. BIN
      web/src/img/gift-certificates/5000.jpg
  11. 3
      web/src/sass/_common.sass
  12. 9
      web/webpack.config.js

@ -24,7 +24,7 @@ class Migration(migrations.Migration):
name='UserGiftCertificate',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('recipient', models.EmailField(max_length=254)),
('recipient', models.EmailField(max_length=254, blank=True, null=True,)),
('bonuses_sent', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='payment.UserBonus')),
('gift_certificate', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='payment.GiftCertificate')),
('payment', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='payment.Payment')),

@ -0,0 +1,22 @@
# Generated by Django 2.0.6 on 2018-11-09 14:02
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('payment', '0026_auto_20181101_1546'),
]
operations = [
migrations.RemoveField(
model_name='usergiftcertificate',
name='recipient',
),
migrations.AddField(
model_name='giftcertificate',
name='cover',
field=models.CharField(blank=True, default='', max_length=255),
),
]

@ -0,0 +1,21 @@
# Generated by Django 2.0.6 on 2018-11-09 14:03
from django.db import migrations
from django.contrib.staticfiles.storage import staticfiles_storage
def add_gift_certificates(apps, schema_editor):
GiftCertificate = apps.get_model('payment', 'GiftCertificate')
for price in [1000, 2000, 3000, 5000, 10000]:
GiftCertificate.objects.create(price=price,
cover=staticfiles_storage.url('img/gift-certificates/%d.jpg' % price))
class Migration(migrations.Migration):
dependencies = [
('payment', '0027_auto_20181109_1402'),
]
operations = [
migrations.RunPython(add_gift_certificates),
]

@ -14,6 +14,7 @@ from django.core.validators import RegexValidator
from django.utils.timezone import now
from django.conf import settings
from apps.content.models import ImageObject
from project.utils import weekdays_in_date_range
from apps.course.models import Course
@ -314,6 +315,7 @@ class UserBonus(models.Model):
class GiftCertificate(models.Model):
price = models.DecimalField(max_digits=8, decimal_places=2, default=0)
cover = models.CharField(max_length=255, blank=True, default='')
class Meta:
ordering = ('price',)
@ -322,7 +324,6 @@ class GiftCertificate(models.Model):
class UserGiftCertificate(models.Model):
gift_certificate = models.ForeignKey(GiftCertificate, on_delete=models.CASCADE,)
user = models.ForeignKey(User, on_delete=models.CASCADE, related_name='gift_certificates')
recipient = models.EmailField()
payment = models.ForeignKey(Payment, on_delete=models.SET_NULL, null=True)
bonuses_sent = models.ForeignKey(UserBonus, on_delete=models.CASCADE, blank=True, null=True)

@ -3,7 +3,9 @@
{% load data_liked from data_liked %}
<div class="gift-certificates__item">
<div class="gift-certificates__preview {{ theme_color }}"></div>
<div class="gift-certificates__preview {{ theme_color }}">
<img class="gift-certificates__cover" src="{{ gift_certificate.cover }}" />
</div>
<div class="gift-certificates__details">
<span class="gift-certificates__title theme {{ theme_color }}">
{% if user_gift_certificate and not user_gift_certificate.bonuses_sent %}

Binary file not shown.

After

Width:  |  Height:  |  Size: 299 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 300 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 300 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 299 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 300 KiB

@ -4455,6 +4455,9 @@ a
height: 200px
+t
margin-bottom: 10px
&__cover
object-fit: cover;
width: 100%;
&__details
display: flex
margin-bottom: 10px

@ -14,6 +14,7 @@ module.exports = {
sprite: glob('./src/icons/*.svg'),
images: glob('./src/img/*.*'),
imagesCertificates: glob('./src/img/user-certificates/*'),
imagesGiftCertificates: glob('./src/img/gift-certificates/*'),
fonts: glob('./src/fonts/*')
},
output: {
@ -85,7 +86,8 @@ module.exports = {
},
{
test: /\.(png|gif|jpg|svg)$/,
exclude: [path.resolve(__dirname, 'src/icons'), path.resolve(__dirname, 'src/img/user-certificates')],
exclude: [path.resolve(__dirname, 'src/icons'), path.resolve(__dirname, 'src/img/user-certificates'),
path.resolve(__dirname, 'src/img/gift-certificates')],
loader: 'file-loader?name=[name].[ext]&outputPath=./img/'
},
{
@ -93,6 +95,11 @@ module.exports = {
include: path.resolve(__dirname, 'src/img/user-certificates'),
loader: 'file-loader?name=[name].[ext]&outputPath=./img/user-certificates/'
},
{
test: /\.(png|jpg)$/,
include: path.resolve(__dirname, 'src/img/gift-certificates'),
loader: 'file-loader?name=[name].[ext]&outputPath=./img/gift-certificates/'
},
{
test: /\.(ttf|otf|eot|woff(2)?)(\?[a-z0-9]+)?$/,
loader: 'file-loader?name=[name].[ext]'

Loading…
Cancel
Save