def get_user_navlets(request, dashboard_id=None): """Gets all navlets that this user subscribes to for a given dashboard""" dashboard = find_dashboard(request.account, dashboard_id) usernavlets = dashboard.widgets.all() navlets = [] for usernavlet in usernavlets: navlets.append(create_navlet_object(usernavlet)) return HttpResponse(json.dumps(navlets), content_type="application/json")
def get_user_navlets(request, dashboard_id=None): """Gets all navlets that this user subscribes to for a given dashboard""" dashboard = find_dashboard(request.account, dashboard_id) usernavlets = dashboard.widgets.all() navlets = [] for usernavlet in usernavlets: navlets.append(create_navlet_object(usernavlet)) return JsonResponse({"items": navlets})
def add_user_navlet(request, dashboard_id=None): """Add a navlet subscription to this user""" if request.method == 'POST' and 'navlet' in request.POST: account = request.account dashboard = find_dashboard(account, dashboard_id=dashboard_id) if can_modify_navlet(account, request): navlet_class = request.POST.get('navlet') navlet = add_navlet(account, navlet_class, dashboard=dashboard) return JsonResponse(create_navlet_object(navlet)) return HttpResponse(status=400)
def index(request, did=None): """Controller for main page.""" # Read files that will be displayed on front page if request.account.is_default_account(): welcome = quick_read(WELCOME_ANONYMOUS_PATH) else: welcome = quick_read(WELCOME_REGISTERED_PATH) dashboard = find_dashboard(request.account, did) dashboards = AccountDashboard.objects.filter(account=request.account) context = { 'navpath': [('Home', '/')], 'date_now': datetime.today(), 'welcome': welcome, 'dashboard': dashboard, 'dashboards': dashboards, 'navlets': list_navlets(), 'title': u'NAV - {}'.format(dashboard.name), } if dashboards.count() > 1: dashboard_ids = [d.pk for d in dashboards] current_index = dashboard_ids.index(dashboard.pk) previous_index = current_index - 1 next_index = current_index + 1 if current_index == len(dashboard_ids) - 1: next_index = 0 context.update({ 'previous_dashboard': dashboards.get(pk=dashboard_ids[previous_index]), 'next_dashboard': dashboards.get(pk=dashboard_ids[next_index]) }) return render( request, 'webfront/index.html', context )