Removed redirection for login and help urls

Changed the redirection in state0 template
This commit is contained in:
Hemanth Kumar Veeranki 2016-10-31 12:23:03 +05:30 committed by James Valleroy
parent 0332d4489e
commit 0290f68ae6
No known key found for this signature in database
GPG Key ID: 77C0C75E7B650808
5 changed files with 25 additions and 10 deletions

View File

@ -26,7 +26,7 @@ first_boot_steps = [{'id': 'firstboot_state0',
'url': 'first_boot:state0', 'url': 'first_boot:state0',
'order': 0 'order': 0
}, },
{'id': 'firstboot_state10', {'id': 'firstboot_state10',
'url': 'first_boot:state10', 'url': 'first_boot:state10',
'order': 10 'order': 10
} }

View File

@ -22,6 +22,7 @@ yet.
from django.http.response import HttpResponseRedirect from django.http.response import HttpResponseRedirect
from django.urls import reverse from django.urls import reverse
from django.conf import settings
import logging import logging
from operator import itemgetter from operator import itemgetter
from plinth import kvstore, module_loader from plinth import kvstore, module_loader
@ -38,11 +39,15 @@ class FirstBootMiddleware(object):
"""Handle a request as Django middleware request handler.""" """Handle a request as Django middleware request handler."""
state = kvstore.get_default('firstboot_state', 0) state = kvstore.get_default('firstboot_state', 0)
user_requests_firstboot = is_firstboot(request.path) user_requests_firstboot = is_firstboot(request.path)
if state == 1 and user_requests_firstboot: user_requests_login = request.path.startswith(reverse(settings.LOGIN_URL))
return HttpResponseRedirect(reverse('index')) help_index_url = reverse('help:index')
elif state == 0 and not user_requests_firstboot: user_requests_help = request.path.startswith(help_index_url)
url = next_step() if not user_requests_login and not user_requests_help:
return HttpResponseRedirect(reverse(url)) if state == 1 and user_requests_firstboot:
return HttpResponseRedirect(reverse('index'))
elif state == 0 and not user_requests_firstboot:
url = next_step()
return HttpResponseRedirect(reverse(url))
def is_firstboot(path): def is_firstboot(path):
@ -59,6 +64,7 @@ def is_firstboot(path):
def get_firstboot_steps(): def get_firstboot_steps():
"""Returns all firstboot steps"""
steps = [] steps = []
modules = module_loader.loaded_modules modules = module_loader.loaded_modules
for (module_name, module_object) in modules.items(): for (module_name, module_object) in modules.items():

View File

@ -37,7 +37,7 @@
</p> </p>
<p class="text-center"> <p class="text-center">
<a href="{% url 'first_boot:state1' %}" <a href="{% url next_url %}"
class="btn btn-primary btn-lg">{% trans "Start Setup" %}</a> class="btn btn-primary btn-lg">{% trans "Start Setup" %}</a>
</p> </p>

View File

@ -28,14 +28,21 @@ from plinth import kvstore
from plinth import network from plinth import network
from plinth.errors import DomainRegistrationError from plinth.errors import DomainRegistrationError
from .forms import State1Form, State5Form from .forms import State1Form, State5Form
from .middleware import mark_step_done from .middleware import mark_step_done, next_step
class State0View(TemplateView): class State0View(TemplateView):
"""Show the welcome screen.""" """Show the welcome screen."""
kvstore.set('firstboot_state0', 'done')
template_name = 'firstboot_state0.html' template_name = 'firstboot_state0.html'
def get_context_data(self, **kwargs):
"""Returns the context data"""
context = super(State0View, self).get_context_data(**kwargs)
mark_step_done('firstboot_state0')
context['next_url'] = next_step()
return context
def state10(request): def state10(request):
"""State 10 is when all firstboot setup is done. """State 10 is when all firstboot setup is done.

View File

@ -31,7 +31,7 @@ from .forms import CreateUserForm, UserChangePasswordForm, UserUpdateForm, State
from plinth import actions from plinth import actions
from plinth.errors import ActionError from plinth.errors import ActionError
from plinth.modules.first_boot.middleware import mark_step_done from plinth.modules.first_boot.middleware import mark_step_done, next_step
subsubmenu = [{'url': reverse_lazy('users:index'), subsubmenu = [{'url': reverse_lazy('users:index'),
'text': ugettext_lazy('Users')}, 'text': ugettext_lazy('Users')},
@ -173,12 +173,14 @@ class State1View(CreateView):
"""Create user account and log the user in.""" """Create user account and log the user in."""
template_name = 'firstboot_state1.html' template_name = 'firstboot_state1.html'
form_class = State1Form form_class = State1Form
success_url = ''
def __init__(self, *args, **kwargs): def __init__(self, *args, **kwargs):
"""Initialize the view object.""" """Initialize the view object."""
if not cfg.danube_edition: if not cfg.danube_edition:
mark_step_done('pagekite_firstboot') mark_step_done('pagekite_firstboot')
mark_step_done('users_firstboot') mark_step_done('users_firstboot')
self.success_url = next_step()
return super(State1View, self).__init__(*args, **kwargs) return super(State1View, self).__init__(*args, **kwargs)
def get_form_kwargs(self): def get_form_kwargs(self):