Commit 3f600124fa189781d1626685d4ec611d4c230cf1

Authored by Felipe Henrique de Almeida Bormann
1 parent 319477b1

started create link for website

links/forms.py
... ... @@ -26,11 +26,16 @@ class LinkForm(forms.ModelForm):
26 26  
27 27 tags = forms.CharField(label = _('Tags'), required = False)
28 28 link_url = forms.URLField(label = _('Website URL'),required=True)
  29 + initial_view_date = forms.DateField(input_formats=['%Y/%m/%d', '%d/%m/%Y', '%m/%d/%Y'])
  30 + end_view_date = forms.DateField(input_formats=['%Y/%m/%d', '%d/%m/%Y', '%m/%d/%Y'])
  31 +
29 32 class Meta:
30 33 model = Link
31 34 fields = ['name','link_url', 'initial_view','initial_view_date', 'end_view','end_view_date', 'brief_description', 'all_students', 'students', 'groups', 'visible']
32 35 labels = {
33 36 'name': _('Link name'),
  37 + 'end_view' : _('End View'),
  38 + 'end_view_date': _('End View Date')
34 39 }
35 40 widgets = {
36 41 'brief_description': forms.Textarea,
... ... @@ -38,6 +43,31 @@ class LinkForm(forms.ModelForm):
38 43 'groups': forms.SelectMultiple,
39 44 }
40 45  
  46 + def clean(self):
  47 +
  48 + cleaned_data = self.cleaned_data
  49 +
  50 + if cleaned_data.get('end_view'):
  51 + end_view = cleaned_data.get('end_view')
  52 + if end_view:
  53 + if cleaned_data.get('end_view_date'):
  54 + end_view_date = cleaned_data.get('end_view_date')
  55 + print(end_view_date)
  56 + if not end_view_date:
  57 + raise ValidationError(_('End View Date is not set'), code='invalid' )
  58 +
  59 + if cleaned_data.get('initial_view'):
  60 + initial_view = cleaned_data.get('initial_view')
  61 + if initial_view:
  62 + if cleaned_data.get('initial_view_date'):
  63 + initial_view_date = cleaned_data.get('initial_view_date')
  64 + print(initial_view_date)
  65 + if not initial_view_date:
  66 + raise ValidationError(_('Initial View Date is not set'), code='invalid' )
  67 +
  68 + return cleaned_data
  69 +
  70 +
41 71 def clean_name(self):
42 72 name = self.cleaned_data.get('name', '')
43 73  
... ... @@ -50,12 +80,13 @@ class LinkForm(forms.ModelForm):
50 80 same_name = topic.resource_topic.filter(name__unaccent__iexact = name).count()
51 81  
52 82 if same_name > 0:
53   - self._errors['name'] = [_('This subject already has a link with this name')]
  83 + self._errors['name'] = [_('There is already a link with this name on this subject')]
54 84  
55 85 return ValueError
56 86  
57 87 return name
58 88  
  89 +
59 90  
60 91  
61 92 def save(self, commit = True):
... ...
links/templates/links/_form.html
... ... @@ -4,6 +4,8 @@
4 4 <form method="post" action="" enctype="multipart/form-data">
5 5 {% csrf_token %}
6 6  
  7 + {{form.non_field_errors}}
  8 +
7 9 {% render_field form.control_subject %}
8 10  
9 11 <div class="form-group{% if form.has_error %} has-error {% endif %} is-fileinput">
... ... @@ -90,7 +92,7 @@
90 92 <div class="form-group{% if form.has_error %} has-error {% endif %}">
91 93 <label for="{{ form.initial_view_date.auto_id }}">{{ form.initial_view_date.label }}</label>
92 94  
93   - {% render_field form.initial_view_date class='form-control datetime-picker' %}
  95 + {% render_field form.initial_view_date class='form-control date-picker' %}
94 96  
95 97 <span id="helpBlock" class="help-block">{{ form.initial_view.help_text }}</span>
96 98  
... ... @@ -131,6 +133,50 @@
131 133 {% endif %}
132 134 </div>
133 135  
  136 + <div class="form-group{% if form.has_error %} has-error {% endif %}">
  137 + <label for="{{ form.end_view_date.auto_id }}">{{ form.end_view_date.label }}</label>
  138 +
  139 + {% render_field form.end_view_date class='form-control date-picker' %}
  140 +
  141 + <span id="helpBlock" class="help-block">{{ form.end_view.help_text }}</span>
  142 +
  143 + {% if form.end_view_date.errors %}
  144 + <div class="alert alert-danger alert-dismissible" role="alert">
  145 + <button type="button" class="close" data-dismiss="alert" aria-label="Close">
  146 + <span aria-hidden="true">&times;</span>
  147 + </button>
  148 + <ul>
  149 + {% for error in form.end_view_date.errors %}
  150 + <li>{{ error }}</li>
  151 + {% endfor %}
  152 + </ul>
  153 + </div>
  154 + {% endif %}
  155 + </div>
  156 +
  157 + <div class="form-group{% if form.has_error %} has-error {% endif %}">
  158 + <div class=" checkbox">
  159 + <label for="{{ form.end_view.auto_id }}">
  160 + {% render_field form.end_view %} {{ form.end_view.label }}
  161 + </label>
  162 + </div>
  163 +
  164 + <span id="helpBlock" class="help-block">{{ form.end_view.help_text }}</span>
  165 +
  166 + {% if form.end_view.errors %}
  167 + <div class="alert alert-danger alert-dismissible" role="alert">
  168 + <button type="button" class="close" data-dismiss="alert" aria-label="Close">
  169 + <span aria-hidden="true">&times;</span>
  170 + </button>
  171 + <ul>
  172 + {% for error in form.end_view.errors %}
  173 + <li>{{ error }}</li>
  174 + {% endfor %}
  175 + </ul>
  176 + </div>
  177 + {% endif %}
  178 + </div>
  179 +
134 180  
135 181 <div class=" form-group panel-group" id="professors_accordion" role="tablist" aria-multiselectable="true">
136 182 <div class="panel panel-info">
... ...
links/templates/links/create.html
... ... @@ -17,7 +17,7 @@
17 17  
18 18 {% breadcrumb topic 'subjects:topic_view' topic.subject.slug topic.slug %}
19 19  
20   - {% trans 'Create File Link' as bread %}
  20 + {% trans 'Create Website Link' as bread %}
21 21 {% breadcrumb bread 'links:create' topic.slug %}
22 22 {% endblock %}
23 23  
... ...
links/views.py
... ... @@ -12,6 +12,7 @@ from log.mixins import LogMixin
12 12 from log.decorators import log_decorator_ajax
13 13 from log.models import Log
14 14  
  15 +from django.contrib import messages
15 16 from pendencies.forms import PendenciesForm
16 17  
17 18 from amadeus.permissions import has_subject_permissions, has_resource_permissions
... ...