def test_add_staging_providers(self): populate_main('stage') providers = PreprintProvider.find() assert_equal(PreprintProvider.find().count(), len(STAGING_PREPRINT_PROVIDERS)) ids = [provider._id for provider in providers] for id in STAGING_PREPRINT_PROVIDERS: assert_in(id, ids)
def test_add_default_providers(self): populate_main(None) providers = PreprintProvider.find() assert_equal(providers.count(), len(PROD_PREPRINT_PROVIDERS)) ids = [provider._id for provider in providers] for id in PROD_PREPRINT_PROVIDERS: assert_in(id, ids) for id in set(STAGING_PREPRINT_PROVIDERS) - set( PROD_PREPRINT_PROVIDERS): assert_not_in(id, ids)
def get_queryset(self): return PreprintProvider.find(self.get_query_from_request())
def get_campaigns(): global CAMPAIGNS global CAMPAIGNS_LAST_REFRESHED logger = logging.getLogger(__name__) if not CAMPAIGNS or throttle_period_expired(CAMPAIGNS_LAST_REFRESHED, CAMPAIGN_REFRESH_THRESHOLD): # Native campaigns: PREREG and ERPC CAMPAIGNS = { 'prereg': { 'system_tag': 'prereg_challenge_campaign', 'redirect_url': furl.furl(DOMAIN).add(path='prereg/').url, 'confirmation_email_template': mails.CONFIRM_EMAIL_PREREG, 'login_type': 'native', }, 'erpc': { 'system_tag': 'erp_challenge_campaign', 'redirect_url': furl.furl(DOMAIN).add(path='erpc/').url, 'confirmation_email_template': mails.CONFIRM_EMAIL_ERPC, 'login_type': 'native', }, } # Institution Login CAMPAIGNS.update({ 'institution': { 'system_tag': 'institution_campaign', 'redirect_url': '', 'login_type': 'institution', }, }) # Proxy campaigns: Preprints, both OSF and branded ones try: preprint_providers = PreprintProvider.find(Q('_id', 'ne', None)) for provider in preprint_providers: if provider._id == 'osf': template = 'osf' name = 'OSF' url_path = 'preprints/' else: template = 'branded' name = provider.name url_path = 'preprints/{}'.format(provider._id) campaign = '{}-preprints'.format(provider._id) system_tag = '{}_preprints'.format(provider._id) CAMPAIGNS.update({ campaign: { 'system_tag': system_tag, 'redirect_url': furl.furl(DOMAIN).add(path=url_path).url, 'confirmation_email_template': mails.CONFIRM_EMAIL_PREPRINTS(template, name), 'login_type': 'proxy', 'provider': name, } }) except (NoResultsFound or QueryException or ImproperConfigurationError) as e: logger.warn('An error has occurred during campaign initialization: {}', e) CAMPAIGNS_LAST_REFRESHED = datetime.utcnow() return CAMPAIGNS
def main(): provider = PreprintProvider.find()[0] provider.subjects_acceptable = create_subject_rules() provider.save()