def test_get_not_public_journal(self): """ Teste da função controllers.get_journals() para retorna um objeto: ``Journal`` explicitanto o artibuto is_public=False. """ journal = self._makeOne({'is_public': False}) self.assertEqual(controllers.get_journals(is_public=False)[0], journal)
def test_get_not_public_journal(self): """ Teste da função controllers.get_journals() para retorna um objeto: ``Journal`` explicitanto o artibuto is_public=False. """ journal = self._make_one({'is_public': False}) self.assertEqual(controllers.get_journals(is_public=False)[0], journal)
def test_get_journal(self): """ Teste da função controllers.get_journals() para retornar um objeto: ``Journal``. """ journal = self._makeOne() self.assertEqual(controllers.get_journals()[0], journal)
def test_get_journal(self): """ Teste da função controllers.get_journals() para retornar um objeto: ``Journal``. """ journal = self._make_one() self.assertEqual(controllers.get_journals()[0], journal)
def index(): language = session.get('lang', get_locale()) news = controllers.get_latest_news_by_lang(language) tweets = controllers.get_collection_tweets() press_releases = controllers.get_press_releases({'language': language}) urls = { 'downloads': '{0}/w/accesses?collection={1}'.format( current_app.config['METRICS_URL'], current_app.config['OPAC_COLLECTION']), 'references': '{0}/w/publication/size?collection={1}'.format( current_app.config['METRICS_URL'], current_app.config['OPAC_COLLECTION']), 'other': '{0}/?collection={1}'.format( current_app.config['METRICS_URL'], current_app.config['OPAC_COLLECTION']) } context = { 'news': news, 'urls': urls, 'tweets': tweets, 'press_releases': press_releases, 'journals': controllers.get_journals(query_filter="current", order_by="-last_issue.year") } return render_template("collection/index.html", **context)
def index(): default_lang = current_app.config.get('BABEL_DEFAULT_LOCALE') language = session.get('lang', default_lang) news = controllers.get_latest_news_by_lang(language) tweets = controllers.get_collection_tweets() press_releases = controllers.get_press_releases({'language': language}) urls = { 'downloads': '{0}/w/accesses?collection={1}'.format( current_app.config['OPAC_METRICS_URL'], current_app.config['OPAC_COLLECTION']), 'references': '{0}/w/publication/size?collection={1}'.format( current_app.config['OPAC_METRICS_URL'], current_app.config['OPAC_COLLECTION']), 'other': '{0}/?collection={1}'.format( current_app.config['OPAC_METRICS_URL'], current_app.config['OPAC_COLLECTION']) } context = { 'news': news, 'urls': urls, 'tweets': tweets, 'press_releases': press_releases, 'journals': controllers.get_journals() } return render_template("collection/index.html", **context)
def test_get_journal_order_by_acronym(self): """ Teste da função controllers.get_journals() para retorna um objeto: ``Journal`` considerando a ordenação por acrônimo. """ journalC = self._makeOne({'acronym': 'revistaC'}) journalA = self._makeOne({'acronym': 'revistaA'}) journalB = self._makeOne({'acronym': 'revistaB'}) self.assertListEqual( [journal for journal in controllers.get_journals(order_by='acronym')], [journalA, journalB, journalC])
def test_get_journal_order_by_acronym(self): """ Teste da função controllers.get_journals() para retorna um objeto: ``Journal`` considerando a ordenação por acrônimo. """ journal3 = self._make_one({'acronym': 'revistaC'}) journal1 = self._make_one({'acronym': 'revistaA'}) journal2 = self._make_one({'acronym': 'revistaB'}) self.assertListEqual( [journal for journal in controllers.get_journals(order_by='acronym')], [journal1, journal2, journal3])
def collection_list(): allowed_filters = ["current", "no-current", ""] query_filter = request.args.get("status", "") if not query_filter in allowed_filters: query_filter = "" journals_list = [ controllers.get_journal_json_data(journal) for journal in controllers.get_journals(query_filter=query_filter) ] return render_template( "collection/list_journal.html", **{ 'journals_list': journals_list, 'query_filter': query_filter })
class PagesAdminView(OpacBaseAdminView): can_create = True can_edit = True edit_modal = False can_delete = True create_modal = False edit_modal = False can_view_details = True column_exclude_list = ('_id', ) column_searchable_list = ('name', 'description') column_exclude_list = [ '_id', 'content', ] column_labels = dict( name=__('Nome'), language=__('Idioma'), content=__('Conteúdo'), journal=__('Periódico'), description=__('Descrição'), created_at=__('Data de Criação'), updated_at=__('Data de Atualização'), ) column_filters = [ 'name', 'language', 'journal', 'created_at', 'updated_at', ] column_searchable_list = [ 'name', 'description', 'content', ] create_template = 'admin/pages/edit.html' edit_template = 'admin/pages/edit.html' form_overrides = dict(language=Select2Field, journal=SelectField, content=CKEditorField) form_args = dict( language=dict(choices=choices.LANGUAGES_CHOICES), journal=dict(choices=[('', '------')] + [(journal.acronym, journal.title) for journal in controllers.get_journals()]), ) form_excluded_columns = ('created_at', 'updated_at') def _content_formatter(self, context, model, name): return Markup(model.content) def _created_at_formatter(self, context, model, name): if model.created_at: return model.created_at.strftime('%Y-%m-%d %H:%M:%S') else: return '' def _updated_at_formatter(self, context, model, name): if model.updated_at: return model.updated_at.strftime('%Y-%m-%d %H:%M:%S') else: return '' column_formatters = dict( content=_content_formatter, created_at=_created_at_formatter, updated_at=_updated_at_formatter, ) def on_model_delete(self, model): # AUDITORIA: daqui para baixo tem que modularizar para que fique generico: audit_payload = { '_id': str(uuid4().hex), 'object_class_name': 'Page', 'object_pk': model._id, 'action': 'DEL', 'description': u"Foi apagado o registro do modelo: Page: (id: %s)" % model._id, } if login.current_user.is_authenticated: audit_payload['user'] = login.current_user.email audit_doc = AuditLogEntry(**audit_payload) audit_doc.save() def on_model_change(self, form, model, is_created): # é necessario definir um valor para o campo ``_id`` na criação. if is_created: model._id = str(uuid4().hex) # AUDITORIA: daqui para baixo tem que modularizar para que fique generico: audit_payload = { '_id': str(uuid4().hex), 'object_class_name': 'Page', 'object_pk': model._id, } new_content = migrate_page_content(model.content, model.language, page_name=model.name) model.content = new_content form._fields['content'].data = new_content if login.current_user.is_authenticated: audit_payload['user'] = login.current_user.email if is_created: audit_payload['action'] = 'ADD' audit_payload[ 'description'] = u'Foi criado um novo registro de Page: (id: %s)' % model._id else: audit_payload['action'] = 'UPD' audit_payload[ 'description'] = u'Foi atualizado o registro de Page: (id: %s)' % model._id # get fields data: fields_to_audit = [ 'name', 'language', 'content', 'journal', 'description' ] fields_data = { field: { 'new_value': None, 'old_value': None } for field in fields_to_audit } # percorremos os campos do MODELO (no banco) e do FORMULARIO e coletamos seus valores for field_name in fields_to_audit: if field_name in fields_to_audit: form_field_value = form._fields.get(field_name, None) # pegamos o novo valor do campo que vem no FORMULARIO form_field_value_data = form_field_value.data if form_field_value else '[NO DATA]' fields_data[field_name]['new_value'] = form_field_value_data # pegamos o antigo valor do campo que vem do MODELO no banco if is_created: fields_data[field_name]['old_value'] = '[NO DATA]' else: old_model = Pages.objects.get(pk=model._id) model_field_value_data = getattr(old_model, field_name, '[no data]') fields_data[field_name][ 'old_value'] = model_field_value_data audit_payload['fields_data'] = fields_data audit_doc = AuditLogEntry(**audit_payload) audit_doc.save()
def test_get_journal_without_itens(self): """ Testando a função controllers.get_journals() com uma coleção de Journal vazia, deve retornar uma lista vazia. """ self.assertEqual(len(controllers.get_journals()), 0)