def setUp(self):
        super(DashboardsViewTest, self).setUp()

        self.dash1 = Dashboard(widgets='{"test":"widget"}',
                               owner=self.existing_user)
        self.dash1.save()
        self.dash2 = Dashboard(widgets='{"test2":"widget2"}',
                               owner=self.existing_user)
        self.dash2.save()

        self.factory = RequestFactory()
Exemple #2
0
def adddashboard(request):

    if not request.is_ajax() or request.method != 'POST':
        #return method not allowed
        responsedata = {
            'success': False,
            'message': 'Non-ajax requests not allowed.'
        }
        return HttpResponse(json.dumps(responsedata), status=405)

    params = json.loads(request.body)

    try:
        dashboard = Dashboard(user=request.user, name=params['name'])
        dashboard.save()
    except (KeyError, ValueError) as e:
        print e
        responsedata = {'success': False, 'message': 'Internal server error.'}
        return HttpResponse(json.dumps(responsedata), status=500)

    responsedata = {
        'success': True,
        'message': 'Dashboard created.',
        'uid': str(dashboard.uid)
    }

    return HttpResponse(json.dumps(responsedata))
Exemple #3
0
def list(request):
    #print "found list"
    #print "Request: " + str(request)
    #print "User logged in: " + str(request.user.is_authenticated())#str(auth.user_logged_in)
    messages = []
    error_messages = []

    if (not request.user.is_authenticated()):
        return redirect(settings.BASE_URL)

    username = request.user.username
    #should check to make sure dashboard doesn't already exist
    if request.method == "POST":
        try:
            if request.POST[
                    "create_dashboard_submit"] == "Create Chat Dashboard":
                title = request.POST['title'].strip()
                dashboard = Dashboard(title=title, creator=username)
                permission = Dashboard_Permission(
                    dashboard_title=title,
                    user=username,
                    privilege=Dashboard_Permissions.ADMIN)
                to_save = True
                for dash in Dashboard.objects:
                    if dash.title == title:
                        to_save = False

                    if to_save:
                        dashboard.save()
                        permission.save()
                        print "Created Dashboard: " + title
                    else:
                        messages.append(
                            "Cannot create dashboard - the dashboard already exists"
                        )
        except:
            try:
                if request.POST["invite_user_submit"] == "Invite User":
                    invite_user(request.POST["inviteemail"], username)
            except:
                pass

    user_dashboards = None
    try:
        user_dashboards = Dashboard_Permission.objects.filter(user=username)
    except:
        messages.append("You are not a user on any Dashboards.")

    all_dashboards = Dashboard.objects()
    template = loader.get_template('list.html')
    context = RequestContext(
        request, {
            'all_dashboards': all_dashboards,
            'user_dashboards': user_dashboards,
            'messages': messages,
            'error_messages': error_messages
        })
    return HttpResponse(template.render(context))
Exemple #4
0
    def post(self):
        data = request.get_json()
        user = Dashboard(**data)
        db.session.add(user)
        db.session.flush()
        id = user.id
        emit_object_creation({"name": dash.name, "type": "dashboard"})
        db.session.commit()

        return {'id': id}, 201
Exemple #5
0
def get_dashboard_data(request):
    dash_data = json.loads(request.POST["data"])
    print dash_data
    filename =  dash_data["name"] + "_config.json"
    with open("media/" + filename, 'w') as conf:
        json.dump(dash_data, conf)

    Dashboard(name=dash_data["name"],
                config_file=filename).save()

    return HttpResponseRedirect(reverse("dashboard:list"))
Exemple #6
0
    def post(self, user_id):
        data = request.get_json()
        board = Dashboard(**data)

        try:
            User.query.get(user_id).serialize()
            print(data)
            db.session.add(board)
            db.session.commit()

            connections = dashboard_users_table.insert().\
                values(dashboard_id=board.id, user_id=user_id)
            db.session.execute(connections)
            db.session.commit()
            return {"id": board.id}, 201
        except:
            return "User not registered"