def get_context_data(self, **kwargs): kwargs.update({ 'djangobmf': self.read_session_data() }) # allways read current version, if in development mode if settings.DEBUG: kwargs["djangobmf"]['version'] = get_version() return super(BaseMixin, self).get_context_data(**kwargs)
def _read_session_data(self): """ returns the data saved in the session or an default dictionary containing the version of the bmf """ return self.request.session.get("djangobmf", { 'version': get_version(), })
def _read_session_data(self): """ returns the data saved in the session or an default dictionary containing the version of the bmf """ return self.request.session.get("djangobmf", { 'version': get_version(), 'debugjs': bmfsettings.DEBUG_JS, })
def get_context_data(self, **kwargs): # update context with session data kwargs.update({ 'djangobmf': self._read_session_data(), }) # always read current version, if in DEBUG mode if settings.DEBUG: kwargs["djangobmf"]['version'] = get_version() return super(BaseViewMixin, self).get_context_data(**kwargs)
def read_session_data(self): """ returns the data saved in the session or an default dictionary containing the version of the bmf """ return self.request.session.get("djangobmf", { 'version': get_version(), 'active_dashboard': None, # 'active_view': None, })
from djangobmf.views.api import APIIndex from djangobmf.views.api import APIViewDetail from djangobmf.views.api import APIModuleListView # from djangobmf.views.api import APIModuleDetailView from djangobmf.views.api import NotificationCountAPI from djangobmf.views.api import NotificationListAPI from djangobmf.views.api import NotificationViewAPI from djangobmf.views.configuration import ConfigurationView from djangobmf.views.configuration import ConfigurationEdit from djangobmf.views.dashboard import DashboardIndex from djangobmf.views.dashboard import Redirect # from djangobmf.views.dashboard import DashboardCategory # from djangobmf.views.dashboard import DashboardView from djangobmf.views.wizard import WizardView VERSION = get_version() if settings.DEBUG: CACHE_TIME = 1 else: CACHE_TIME = 86400 # 24h @cache_page(CACHE_TIME, key_prefix=VERSION) @last_modified(lambda req, **kw: now()) def i18n_javascript(request): """ Displays the i18n JavaScript that the Django admin requires. """ if settings.USE_I18N: # pragma: no cover from django.views.i18n import javascript_catalog
def get_context_data(self, **kwargs): session_data = self._read_session_data() # TODO check below this line ---------------------------------------- # load dashboard if hasattr(self, '_bmf_view_class'): current_view = self._bmf_view_class.key current_dashboard = self._bmf_dashboard elif hasattr(self, 'get_dashboard'): current_dashboard = self.get_dashboard() current_view = None else: try: current_dashboard = self.request.djangobmf_site.get_dashboard(session_data['active_dashboard']) except KeyError: current_dashboard = None current_view = None # update session if current_dashboard and current_dashboard.key != session_data['active_dashboard']: session_data['active_dashboard'] = current_dashboard.key self._write_session_data(session_data) dashboards = self._update_dashboards() # collect data sidebar = [] if current_dashboard: for category in current_dashboard: for view in category: try: url = dashboards[current_dashboard.key][category.key][view.key] except KeyError: continue sidebar.append({ 'category': category.name, 'view': view, 'url': url, 'active': current_view == view.key, }) navigation_dashboard = [] for key in dashboards.keys(): obj = self.request.djangobmf_site.get_dashboard(key) url = reverse( 'djangobmf:dashboard', kwargs={ 'dashboard': key, }, ) navigation_dashboard.append({ 'name': obj.name, 'url': url, 'active': current_dashboard == obj, }) # update context with session data kwargs.update({ 'djangobmf': self._read_session_data(), 'sidebar': sidebar, 'navigation_dashboard': navigation_dashboard, 'active_dashboard': current_dashboard, 'active_dashboard_view': current_view, }) # TODO check above this line ---------------------------------------- # always read current version, if in DEBUG mode if settings.DEBUG: kwargs["djangobmf"]['version'] = get_version() return super(BaseViewMixin, self).get_context_data(**kwargs)
from django.conf import settings from django.conf.urls import patterns, include, url from django.utils import timezone from django.views.decorators.cache import cache_page from django.views.decorators.http import last_modified from djangobmf import get_version from djangobmf.views import ModuleOverviewView from djangobmf.views.configuration import ConfigurationView from djangobmf.views.configuration import ConfigurationEdit from djangobmf.views.dashboard import DashboardView from djangobmf.views.dashboard import dashboard_view_factory @cache_page(86400, key_prefix='bmf-js18n-%s' % get_version()) @last_modified(lambda req, **kw: timezone.now()) def i18n_javascript(request): """ Displays the i18n JavaScript that the Django admin requires. """ if settings.USE_I18N: # pragma: no cover from django.views.i18n import javascript_catalog else: # pragma: no cover from django.views.i18n import null_javascript_catalog as javascript_catalog return javascript_catalog(request, packages=['djangobmf']) urlpatterns = patterns( '', url(r'^$', DashboardView.as_view(), name="dashboard"),
from djangobmf.views.api import APIViewDetail from djangobmf.views.api import APIModuleListView # from djangobmf.views.api import APIModuleDetailView from djangobmf.views.api import NotificationCountAPI from djangobmf.views.api import NotificationListAPI from djangobmf.views.api import NotificationViewAPI from djangobmf.views.configuration import ConfigurationView from djangobmf.views.configuration import ConfigurationEdit from djangobmf.views.dashboard import DashboardIndex from djangobmf.views.dashboard import Redirect # from djangobmf.views.dashboard import DashboardCategory # from djangobmf.views.dashboard import DashboardView from djangobmf.views.wizard import WizardView VERSION = get_version() if settings.DEBUG: CACHE_TIME = 1 else: CACHE_TIME = 86400 # 24h @cache_page(CACHE_TIME, key_prefix=VERSION) @last_modified(lambda req, **kw: now()) def i18n_javascript(request): """ Displays the i18n JavaScript that the Django admin requires. """ if settings.USE_I18N: # pragma: no cover
def read_session_data(self): return self.request.session.get("djangobmf", {'version': get_version()})
def get_context_data(self, **kwargs): session_data = self.read_session_data() # load dashboard if hasattr(self, 'get_dashboard_view'): current_dashboard = self.get_dashboard() current_view = self.get_dashboard_view() elif hasattr(self, 'get_dashboard'): current_dashboard = self.get_dashboard() current_view = None else: try: current_dashboard = self.request.djangobmf_site.get_dashboard(session_data['active_dashboard']) except KeyError: current_dashboard = None current_view = None # update session if current_dashboard and current_dashboard.key != session_data['active_dashboard']: session_data['active_dashboard'] = current_dashboard.key self.write_session_data(session_data) dashboards = self.update_dashboards() # collect data sidebar = [] if current_dashboard: for category in current_dashboard: for view in category: try: url = dashboards[current_dashboard.key][category.key][view.key] except KeyError: continue sidebar.append({ 'category': category.name, 'view': view, 'url': url, 'active': current_view == view, }) navigation_dashboard = [] for key in dashboards.keys(): obj = self.request.djangobmf_site.get_dashboard(key) url = reverse( 'djangobmf:dashboard', kwargs={ 'dashboard': key, }, ) navigation_dashboard.append({ 'name': obj.name, 'url': url, 'active': current_dashboard == obj, }) # update context with session data kwargs.update({ 'djangobmf': self.read_session_data(), 'sidebar': sidebar, 'navigation_dashboard': navigation_dashboard, 'active_dashboard': current_dashboard, 'active_dashboard_view': current_view, }) # always read current version, if in development mode if settings.DEBUG: kwargs["djangobmf"]['version'] = get_version() return super(ViewMixin, self).get_context_data(**kwargs)