]> git.parisson.com Git - teleforma.git/commitdiff
continue question forms, FIX profile for username with @
authoryomguy <yomguy@parisson.com>
Mon, 3 Dec 2012 14:45:23 +0000 (15:45 +0100)
committeryomguy <yomguy@parisson.com>
Mon, 3 Dec 2012 14:45:23 +0000 (15:45 +0100)
teleforma/forms.py
teleforma/templates/teleforma/seminar_detail.html
teleforma/templates/teleforma/seminars.html
teleforma/urls.py
teleforma/views/core.py
teleforma/views/pro.py

index 59132456a5320ced1561a315016ba029926412e8..26bc0e03c5ed811cfc1833bf00ef9fc04d590070 100644 (file)
@@ -1,6 +1,7 @@
 
 from django.forms import ModelForm
 from teleforma.models import *
+from django.forms.models import inlineformset_factory
 
 
 class ConferenceForm(ModelForm):
@@ -9,10 +10,12 @@ class ConferenceForm(ModelForm):
         model = Conference
 
 
-class AnswerForm(ModelForm):
+class QuestionForm(ModelForm):
 
     class Meta:
-        model = Answer
+        model = Question
+        # exclude = ['user', 'question', 'status', 'validated', 'date_submitted']
 
 
+AnswerFormset = inlineformset_factory(QuestionForm, Answer, extra=1)
 
index 6f3a267402c272dd5527d8e838db9004fe8ffb0b..ba4696eff79f7b5901e978e257f9efe6e76325ac 100644 (file)
@@ -1,7 +1,32 @@
 {% extends "teleforma/seminars.html" %}
 {% load i18n %}
 
+{% block extra_javascript %}
+<link rel="stylesheet" href="http://code.jquery.com/ui/1.9.2/themes/base/jquery-ui.css" />
+<script src="http://code.jquery.com/ui/1.9.2/jquery-ui.js"></script>
+    <style>
 
+    .ui-progressbar2 .ui-progressbar-value2 { 
+      /*webkit rainbow gradient*/
+   background-image: -webkit-gradient(linear,  left top,  right top, 
+    color-stop(0.00, red), 
+    color-stop(16%, orange),
+    color-stop(32%, yellow),
+    color-stop(48%, green),
+    color-stop(60%, blue),
+    color-stop(76%, indigo),
+    color-stop(1.00, violet));
+ }
+
+    </style>
+<script type="text/javascript">
+    $(function() {
+        $( "#progressbar" ).progressbar({
+            value: {{ progress }}
+        });
+    });
+</script>
+{% endblock extra_javascript %}
 
 {% block course %}
 <div class="desk_center">
index a5ae1c9bc94a56c81e7b8ea5663d0ad89a268457..f5f39e51f32b982ef893e3ef69e32ce76b6a133a 100644 (file)
@@ -4,6 +4,17 @@
 {% load i18n %}
 
 
+{% block extra_javascript %}
+<script type="text/javascript">
+    $(function() {
+        $( "#progressbar" ).progressbar({
+            value: {{ total_progress }}
+        });
+    });
+</script>
+{% endblock extra_javascript %}
+
+
 {% block content %}
 
 <div id="module-set-left" style="width: 18%">
@@ -57,6 +68,7 @@
 <div class="desk_center">
     {% for seminar in object_list %}
       <div class="course">
+        
         <div class="course_title">
          <a href="{% url teleforma-seminar-detail seminar.id %}" style="color: #000;">{{ seminar.title }}</a>
         </div>
 
 <div id="module-set" style="width: 22%">
 
+{% block local_progress %}
+<div id="progressbar"></div>
+{% endblock local_progress %}
+
 {% block status %}
 {% get_telecaster as telecaster %}
 {%  if telecaster %}
@@ -88,6 +104,7 @@ server_status_callback();
 {% endblock status %}
 
 
+
 </div>
 
 {% endblock content %}
index f3fed23ad055f4a57bafce374b57a9d6937b2aea..087452005b7969e667bde48097d8db06d4a12cdc 100644 (file)
@@ -85,12 +85,16 @@ urlpatterns = patterns('',
     url(r'^desk/conference_record/$', ConferenceRecordView.as_view(),
         name="teleforma-conference-record"),
 
+    # Questions
+    url(r'^desk/questions/(?P<pk>.*)/$', AnswerCreateView.as_view(),
+        name="teleforma-answer-create"),
+
     # Postman
     url(r'^messages/', include('postman.urls')),
 
     # Users
     url(r'^users/$', UsersView.as_view(), name="teleforma-users"),
-    url(r'^users/(?P<username>[A-Za-z0-9._-]+)/profile/$', profile_view.profile_detail,
+    url(r'^users/(?P<username>[A-Za-z0-9._-@]+)/profile/$', profile_view.profile_detail,
                                name="teleforma-profile-detail"),
     url(r'^users/(?P<id>.*)/login/$', UserLoginView.as_view(), name="teleforma-user-login"),
     url(r'^users/all/export/$', user_export.all, name="teleforma-users-xls-export"),
index 625770445e3a63cf1967a87b5a62284eea96b0e7..d911b8307612fe13e1644934a14b9ea1e385741e 100644 (file)
@@ -132,6 +132,7 @@ def get_access(obj, courses):
             access = True
     return access
 
+
 access_error = _('Access not allowed.')
 contact_message = _('Please login or contact the website administator to get a private access.')
 
@@ -326,7 +327,9 @@ class DocumentView(DetailView):
     def download(self, request, pk):
         courses = get_courses(request.user)
         document = Document.objects.get(id=pk)
+        document.readers.add(request.user)
         if get_access(document, courses):
+            document.readers.add(request.user)
             fsock = open(document.file.path, 'r')
             mimetype = mimetypes.guess_type(document.file.path)[0]
             extension = mimetypes.guess_extension(mimetype)
@@ -340,7 +343,9 @@ class DocumentView(DetailView):
     def view(self, request, pk):
         courses = get_courses(request.user)
         document = Document.objects.get(id=pk)
+        document.readers.add(request.user)
         if get_access(document, courses):
+            document.readers.add(request.user)
             fsock = open(document.file.path, 'r')
             mimetype = mimetypes.guess_type(document.file.path)[0]
             extension = mimetypes.guess_extension(mimetype)
index f0594801cad2c1faa0550720e0f03796fb892565..e4bd6b47db3151599ab6f784409ac6e83fd54780 100644 (file)
@@ -152,11 +152,35 @@ class SeminarsView(ListView):
 
 
 
+class AnswerCreateView(CreateView):
 
-class AnswerView(FormView):
-
-    model = Answer
     form_class = AnswerForm
-    template_name='teleforma/answer.html'
+    template_name='teleforma/answer_form.html'
+
+    def get_success_url(self):
+        # Redirect to previous url
+        return self.request.META.get('HTTP_REFERER', None)
+
+    def form_valid(self, form):
+        messages.info(
+            self.request,
+            "You have successfully changed your email notifications"
+        )
+        return super(AnswerCreateView, self).form_valid(form)
+
+    def form_invalid(self, form):
+        messages.info(
+            self.request,
+            "Your submission has not been saved. Try again."
+        )
+        return super(AnswerCreateView, self).form_invalid(form)
+
+    def get_context_data(self, **kwargs):
+        context = super(AnswerCreateView, self).get_context_data(**kwargs)
+        context['all_courses'] = get_courses(self.request.user)
+        context['question'] = Question.objects.get(pk=kwargs['pk'])
+        return context
 
+    def get_success_url(self):
+        return reverse('teleforma-seminar-detail', kwargs={'pk':self.seminar.id})