Example #1
0
    def post(self, highlighted_text=u'', workspace=None, list_=[]):
        first_5_words = u' '.join(highlighted_text.split())
        first_5_words = u' '.join(first_5_words.split(" ")[:5])

        user = request.identity['user']

        content = []
        for elem in list_:
            type, _id = elem.split("_")
            _model = ResolveController.related_models[type]
            o = _model.query.get(ObjectId(_id))
            content.append({
                'type': type,
                'title': o.title,
                'content': _id
            })

        title = _(u'Output ') + first_5_words
        output = model.Output(
            _owner=user._id,
            _category=workspace,
            title=title,
            content=content,
            public=True,
            visible=True,
            html=highlighted_text
        )
        return dict(_id=str(output._id), title=title)
Example #2
0
    def test_document_content_validator(self):
        with test_context(self.app):
            model.Output(
                title="FakeOutput",
                content="Content of the fake output",
                html='',
                _owner=self._get_user('*****@*****.**')._id,
                _category=self._get_category('Area 1')._id,
                _precondition=None,
            )
            DBSession.flush()
            output = model.Output.query.get(title="FakeOutput")

            validator = DocumentContentValidator()
            try:
                res = validator._validate_python([
                    {
                        'type': "output",
                        'content': str(output._id),
                        'title': output.title
                    },
                ])
            except ValidationError:
                assert False
            else:
                assert True
Example #3
0
 def test_output_exist_validator(self):
     model.Output(title="Fake_output",
                  html='',
                  _owner=self._get_user('*****@*****.**')._id,
                  _workspace=self._get_workspace('Area 1')._id,
                  _precondition=None)
     DBSession.flush()
     output = model.Output.query.get(title="Fake_output")
     validator = OutputExistValidator()
     try:
         res = validator._validate_python(str(output._id))
     except ValidationError:
         assert False
     else:
         assert True
Example #4
0
    def post(self, title, content, category, precondition, **kw):
        content = content or []

        #  Check content precondition element
        error = self._validate_precondition_with_qa(precondition, content)
        if error:
            return error

        user = request.identity['user']
        model.Output(_owner=user._id,
                     _category=ObjectId(category),
                     _precondition=ObjectId(precondition),
                     title=title,
                     content=content,
                     public=True,
                     visible=True,
                     html=kw['ks_editor'])
        return dict(errors=None)
Example #5
0
    def test_document_content_validator(self):
        with test_context(self.app):
            model.Output(
                title="FakeOutput",
                html='',
                _owner=self._get_user('*****@*****.**')._id,
                _workspace=self._get_workspace('Area 1')._id,
                _precondition=None,
            )
            DBSession.flush()
            output = model.Output.query.get(title="FakeOutput")

            validator = DocumentContentValidator()
            try:
                res = validator._validate_python('#{%s}' % str(output.hash))
            except ValidationError:
                assert False
            else:
                assert True