views.py 3.51 KB
""" 
Copyright 2016, 2017 UFPE - Universidade Federal de Pernambuco
 
Este arquivo é parte do programa Amadeus Sistema de Gestão de Aprendizagem, ou simplesmente Amadeus LMS
 
O Amadeus LMS é um software livre; você pode redistribui-lo e/ou modifica-lo dentro dos termos da Licença Pública Geral GNU como publicada pela Fundação do Software Livre (FSF); na versão 2 da Licença.
 
Este programa é distribuído na esperança que possa ser útil, mas SEM NENHUMA GARANTIA; sem uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou APLICAÇÃO EM PARTICULAR. Veja a Licença Pública Geral GNU para maiores detalhes.
 
Você deve ter recebido uma cópia da Licença Pública Geral GNU, sob o título "LICENSE", junto com este programa, se não, escreva para a Fundação do Software Livre (FSF) Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA.
"""

from django.views import generic
from django.shortcuts import render
from django.contrib import messages
from django.core.urlresolvers import reverse, reverse_lazy
from django.utils.translation import ugettext_lazy as _
from django.http import HttpResponse, JsonResponse, HttpResponseRedirect,HttpRequest
from django.shortcuts import redirect
from log.decorators import log_decorator
from braces import views as braces_mixins

from .models import Themes
from .forms import BasicElemetsForm, CSSStyleForm

class IndexView(braces_mixins.LoginRequiredMixin, braces_mixins.StaffuserRequiredMixin, generic.TemplateView):
	login_url = reverse_lazy("users:login")
	redirect_field_name = 'next'

	template_name = 'themes/index.html'

	def get_context_data(self, **kwargs):
		context = super(IndexView, self).get_context_data(**kwargs)

		context['title'] = _('Themes')
		context['settings_menu_active'] = "settings_menu_active"

		return context

class BasicElementsSettings(braces_mixins.LoginRequiredMixin, braces_mixins.StaffuserRequiredMixin, generic.UpdateView):
	login_url = reverse_lazy("users:login")
	redirect_field_name = 'next'

	template_name = 'themes/basic_update.html'
	model = Themes
	form_class = BasicElemetsForm
	success_url = reverse_lazy("subjects:home")

	def get_object(self, queryset = None):
		return Themes.objects.get(id = 1)

	def form_valid(self, form):
		form.save()

		messages.success(self.request, _("Theme settings updated successfully!"))

		return super(BasicElementsSettings, self).form_valid(form)

	def get_context_data(self, **kwargs):
		context = super(BasicElementsSettings, self).get_context_data(**kwargs)

		context['title'] = _('Basic Elements')
		context['settings_menu_active'] = "settings_menu_active"

		return context


class CSSStyleSettings(braces_mixins.LoginRequiredMixin, braces_mixins.StaffuserRequiredMixin, generic.UpdateView):
	login_url = reverse_lazy("users:login")
	redirect_field_name = 'next'

	template_name = 'themes/css_update.html'
	model = Themes
	form_class = CSSStyleForm
	success_url = reverse_lazy("subjects:home")

	def get_object(self, queryset = None):
		return Themes.objects.get(id = 1)

	def form_valid(self, form):
		form.save()

		messages.success(self.request, _("Theme settings updated successfully!"))

		return super(CSSStyleSettings, self).form_valid(form)

	def get_context_data(self, **kwargs):
		context = super(CSSStyleSettings, self).get_context_data(**kwargs)

		context['title'] = _('CSS Selector')
		context['settings_menu_active'] = "settings_menu_active"

		return context

@log_decorator("contrast", "click", "contrast")
def Contrast(request):
	caminho = request.META.get('HTTP_REFERER')
	return HttpResponseRedirect(caminho)