Commit fb8794906d9c51e384fa3bc94134afad4a4bec00
1 parent
3b3a261f
Exists in
master
and in
2 other branches
Adjusting bugs involving images in user registration
Showing
1 changed file
with
89 additions
and
24 deletions
Show diff stats
users/templates/users/register.html
@@ -41,22 +41,37 @@ | @@ -41,22 +41,37 @@ | ||
41 | </div> | 41 | </div> |
42 | </div> | 42 | </div> |
43 | 43 | ||
44 | - <form class="{% if form.has_error %} has-error {% endif %} form-horizontal is-fileinput" method="post" enctype="multipart/form-data" id="formUpload"> | 44 | + <form class="{% if form.has_error %} has-error {% endif %} form-horizontal is-fileinput" method="post" enctype="multipart/form-data" id="user-form"> |
45 | {% csrf_token %} | 45 | {% csrf_token %} |
46 | {% for field in form %} | 46 | {% for field in form %} |
47 | <div class="col-lg-12 col-md-12 col-sm-12"> | 47 | <div class="col-lg-12 col-md-12 col-sm-12"> |
48 | <div class="form-group form-group-md"> | 48 | <div class="form-group form-group-md"> |
49 | <div class="col-md-12 col-sm-12 col-xs-12 col-lg-12"> | 49 | <div class="col-md-12 col-sm-12 col-xs-12 col-lg-12"> |
50 | {% if field.auto_id == 'id_image' %} | 50 | {% if field.auto_id == 'id_image' %} |
51 | - {% render_field field class='form-control' %} | ||
52 | - <div class="input-group"> | ||
53 | - <input type="text" readonly="" class="form-control" id="pic_holder" placeholder="{% trans 'Choose your photo...' %}"> | ||
54 | - <span class="input-group-btn"> | ||
55 | - <button type="button" class="btn btn-fab btn-fab-mini"> | ||
56 | - <i class="material-icons">image</i> | ||
57 | - </button> | ||
58 | - </span> | ||
59 | - </div> | 51 | + <label for="{{ field.auto_id }}">{{ field.label }}</label> |
52 | + | ||
53 | + {% render_field field class='form-control file-selector' %} | ||
54 | + | ||
55 | + <div class="input-group common-file-input"> | ||
56 | + <input type="text" readonly="" class="form-control" placeholder="{% trans 'Choose your photo...' %}"> | ||
57 | + <span class="input-group-btn input-group-sm"> | ||
58 | + <button type="button" class="btn btn-fab btn-fab-mini"> | ||
59 | + <i class="material-icons">attach_file</i> | ||
60 | + </button> | ||
61 | + </span> | ||
62 | + </div> | ||
63 | + | ||
64 | + <div class="filedrag"> | ||
65 | + {% if acc.image %} | ||
66 | + <i class="fa fa-file-archive-o"></i> <br /> | ||
67 | + | ||
68 | + <small>{{ acc.image.path }}</small> | ||
69 | + {% else %} | ||
70 | + {% trans 'Click or drop the file here' %}<br /> | ||
71 | + | ||
72 | + <small>{% trans 'The photo could not exceed 2MB.' %}</small> | ||
73 | + {% endif %} | ||
74 | + </div> | ||
60 | {% else %} | 75 | {% else %} |
61 | {% if field.auto_id == 'id_show_email' %} | 76 | {% if field.auto_id == 'id_show_email' %} |
62 | {% else %} | 77 | {% else %} |
@@ -66,21 +81,34 @@ | @@ -66,21 +81,34 @@ | ||
66 | 81 | ||
67 | {% endif %} | 82 | {% endif %} |
68 | <span class="help-block">{{ field.help_text }}</span> | 83 | <span class="help-block">{{ field.help_text }}</span> |
69 | - {% if field.errors %} | ||
70 | - <div class="row"> | ||
71 | - <div class="alert alert-danger alert-dismissible" role="alert"> | ||
72 | - <button type="button" class="close" data-dismiss="alert" aria-label="Close"> | ||
73 | - <span aria-hidden="true">×</span> | ||
74 | - </button> | ||
75 | - <ul> | ||
76 | - {% for error in field.errors %} | ||
77 | - <li>{{ error }}</li> | ||
78 | - {% endfor %} | ||
79 | - </ul> | ||
80 | - </div> | ||
81 | - </div> | ||
82 | - {% endif %} | ||
83 | </div> | 84 | </div> |
85 | + | ||
86 | + {% if field.errors %} | ||
87 | + <div class="row"> | ||
88 | + <div class="alert alert-danger alert-dismissible" role="alert"> | ||
89 | + <button type="button" class="close" data-dismiss="alert" aria-label="Close"> | ||
90 | + <span aria-hidden="true">×</span> | ||
91 | + </button> | ||
92 | + <ul> | ||
93 | + {% for error in field.errors %} | ||
94 | + <li>{{ error }}</li> | ||
95 | + {% endfor %} | ||
96 | + </ul> | ||
97 | + </div> | ||
98 | + </div> | ||
99 | + {% endif %} | ||
100 | + | ||
101 | + {% if field.auto_id == 'id_image' %} | ||
102 | + <div class="col-lg-12 col-md-12 col-sm-12 alert alert-danger alert-dismissible client-file-errors" style="display:none" role="alert"> | ||
103 | + <button type="button" class="close" data-dismiss="alert" aria-label="Close"> | ||
104 | + <span aria-hidden="true">×</span> | ||
105 | + </button> | ||
106 | + <ul> | ||
107 | + <li class="size" style="display:none">{% trans "The image is too large. It should have less than 2MB." %}</li> | ||
108 | + <li class="format" style="display:none">{% trans 'File not supported.' %}</li> | ||
109 | + </ul> | ||
110 | + </div> | ||
111 | + {% endif %} | ||
84 | </div> | 112 | </div> |
85 | </div> | 113 | </div> |
86 | {% endfor %} | 114 | {% endfor %} |
@@ -102,6 +130,43 @@ | @@ -102,6 +130,43 @@ | ||
102 | 130 | ||
103 | {% include 'users/modal_crop.html' %} | 131 | {% include 'users/modal_crop.html' %} |
104 | <script src="{% static 'js/crop.js' %}"></script> <!-- Js for cropper--> | 132 | <script src="{% static 'js/crop.js' %}"></script> <!-- Js for cropper--> |
133 | +<script type="text/javascript"> | ||
134 | +// check if browser supports drag n drop | ||
135 | +// call initialization file | ||
136 | +if (window.File && window.FileList && window.FileReader) { | ||
137 | + Init(); | ||
138 | +} | ||
139 | + | ||
140 | +// initialize | ||
141 | +function Init() { | ||
142 | + var small = $(".file-selector"), | ||
143 | + filedrag = $(".filedrag"), | ||
144 | + common = $(".common-file-input"); | ||
145 | + | ||
146 | + // file select | ||
147 | + small.on("change", FileSelectHandler); | ||
148 | + | ||
149 | + // is XHR2 available? | ||
150 | + var xhr = new XMLHttpRequest(); | ||
151 | + if (xhr.upload) { | ||
152 | + // file drop | ||
153 | + filedrag.on("drop", FileSelectHandler); | ||
154 | + filedrag.attr('style', 'display:block'); | ||
155 | + common.attr('style', 'display:none'); | ||
156 | + } | ||
157 | +} | ||
158 | + | ||
159 | +// file selection | ||
160 | +function FileSelectHandler(e) { | ||
161 | + var files = e.target.files || e.dataTransfer.files, | ||
162 | + parent = $(e.target.offsetParent); | ||
163 | + // process all File objects | ||
164 | + for (var i = 0, f; f = files[i]; i++) { | ||
165 | + parent.find('.filedrag').html(f.name); | ||
166 | + } | ||
167 | +} | ||
168 | +</script> | ||
169 | + | ||
105 | 170 | ||
106 | {% endblock %} | 171 | {% endblock %} |
107 | 172 |