コード例 #1
0
ファイル: dashboards.py プロジェクト: princez1214/flask
    def post(self, **data):
        """Creates dashboard
        """
        if 'id' in data:
            return self.put(data['id'], **data)

        if data.get('author') is None:
            data['author'] = self.user
        else:
            data['author'] = fields.ObjectId(data['author'])
        dashboard = Dashboard.objects.create_by_user(self.user, **data)
        return dashboard
コード例 #2
0
ファイル: dynamic_event.py プロジェクト: princez1214/flask
    def create(self, user, channel_type, name):
        if channel_type.is_locked:
            raise ChannelTypeIsLocked('ChannelType:%s is locked' % channel_type.name)

        defaults = {
            'mongo_collection': 'Post',
            'sync_collection': 'EventType%s_sync' % fields.ObjectId(),
            'channel_type_id': channel_type.id,  # TODO: unify usage of platform/channel_type
            'channel_type_name': channel_type.name,
            'platform': channel_type.name,
            'account_id': self.instance.id,
        }
        event_type = EventType.create_by_user(user, self.instance.id, name, **defaults)
        return event_type
コード例 #3
0
    def get_parameters(self):
        data = _get_request_data()
        params = {}

        for key, value in data.iteritems():
            if hasattr(Gallery, key) and key in self.valid_parameters:

                field = getattr(Gallery, key)
                if isinstance(field, fields.ObjectIdField):
                    value = fields.ObjectId(value)
                elif isinstance(field, fields.ListField) and isinstance(
                        field.field, fields.ObjectIdField):
                    value = map(fields.ObjectId, value)

                params[key] = value

        return params
コード例 #4
0
ファイル: dashboards.py プロジェクト: princez1214/flask
    def get_parameters(self):
        data = _get_request_data()

        params = {
            'owner': self.user,  # for storing
        }

        for key, value in data.iteritems():
            if hasattr(Dashboard, key) and key in self.valid_parameters:

                field = getattr(Dashboard, key)
                if isinstance(field, fields.ObjectIdField):
                    value = fields.ObjectId(value)
                elif isinstance(field, fields.ListField) and isinstance(
                        field.field, fields.ObjectIdField):
                    value = map(fields.ObjectId, value)

                params[key] = value

        return params
コード例 #5
0
ファイル: funnel.py プロジェクト: princez1214/flask
    def get_parameters(self):
        data = _get_request_data()

        params = {}
        # since funnels are account specific and not user specific
        if request.method == 'POST':
            params['owner'] = self.user

        for key, value in data.iteritems():
            if hasattr(Funnel, key) and key in self.valid_parameters:

                field = getattr(Funnel, key)
                if isinstance(field, fields.ObjectIdField):
                    value = fields.ObjectId(value)
                elif isinstance(field, fields.ListField) and isinstance(
                        field.field, fields.ObjectIdField):
                    value = map(fields.ObjectId, value)

                params[key] = value

        return params
コード例 #6
0
    def test_update(self):
        data = dict(
                type_id = self.db_types_name2id['journeys'],
                title = 'journeys'
        )
        resp = self._create(data)
        data = json.loads(resp.data)
        dashboard_id = data['data']['id']

        updated_title = data['title'] = 'journeys optimization'
        # use self user for now as we don't have another user
        updated_shared_to = data['shared_to'] = [str(self.user.id)]

        resp = self.client.put('/dashboards/' + dashboard_id, data=json.dumps(data))
        data = json.loads(resp.data)
        eq_(dashboard_id, data['data']['id'])
        eq_(updated_title, data['data']['title'])
        eq_(updated_shared_to, data['data']['shared_to'])
        eq_(updated_title, Dashboard.objects.get().title)
        eq_(fields.ObjectId(updated_shared_to[0]), Dashboard.objects.get().shared_to[0])

        for each in ['id', 'title', 'widgets']:
            assert_in(each, data['data'])
コード例 #7
0
ファイル: journey_tag.py プロジェクト: princez1214/flask
    def get_parameters(self):
        data = _get_request_data()
        params = {}
        account = parse_account(self.user, data)
        if account:
            params['account_id'] = account.id

        for param_name, param_value in data.iteritems():
            if hasattr(self.model,
                       param_name) and param_name in self.valid_parameters:

                field = getattr(self.model, param_name)
                if isinstance(field, fields.ObjectIdField):
                    param_value = fields.ObjectId(param_value)
                elif isinstance(field, fields.ListField) and isinstance(
                        field.field, fields.ObjectIdField):
                    param_value = map(fields.ObjectId, param_value)

                params[param_name] = param_value

        if request.method == 'GET':
            params.update(get_paging_params(data))

        return params