def metadata(recid, of='hd', ot=None): """Display formated record metadata.""" from invenio.legacy.bibrank.downloads_similarity import \ register_page_view_event from invenio.modules.formatter import get_output_format_content_type register_page_view_event(recid, current_user.get_id(), str(request.remote_addr)) if get_output_format_content_type(of) != 'text/html': from invenio.modules.search.views.search import \ response_formated_records return response_formated_records([recid], g.collection, of, qid=None) # Send the signal 'document viewed' record_viewed.send( current_app._get_current_object(), recid=recid, id_user=current_user.get_id(), request=request) from invenio.b2share.modules.b2deposit.edit import is_record_editable return render_template('records/metadata.html', of=of, ot=ot, editable=is_record_editable(recid))
def metadata(recid, of='hd', ot=None): """Display formated record metadata.""" from invenio.legacy.bibrank.downloads_similarity import \ register_page_view_event from invenio.modules.formatter import get_output_format_content_type register_page_view_event(recid, current_user.get_id(), str(request.remote_addr)) if get_output_format_content_type(of) != 'text/html': from invenio.modules.search.views.search import \ response_formated_records return response_formated_records([recid], g.collection, of, qid=None) # Send the signal 'document viewed' record_viewed.send(current_app._get_current_object(), recid=recid, id_user=current_user.get_id(), request=request) from invenio.b2share.modules.b2deposit.edit import is_record_editable return render_template('records/metadata.html', of=of, ot=ot, editable=is_record_editable(recid))
def test_record_access_for_edit(self): from invenio.b2share.modules.b2deposit.edit import is_record_editable,\ get_domain_admin_group current_app.config.update(PRESERVE_CONTEXT_ON_EXCEPTION=False) self.create_and_login_user("the_owner") public_record = self.make_record(open_access=True) private_record = self.make_record(open_access=False) self.assertFalse(is_record_editable(public_record)) self.assertTrue(is_record_editable(private_record)) self.remove_user() self.create_and_login_user("the_domain_admin") admin_group = get_domain_admin_group(self.metadata(True).get('domain')) self.add_current_user_to_group(admin_group) self.assertFalse(is_record_editable(public_record)) self.assertTrue(is_record_editable(private_record)) self.remove_current_user_from_group(admin_group) self.remove_user() self.create_and_login_user("the_third") self.assertFalse(is_record_editable(public_record)) self.assertFalse(is_record_editable(private_record)) self.remove_user()
def test_record_access_for_edit(self): from invenio.b2share.modules.b2deposit.edit import is_record_editable,\ get_domain_admin_group current_app.config.update(PRESERVE_CONTEXT_ON_EXCEPTION = False) self.create_and_login_user("the_owner") public_record = self.make_record(open_access=True) private_record = self.make_record(open_access=False) self.assertFalse(is_record_editable(public_record)) self.assertTrue(is_record_editable(private_record)) self.remove_user() self.create_and_login_user("the_domain_admin") admin_group = get_domain_admin_group(self.metadata(True).get('domain')) self.add_current_user_to_group(admin_group) self.assertFalse(is_record_editable(public_record)) self.assertTrue(is_record_editable(private_record)) self.remove_current_user_from_group(admin_group) self.remove_user() self.create_and_login_user("the_third") self.assertFalse(is_record_editable(public_record)) self.assertFalse(is_record_editable(private_record)) self.remove_user()