Commit 6456e0bc8462422f766aadbc0716d1b32d49ac94

Authored by Zambom
1 parent 3b4cfe1e

Adjusting file bugs in pdf link resource

amadeus/static/js/resources.js
@@ -135,14 +135,7 @@ function FileSelectHandler(e) { @@ -135,14 +135,7 @@ function FileSelectHandler(e) {
135 parent = $(e.target.offsetParent), 135 parent = $(e.target.offsetParent),
136 max_size = parseInt($(e.target).data("max_size")) * 1024 * 1024, 136 max_size = parseInt($(e.target).data("max_size")) * 1024 * 1024,
137 submit_btn = $(e.target).closest("form").find("input[type='submit']"), 137 submit_btn = $(e.target).closest("form").find("input[type='submit']"),
138 - mimeTypes = ['image/jpeg','image/x-citrix-jpeg','image/png','image/x-citrix-png','image/x-png',  
139 - 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',  
140 - 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',  
141 - 'application/vnd.openxmlformats-officedocument.presentationml.slideshow',  
142 - 'application/vnd.openxmlformats-officedocument.presentationml.presentation',  
143 - 'application/vnd.ms-excel','text/html','application/msword','application/vnd.oasis.opendocument.presentation',  
144 - 'application/vnd.oasis.opendocument.spreadsheet','application/vnd.oasis.opendocument.text',  
145 - 'application/pdf', 'application/vnd.ms-powerpoint']; 138 + mimeTypes = $(e.target).data('mimetypes');
146 139
147 $(".client-file-errors").hide(); 140 $(".client-file-errors").hide();
148 $(".size").hide(); 141 $(".size").hide();
@@ -150,6 +143,9 @@ function FileSelectHandler(e) { @@ -150,6 +143,9 @@ function FileSelectHandler(e) {
150 $(submit_btn).prop('disable', false); 143 $(submit_btn).prop('disable', false);
151 $(submit_btn).prop('disabled', false); 144 $(submit_btn).prop('disabled', false);
152 145
  146 + console.log($(e.target).data('mimetypes'));
  147 + console.log(mimeTypes);
  148 +
153 // process all File objects 149 // process all File objects
154 for (var i = 0, f; f = files[i]; i++) { 150 for (var i = 0, f; f = files[i]; i++) {
155 151
file_link/models.py
@@ -6,19 +6,19 @@ from django.core.urlresolvers import reverse_lazy @@ -6,19 +6,19 @@ from django.core.urlresolvers import reverse_lazy
6 6
7 from topics.models import Resource 7 from topics.models import Resource
8 8
9 -def validate_file_extension(value):  
10 - valid_formats = [  
11 - 'image/jpeg','image/x-citrix-jpeg','image/png','image/x-citrix-png','image/x-png',  
12 - 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',  
13 - 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',  
14 - 'application/vnd.openxmlformats-officedocument.presentationml.slideshow',  
15 - 'application/vnd.openxmlformats-officedocument.presentationml.presentation',  
16 - 'application/vnd.ms-excel','text/html','application/msword','application/vnd.oasis.opendocument.presentation',  
17 - 'application/vnd.oasis.opendocument.spreadsheet','application/vnd.oasis.opendocument.text',  
18 - 'application/pdf',  
19 - 'application/vnd.ms-powerpoint'  
20 - ] 9 +valid_formats = [
  10 + 'image/jpeg','image/x-citrix-jpeg','image/png','image/x-citrix-png','image/x-png',
  11 + 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
  12 + 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
  13 + 'application/vnd.openxmlformats-officedocument.presentationml.slideshow',
  14 + 'application/vnd.openxmlformats-officedocument.presentationml.presentation',
  15 + 'application/vnd.ms-excel','text/html','application/msword','application/vnd.oasis.opendocument.presentation',
  16 + 'application/vnd.oasis.opendocument.spreadsheet','application/vnd.oasis.opendocument.text',
  17 + 'application/pdf',
  18 + 'application/vnd.ms-powerpoint'
  19 +]
21 20
  21 +def validate_file_extension(value):
22 if hasattr(value.file, 'content_type'): 22 if hasattr(value.file, 'content_type'):
23 if not value.file.content_type in valid_formats: 23 if not value.file.content_type in valid_formats:
24 raise ValidationError(_('Please select a valid file. The uploaded file must have one of the following extensions: .doc, .docx, .html, .jpg, .odp, .ods, .odt, .pdf, .png, .ppt, .pptx, .xlx e .xlsx')) 24 raise ValidationError(_('Please select a valid file. The uploaded file must have one of the following extensions: .doc, .docx, .html, .jpg, .odp, .ods, .odt, .pdf, .png, .ppt, .pptx, .xlx e .xlsx'))
file_link/templates/file_links/_form.html
@@ -27,7 +27,7 @@ @@ -27,7 +27,7 @@
27 </div> 27 </div>
28 28
29 <div class="form-group{% if form.has_error %} has-error {% endif %} is-fileinput"> 29 <div class="form-group{% if form.has_error %} has-error {% endif %} is-fileinput">
30 - {% render_field form.file_content class='file-selector' data-max_size="10" %} 30 + {% render_field form.file_content class='file-selector' data-max_size="10" data-mimetypes=mimeTypes %}
31 31
32 <div class="input-group common-file-input"> 32 <div class="input-group common-file-input">
33 <input type="text" readonly="" class="form-control" placeholder="{% trans 'Choose your file...' %}"> 33 <input type="text" readonly="" class="form-control" placeholder="{% trans 'Choose your file...' %}">
file_link/views.py
@@ -16,7 +16,7 @@ from topics.models import Topic @@ -16,7 +16,7 @@ from topics.models import Topic
16 from pendencies.forms import PendenciesForm 16 from pendencies.forms import PendenciesForm
17 17
18 from .forms import FileLinkForm 18 from .forms import FileLinkForm
19 -from .models import FileLink 19 +from .models import FileLink, valid_formats
20 20
21 21
22 import datetime 22 import datetime
@@ -198,6 +198,7 @@ class CreateView(LoginRequiredMixin, LogMixin, generic.edit.CreateView): @@ -198,6 +198,7 @@ class CreateView(LoginRequiredMixin, LogMixin, generic.edit.CreateView):
198 198
199 context['topic'] = topic 199 context['topic'] = topic
200 context['subject'] = topic.subject 200 context['subject'] = topic.subject
  201 + context['mimeTypes'] = valid_formats
201 202
202 return context 203 return context
203 204
@@ -312,6 +313,7 @@ class UpdateView(LoginRequiredMixin, LogMixin, generic.UpdateView): @@ -312,6 +313,7 @@ class UpdateView(LoginRequiredMixin, LogMixin, generic.UpdateView):
312 313
313 context['topic'] = topic 314 context['topic'] = topic
314 context['subject'] = topic.subject 315 context['subject'] = topic.subject
  316 + context['mimeTypes'] = valid_formats
315 317
316 return context 318 return context
317 319
pdf_file/models.py
@@ -6,11 +6,11 @@ from django.core.urlresolvers import reverse_lazy @@ -6,11 +6,11 @@ from django.core.urlresolvers import reverse_lazy
6 6
7 from topics.models import Resource 7 from topics.models import Resource
8 # Create your models here. 8 # Create your models here.
  9 +valid_formats = [
  10 + 'application/pdf'
  11 +]
  12 +
9 def validate_file_extension(value): 13 def validate_file_extension(value):
10 - valid_formats = [  
11 - 'application/pdf'  
12 - ]  
13 -  
14 if hasattr(value.file, 'content_type'): 14 if hasattr(value.file, 'content_type'):
15 if not value.file.content_type in valid_formats: 15 if not value.file.content_type in valid_formats:
16 raise ValidationError(_('File not supported, use PDF format instead.')) 16 raise ValidationError(_('File not supported, use PDF format instead.'))
pdf_file/templates/pdf_file/_form.html
@@ -25,8 +25,9 @@ @@ -25,8 +25,9 @@
25 </div> 25 </div>
26 {% endif %} 26 {% endif %}
27 </div> 27 </div>
28 -<div class="form-group{% if form.has_error %} has-error {% endif %} is-fileinput">  
29 - {% render_field form.file class='file-selector' %} 28 +
  29 + <div class="form-group{% if form.has_error %} has-error {% endif %} is-fileinput">
  30 + {% render_field form.file class='file-selector' data-max_size="10" data-mimetypes=mimeTypes %}
30 31
31 <div class="input-group common-file-input"> 32 <div class="input-group common-file-input">
32 <input type="text" readonly="" class="form-control" placeholder="{% trans 'Choose your file...' %}"> 33 <input type="text" readonly="" class="form-control" placeholder="{% trans 'Choose your file...' %}">
@@ -51,18 +52,29 @@ @@ -51,18 +52,29 @@
51 52
52 <span id="helpBlock" class="help-block">{{ form.file.help_text }}</span> 53 <span id="helpBlock" class="help-block">{{ form.file.help_text }}</span>
53 54
54 - {% if form.file.errors %}  
55 - <div class="alert alert-danger alert-dismissible" role="alert">  
56 - <button type="button" class="close" data-dismiss="alert" aria-label="Close">  
57 - <span aria-hidden="true">&times;</span>  
58 - </button>  
59 - <ul>  
60 - {% for error in form.file.errors %}  
61 - <li>{{ error }}</li>  
62 - {% endfor %}  
63 - </ul>  
64 - </div>  
65 - {% endif %} 55 + </div>
  56 +
  57 + {% if form.file.errors %}
  58 + <div class="alert alert-danger alert-dismissible" role="alert">
  59 + <button type="button" class="close" data-dismiss="alert" aria-label="Close">
  60 + <span aria-hidden="true">&times;</span>
  61 + </button>
  62 + <ul>
  63 + {% for error in form.file.errors %}
  64 + <li>{{ error }}</li>
  65 + {% endfor %}
  66 + </ul>
  67 + </div>
  68 + {% endif %}
  69 +
  70 + <div class="col-lg-12 col-md-12 col-sm-12 alert alert-danger alert-dismissible client-file-errors" style="display:none" role="alert">
  71 + <button type="button" class="close" data-dismiss="alert" aria-label="Close">
  72 + <span aria-hidden="true">&times;</span>
  73 + </button>
  74 + <ul>
  75 + <li class="size" style="display:none">{% trans "The file is too large. It should have less than 10MB." %}</li>
  76 + <li class="format" style="display:none">{% trans 'File not supported.' %}</li>
  77 + </ul>
66 </div> 78 </div>
67 79
68 <legend>{% trans 'Common resources settings' %}</legend> 80 <legend>{% trans 'Common resources settings' %}</legend>
pdf_file/views.py
@@ -16,7 +16,7 @@ from django.http import HttpResponse, Http404 @@ -16,7 +16,7 @@ from django.http import HttpResponse, Http404
16 16
17 from log.mixins import LogMixin 17 from log.mixins import LogMixin
18 from topics.models import Topic, Resource 18 from topics.models import Topic, Resource
19 -from .models import PDFFile 19 +from .models import PDFFile, valid_formats
20 from pendencies.forms import PendenciesForm 20 from pendencies.forms import PendenciesForm
21 21
22 from chat.models import Conversation, TalkMessages, ChatVisualizations 22 from chat.models import Conversation, TalkMessages, ChatVisualizations
@@ -204,6 +204,7 @@ class PDFFileCreateView(LoginRequiredMixin, LogMixin , generic.CreateView): @@ -204,6 +204,7 @@ class PDFFileCreateView(LoginRequiredMixin, LogMixin , generic.CreateView):
204 204
205 context['topic'] = topic 205 context['topic'] = topic
206 context['subject'] = topic.subject 206 context['subject'] = topic.subject
  207 + context['mimeTypes'] = valid_formats
207 208
208 return context 209 return context
209 210
@@ -319,6 +320,7 @@ class UpdateView(LoginRequiredMixin, LogMixin, generic.UpdateView): @@ -319,6 +320,7 @@ class UpdateView(LoginRequiredMixin, LogMixin, generic.UpdateView):
319 320
320 context['topic'] = topic 321 context['topic'] = topic
321 context['subject'] = topic.subject 322 context['subject'] = topic.subject
  323 + context['mimeTypes'] = valid_formats
322 324
323 return context 325 return context
324 326