diff --git a/subjects/templates/subjects/view.html b/subjects/templates/subjects/view.html
index b9ed8f9..633ed88 100644
--- a/subjects/templates/subjects/view.html
+++ b/subjects/templates/subjects/view.html
@@ -88,4 +88,10 @@
{% include 'topics/list.html' with subject=subject %}
+
+
{% endblock content %}
\ No newline at end of file
diff --git a/subjects/views.py b/subjects/views.py
index 07aa354..483263c 100644
--- a/subjects/views.py
+++ b/subjects/views.py
@@ -38,7 +38,6 @@ class HomeView(LoginRequiredMixin, ListView):
paginate_by = 10
total = 0
-
def get_queryset(self):
if self.request.user.is_staff:
subjects = Subject.objects.all().order_by("name")
@@ -338,6 +337,14 @@ class SubjectDetailView(LoginRequiredMixin, DetailView):
context = super(SubjectDetailView, self).get_context_data(**kwargs)
context['title'] = self.object.name
+ resources = self.request.session.get('resources', None)
+
+ if resources:
+ context['resource_new_page'] = resources['new_page']
+ context['resource_new_page_url'] = resources['new_page_url']
+
+ self.request.session['resources'] = None
+
return context
diff --git a/webpage/templates/webpages/list.html b/webpage/templates/webpages/list.html
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/webpage/templates/webpages/list.html
diff --git a/webpage/templates/webpages/view.html b/webpage/templates/webpages/view.html
new file mode 100644
index 0000000..4b70ce7
--- /dev/null
+++ b/webpage/templates/webpages/view.html
@@ -0,0 +1,66 @@
+{% extends 'subjects/view.html' %}
+
+{% load static i18n pagination permissions_tags %}
+{% load django_bootstrap_breadcrumbs %}
+
+{% block javascript%}
+ {{ block.super }}
+{% endblock%}
+
+{% block breadcrumbs %}
+ {{ block.super }}
+ {% breadcrumb topic 'subjects:view' subject.slug %}
+ {% breadcrumb webpage 'webpages:view' webpage.slug %}
+{% endblock %}
+
+{% block content %}
+ {% if messages %}
+ {% for message in messages %}
+
+ {% endfor %}
+ {% endif %}
+
+ {% subject_permissions request.user subject as has_subject_permissions %}
+
+ {% if subject.visible %}
+
+
+ {% elif has_subject_permissions %}
+
+
+
+ {{ webpage.content }}
+
+{% endblock %}
diff --git a/webpage/templates/webpages/window_view.html b/webpage/templates/webpages/window_view.html
new file mode 100644
index 0000000..ba04427
--- /dev/null
+++ b/webpage/templates/webpages/window_view.html
@@ -0,0 +1 @@
+{{ webpage.content }}
\ No newline at end of file
diff --git a/webpage/urls.py b/webpage/urls.py
index 67e6698..bc7999f 100644
--- a/webpage/urls.py
+++ b/webpage/urls.py
@@ -5,4 +5,6 @@ from . import views
urlpatterns = [
url(r'^create/(?P
[\w_-]+)/$', views.CreateView.as_view(), name = 'create'),
+ url(r'^window_view/(?P[\w_-]+)/$', views.NewWindowView.as_view(), name = 'window_view'),
+ url(r'^view/(?P[\w_-]+)/$', views.InsideView.as_view(), name = 'view'),
]
diff --git a/webpage/views.py b/webpage/views.py
index 29360a4..68d352e 100644
--- a/webpage/views.py
+++ b/webpage/views.py
@@ -12,6 +12,32 @@ from topics.models import Topic
from .forms import WebpageForm, InlinePendenciesFormset
from .models import Webpage
+class NewWindowView(LoginRequiredMixin, generic.DetailView):
+ login_url = reverse_lazy("users:login")
+ redirect_field_name = 'next'
+
+ template_name = 'webpages/window_view.html'
+ model = Webpage
+ context_object_name = 'webpage'
+
+class InsideView(LoginRequiredMixin, generic.DetailView):
+ login_url = reverse_lazy("users:login")
+ redirect_field_name = 'next'
+
+ template_name = 'webpages/view.html'
+ model = Webpage
+ context_object_name = 'webpage'
+
+ def get_context_data(self, **kwargs):
+ context = super(InsideView, self).get_context_data(**kwargs)
+
+ context['title'] = self.object.name
+
+ context['topic'] = self.object.topic
+ context['subject'] = self.object.topic.subject
+
+ return context
+
class CreateView(LoginRequiredMixin, generic.edit.CreateView):
login_url = reverse_lazy("users:login")
redirect_field_name = 'next'
@@ -102,4 +128,13 @@ class CreateView(LoginRequiredMixin, generic.edit.CreateView):
def get_success_url(self):
messages.success(self.request, _('The Webpage "%s" was added to the Topic "%s" of the virtual environment "%s" successfully!')%(self.object.name, self.object.topic.name, self.object.topic.subject.name))
- return reverse_lazy('subjects:view', kwargs = {'slug': self.object.topic.subject.slug})
\ No newline at end of file
+ success_url = reverse_lazy('webpages:view', kwargs = {'slug': self.object.slug})
+
+ if self.object.show_window:
+ self.request.session['resources'] = {}
+ self.request.session['resources']['new_page'] = True
+ self.request.session['resources']['new_page_url'] = reverse('webpages:window_view', kwargs = {'slug': self.object.slug})
+
+ success_url = reverse_lazy('subjects:view', kwargs = {'slug': self.object.topic.subject.slug})
+
+ return success_url
\ No newline at end of file
--
libgit2 0.21.2