Improve the Poser Setup page; allow poser dir refresh
This commit is contained in:
parent
128657810b
commit
33abeb1aca
2 changed files with 160 additions and 40 deletions
|
@ -26,6 +26,7 @@ Various common views
|
|||
|
||||
from __future__ import unicode_literals, absolute_import
|
||||
|
||||
import os
|
||||
import six
|
||||
|
||||
from rattail.db import model
|
||||
|
@ -206,22 +207,67 @@ class CommonView(View):
|
|||
app = self.get_rattail_app()
|
||||
app_title = self.rattail_config.app_title()
|
||||
poser_handler = app.get_poser_handler()
|
||||
poser_dir = poser_handler.get_default_poser_dir()
|
||||
poser_dir_exists = os.path.isdir(poser_dir)
|
||||
|
||||
if self.request.method == 'POST':
|
||||
try:
|
||||
path = poser_handler.make_poser_dir()
|
||||
except Exception as error:
|
||||
self.request.session.flash(simple_error(error), 'error')
|
||||
else:
|
||||
self.request.session.flash("Poser folder created at: {}".format(path))
|
||||
self.request.session.flash("Please restart the web app!", 'warning')
|
||||
return self.redirect(self.request.route_url('home'))
|
||||
|
||||
# maybe refresh poser dir
|
||||
if self.request.POST.get('action') == 'refresh':
|
||||
poser_handler.refresh_poser_dir()
|
||||
self.request.session.flash("Poser folder has been refreshed.")
|
||||
|
||||
else: # otherwise make poser dir
|
||||
|
||||
if poser_dir_exists:
|
||||
self.request.session.flash("Poser folder already exists!", 'error')
|
||||
else:
|
||||
try:
|
||||
path = poser_handler.make_poser_dir()
|
||||
except Exception as error:
|
||||
self.request.session.flash(simple_error(error), 'error')
|
||||
else:
|
||||
self.request.session.flash("Poser folder created at: {}".format(path))
|
||||
self.request.session.flash("Please restart the web app!", 'warning')
|
||||
return self.redirect(self.request.route_url('home'))
|
||||
|
||||
try:
|
||||
from poser import reports
|
||||
reports_error = None
|
||||
except Exception as error:
|
||||
reports = None
|
||||
reports_error = simple_error(error)
|
||||
|
||||
try:
|
||||
from poser.web import views
|
||||
views_error = None
|
||||
except Exception as error:
|
||||
views = None
|
||||
views_error = simple_error(error)
|
||||
|
||||
try:
|
||||
import poser
|
||||
poser_error = None
|
||||
except Exception as error:
|
||||
poser = None
|
||||
poser_error = simple_error(error)
|
||||
|
||||
return {
|
||||
'use_buefy': use_buefy,
|
||||
'app_title': app_title,
|
||||
'index_title': app_title,
|
||||
'poser_dir': poser_handler.get_default_poser_dir(),
|
||||
'poser_dir': poser_dir,
|
||||
'poser_dir_exists': poser_dir_exists,
|
||||
'poser_imported': {
|
||||
'poser': poser,
|
||||
'reports': reports,
|
||||
'views': views,
|
||||
},
|
||||
'poser_import_errors': {
|
||||
'poser': poser_error,
|
||||
'reports': reports_error,
|
||||
'views': views_error,
|
||||
},
|
||||
}
|
||||
|
||||
@classmethod
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue