Merge branch 'feature/LIL-623' into 'master'

LIL-623 добавить пробный урок у преподавателя

See merge request lilcity/backend!121
remotes/origin/hotfix/LIL-661
cfwme 8 years ago
commit 25b18ba7f2
  1. 2
      apps/user/forms.py
  2. 18
      apps/user/migrations/0023_user_trial_lesson.py
  3. 1
      apps/user/models.py
  4. 13
      apps/user/templates/user/profile-settings.html
  5. 5
      apps/user/views.py
  6. 17
      project/templates/blocks/teachers.html
  7. 7
      web/src/sass/_common.sass

@ -18,6 +18,7 @@ class UserEditForm(forms.ModelForm):
# gender = forms.ChoiceField(choices=User.GENDER_CHOICES, required=False) # gender = forms.ChoiceField(choices=User.GENDER_CHOICES, required=False)
gender = forms.CharField(required=False) gender = forms.CharField(required=False)
# about = forms.CharField() # about = forms.CharField()
trial_lesson = forms.URLField(required=False)
old_password = forms.CharField(required=False) old_password = forms.CharField(required=False)
new_password1 = forms.CharField(required=False) new_password1 = forms.CharField(required=False)
new_password2 = forms.CharField(required=False) new_password2 = forms.CharField(required=False)
@ -41,6 +42,7 @@ class UserEditForm(forms.ModelForm):
'birthday', 'birthday',
'gender', 'gender',
'about', 'about',
'trial_lesson',
'old_password', 'old_password',
'new_password1', 'new_password1',
'new_password2', 'new_password2',

@ -0,0 +1,18 @@
# Generated by Django 2.0.6 on 2018-08-22 12:11
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('user', '0022_user_instagram_hashtag'),
]
operations = [
migrations.AddField(
model_name='user',
name='trial_lesson',
field=models.URLField(blank=True, default='', null=True),
),
]

@ -75,6 +75,7 @@ class User(AbstractUser):
) )
photo = models.ImageField('Фото', null=True, blank=True, upload_to='users') photo = models.ImageField('Фото', null=True, blank=True, upload_to='users')
show_in_mainpage = models.BooleanField('Показывать на главной странице', default=False) show_in_mainpage = models.BooleanField('Показывать на главной странице', default=False)
trial_lesson = models.URLField(default='', null=True, blank=True)
objects = UserManager() objects = UserManager()

@ -150,7 +150,18 @@
{% for error in form.about.errors %} {% for error in form.about.errors %}
<div class="field__error">{{ error }}</div> <div class="field__error">{{ error }}</div>
{% endfor %} {% endfor %}
</div> </div>
{% if is_teacher %}
<div class="form__field field{% if form.trial_lesson.errors %} error{% endif %}">
<div class="field__label">Пробный урок</div>
<div class="field__wrap">
<input name='trial_lesson' class="field__input" type="url" value="{{ user.trial_lesson }}">
</div>
{% for error in form.trial_lesson.errors %}
<div class="field__error">{{ error }}</div>
{% endfor %}
</div>
{% endif %}
</div> </div>
<div class="form__group"> <div class="form__group">
<div class="form__title">Пароль</div> <div class="form__title">Пароль</div>

@ -210,6 +210,11 @@ class ProfileEditView(UpdateView):
self.object = self.get_object() self.object = self.get_object()
return super().dispatch(request, *args, **kwargs) return super().dispatch(request, *args, **kwargs)
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context['is_teacher'] = self.object.role == User.TEACHER_ROLE
return context
def post(self, request, *args, **kwargs): def post(self, request, *args, **kwargs):
# it's magic *-*-*-*-* # it's magic *-*-*-*-*
if 'photo' in request.FILES: if 'photo' in request.FILES:

@ -17,10 +17,15 @@
</div> </div>
<div class="teachers__wrap"> <div class="teachers__wrap">
<div class="teachers__title"> <div class="teachers__title">
<a href="{% url 'user' teacher.id %}">{{ teacher.get_full_name }}</a>{% if teacher.instagram_hashtag %}, <div class="teachers__title-name">
<a href='https://www.instagram.com/explore/tags/{{ teacher.instagram_hashtag }}/' target="_blank"> <a href="{% url 'user' teacher.id %}">{{ teacher.get_full_name }}</a>{% if teacher.instagram_hashtag %},
{{ teacher.instagram_hashtag }} <a href='https://www.instagram.com/explore/tags/{{ teacher.instagram_hashtag }}/' target="_blank">
</a> {{ teacher.instagram_hashtag }}
</a>
{% endif %}
</div>
{% if teacher.trial_lesson %}
<a target="_blank" href="{{ teacher.trial_lesson }}" class="btn btn_light">ПРОБНЫЙ УРОК</a>
{% endif %} {% endif %}
</div> </div>
<div class="teachers__social"> <div class="teachers__social">
@ -30,13 +35,13 @@
<use xlink:href="{% static 'img/sprite.svg' %}#icon-share-facebook"></use> <use xlink:href="{% static 'img/sprite.svg' %}#icon-share-facebook"></use>
</svg> </svg>
</a> </a>
{% endif %} {% if teacher.instagram %} {% endif %} {# if teacher.instagram #}
<a class="social__item" href="{{ teacher.instagram }}" target="_blank"> <a class="social__item" href="{{ teacher.instagram }}" target="_blank">
<svg class="icon icon-share-instagram"> <svg class="icon icon-share-instagram">
<use xlink:href="{% static 'img/sprite.svg' %}#icon-share-instagram"></use> <use xlink:href="{% static 'img/sprite.svg' %}#icon-share-instagram"></use>
</svg> </svg>
</a> </a>
{% endif %} {% if teacher.twitter %} {# endif #} {% if teacher.twitter %}
<a class="social__item" href="{{ teacher.twitter }}" target="_blank"> <a class="social__item" href="{{ teacher.twitter }}" target="_blank">
<svg class="icon icon-share-twitter"> <svg class="icon icon-share-twitter">
<use xlink:href="{% static 'img/sprite.svg' %}#icon-share-twitter"></use> <use xlink:href="{% static 'img/sprite.svg' %}#icon-share-twitter"></use>

@ -1519,12 +1519,17 @@ a.grey-link
flex: 0 0 95px flex: 0 0 95px
&__title &__title
margin-bottom: 5px margin-bottom: 5px
display: flex
+fb +fb
font-size: 20px font-size: 20px
letter-spacing: 2px letter-spacing: 2px
+t +t
font-size: 12px font-size: 12px
letter-spacing: 2px letter-spacing: 2px
+m
display: block
&-name
flex: 1
&__social &__social
.social__item .social__item
margin-right: 3px margin-right: 3px
@ -1533,6 +1538,8 @@ a.grey-link
&__content &__content
font-size: 16px font-size: 16px
line-height: (22/16) line-height: (22/16)
&__wrap
flex: 1
.toggle .toggle
font-size: 14px font-size: 14px

Loading…
Cancel
Save