def global_settings(request): """ Storing standard AMO-wide information used in global headers, such as account links and settings. """ account_links = [] tools_links = [] context = {} tools_title = _('Tools') is_reviewer = False if request.user.is_authenticated(): amo_user = request.amo_user profile = request.user is_reviewer = acl.check_reviewer(request) account_links.append({'text': _('My Profile'), 'href': profile.get_url_path()}) if not settings.APP_PREVIEW: account_links.append({ 'text': _('My Collections'), 'href': reverse('collections.user', args=[amo_user.username])}) account_links.append({ 'text': _('Log out'), 'href': remora_url('/users/logout?to=' + urlquote(request.path)), }) if request.amo_user.is_developer: tools_links.append({'text': _('Manage My Submissions'), 'href': reverse('devhub.addons')}) tools_links += [ {'text': _('Submit a New Add-on'), 'href': reverse('devhub.submit.1')}, {'text': _('Developer Hub'), 'href': reverse('devhub.index')}, ] if is_reviewer: tools_links.append({'text': _('Editor Tools'), 'href': reverse('editors.home')}) if (acl.action_allowed(request, 'Admin', '%') or acl.action_allowed(request, 'AdminTools', 'View')): tools_links.append({'text': _('Admin Tools'), 'href': reverse('zadmin.home')}) context['amo_user'] = request.amo_user else: context['amo_user'] = AnonymousUser() context.update({'account_links': account_links, 'settings': settings, 'amo': amo, 'tools_links': tools_links, 'tools_title': tools_title, 'ADMIN_MESSAGE': get_config('site_notice'), 'collect_timings_percent': get_collect_timings(), 'is_reviewer': is_reviewer}) return context
def collection_favorite(context, collection): c = dict(context.items()) user = c['request'].amo_user is_subscribed = collection.is_subscribed(user) button_class = 'add-to-fav' if is_subscribed: button_class += ' fav' text = _('Remove from Favorites') action = remora_url('collections/unsubscribe') else: text = _('Add to Favorites') action = remora_url('collections/subscribe') c.update(locals()) c.update({'c': collection}) return c
def remora_url(context, url, lang=None, app=None, prefix=''): """Wrapper for urlresolvers.remora_url""" if lang is None: _lang = context['LANG'] if _lang: lang = translation.to_locale(_lang).replace('_', '-') if app is None: try: app = context['APP'].short except (AttributeError, KeyError): pass return urlresolvers.remora_url(url=url, lang=lang, app=app, prefix=prefix)
def global_settings(request): """ Storing standard AMO-wide information used in global headers, such as account links and settings. """ account_links = [] tools_links = [] context = {} tools_title = _('Tools') is_reviewer = False if request.user.is_authenticated() and hasattr(request, 'amo_user'): amo_user = request.amo_user profile = request.user.get_profile() is_reviewer = acl.check_reviewer(request) account_links.append({'text': _('My Profile'), 'href': profile.get_url_path()}) if amo_user.is_artist: account_links.append({'text': _('My Themes'), 'href': profile.get_user_url('themes')}) account_links.append({'text': _('Account Settings'), 'href': reverse('users.edit')}) if not settings.APP_PREVIEW: account_links.append({ 'text': _('My Collections'), 'href': reverse('collections.user', args=[amo_user.username])}) if amo_user.favorite_addons: account_links.append( {'text': _('My Favorites'), 'href': reverse('collections.detail', args=[amo_user.username, 'favorites'])}) account_links.append({ 'text': _('Log out'), 'href': remora_url('/users/logout?to=' + urlquote(request.path)), }) if request.amo_user.is_developer: tools_links.append({'text': _('Manage My Submissions'), 'href': reverse('devhub.addons')}) tools_links += [ {'text': _('Submit a New Add-on'), 'href': reverse('devhub.submit.1')}, {'text': _('Submit a New Theme'), 'href': reverse('devhub.themes.submit')}, {'text': _('Developer Hub'), 'href': reverse('devhub.index')}, ] if is_reviewer: tools_links.append({'text': _('Editor Tools'), 'href': reverse('editors.home')}) if acl.action_allowed(request, 'L10nTools', 'View'): tools_links.append({'text': _('Localizer Tools'), 'href': '/localizers'}) if (acl.action_allowed(request, 'Admin', '%') or acl.action_allowed(request, 'AdminTools', 'View')): tools_links.append({'text': _('Admin Tools'), 'href': reverse('zadmin.home')}) context['amo_user'] = request.amo_user else: context['amo_user'] = AnonymousUser() context.update({'account_links': account_links, 'settings': settings, 'amo': amo, 'tools_links': tools_links, 'tools_title': tools_title, 'ADMIN_MESSAGE': get_config('site_notice'), 'collect_timings_percent': get_collect_timings(), 'is_reviewer': is_reviewer}) return context
def global_settings(request): """ Storing standard AMO-wide information used in global headers, such as account links and settings. """ account_links = [] tools_links = [] context = {} tools_title = _('Tools') if request.user.is_authenticated() and hasattr(request, 'amo_user'): amo_user = request.amo_user account_links.append({ 'text': _('My Profile'), 'href': request.user.get_profile().get_url_path(), }) account_links.append({'text': _('Account Settings'), 'href': reverse('users.edit')}) if not settings.APP_PREVIEW: account_links.append({ 'text': _('My Collections'), 'href': reverse('collections.user', args=[amo_user.username])}) if amo_user.favorite_addons: account_links.append( {'text': _('My Favorites'), 'href': reverse('collections.detail', args=[amo_user.username, 'favorites'])}) account_links.append({ 'text': _('Log out'), 'href': remora_url('/users/logout?to=' + urlquote(request.path)), }) if request.amo_user.is_developer: tools_links.append({'text': _('Manage My Add-ons'), 'href': reverse('devhub.addons')}) tools_links.append({'text': _('Submit a New Add-on'), 'href': reverse('devhub.submit.1')}) if waffle.flag_is_active(request, 'submit-personas'): # TODO(cvan)(fligtar): Do we want this here? tools_links.append({'text': _('Submit a New Theme'), 'href': reverse('devhub.themes.submit')}) tools_links.append({'text': _('Developer Hub'), 'href': reverse('devhub.index')}) if acl.check_reviewer(request): tools_links.append({'text': _('Editor Tools'), 'href': reverse('editors.home')}) if acl.action_allowed(request, 'L10nTools', 'View'): tools_links.append({'text': _('Localizer Tools'), 'href': '/localizers'}) if (acl.action_allowed(request, 'Admin', '%') or acl.action_allowed(request, 'AdminTools', 'View')): tools_links.append({'text': _('Admin Tools'), 'href': reverse('zadmin.home')}) context['amo_user'] = request.amo_user else: context['amo_user'] = AnonymousUser() context.update({'account_links': account_links, 'settings': settings, 'amo': amo, 'tools_links': tools_links, 'tools_title': tools_title, 'ADMIN_MESSAGE': get_config('site_notice'), 'collect_timings_percent': get_collect_timings()}) return context
def global_settings(request): """ Storing standard AMO-wide information used in global headers, such as account links and settings. """ account_links = [] tools_links = [] context = {} tools_title = _("Tools") is_reviewer = False if request.user.is_authenticated() and hasattr(request, "amo_user"): amo_user = request.amo_user profile = request.user.get_profile() is_reviewer = acl.check_reviewer(request) account_links.append({"text": _("My Profile"), "href": profile.get_url_path()}) if amo_user.is_artist: account_links.append({"text": _("My Themes"), "href": profile.get_user_url("themes")}) account_links.append({"text": _("Account Settings"), "href": reverse("users.edit")}) if not settings.APP_PREVIEW: account_links.append( {"text": _("My Collections"), "href": reverse("collections.user", args=[amo_user.username])} ) if amo_user.favorite_addons: account_links.append( { "text": _("My Favorites"), "href": reverse("collections.detail", args=[amo_user.username, "favorites"]), } ) account_links.append({"text": _("Log out"), "href": remora_url("/users/logout?to=" + urlquote(request.path))}) if request.amo_user.is_developer: tools_links.append({"text": _("Manage My Submissions"), "href": reverse("devhub.addons")}) tools_links += [ {"text": _("Submit a New Add-on"), "href": reverse("devhub.submit.1")}, {"text": _("Submit a New Theme"), "href": reverse("devhub.themes.submit")}, {"text": _("Developer Hub"), "href": reverse("devhub.index")}, ] if is_reviewer: tools_links.append({"text": _("Editor Tools"), "href": reverse("editors.home")}) if acl.action_allowed(request, "L10nTools", "View"): tools_links.append({"text": _("Localizer Tools"), "href": "/localizers"}) if acl.action_allowed(request, "Admin", "%") or acl.action_allowed(request, "AdminTools", "View"): tools_links.append({"text": _("Admin Tools"), "href": reverse("zadmin.home")}) context["amo_user"] = request.amo_user else: context["amo_user"] = AnonymousUser() context.update( { "account_links": account_links, "settings": settings, "amo": amo, "tools_links": tools_links, "tools_title": tools_title, "ADMIN_MESSAGE": get_config("site_notice"), "collect_timings_percent": get_collect_timings(), "is_reviewer": is_reviewer, } ) return context
def global_settings(request): """ Storing standard AMO-wide information used in global headers, such as account links and settings. """ account_links = [] tools_links = [] context = {} tools_title = _('Tools') is_reviewer = False if request.user.is_authenticated(): amo_user = request.amo_user profile = request.user is_reviewer = (acl.check_addons_reviewer(request) or acl.check_personas_reviewer(request)) account_links.append({'text': _('My Profile'), 'href': profile.get_url_path()}) if amo_user.is_artist: account_links.append({'text': _('My Themes'), 'href': profile.get_user_url('themes')}) account_links.append({'text': _('Account Settings'), 'href': reverse('users.edit')}) account_links.append({ 'text': _('My Collections'), 'href': reverse('collections.user', args=[amo_user.username])}) if amo_user.favorite_addons: account_links.append( {'text': _('My Favorites'), 'href': reverse('collections.detail', args=[amo_user.username, 'favorites'])}) account_links.append({ 'text': _('Log out'), 'href': remora_url('/users/logout?to=' + urlquote(request.path)), }) if request.amo_user.is_developer: tools_links.append({'text': _('Manage My Submissions'), 'href': reverse('devhub.addons')}) links = [ {'text': _('Submit a New Add-on'), 'href': reverse('devhub.submit.1')}, {'text': _('Submit a New Theme'), 'href': reverse('devhub.themes.submit')}, {'text': _('Developer Hub'), 'href': reverse('devhub.index')}, ] if waffle.switch_is_active('signing-api'): links.append({'text': _('Manage API Keys'), 'href': reverse('devhub.api_key')}) tools_links += links if is_reviewer: tools_links.append({'text': _('Editor Tools'), 'href': reverse('editors.home')}) if acl.action_allowed(request, 'L10nTools', 'View'): tools_links.append({'text': _('Localizer Tools'), 'href': '/localizers'}) if (acl.action_allowed(request, 'Admin', '%') or acl.action_allowed(request, 'AdminTools', 'View')): tools_links.append({'text': _('Admin Tools'), 'href': reverse('zadmin.home')}) context['amo_user'] = request.amo_user else: context['amo_user'] = AnonymousUser() context.update({'account_links': account_links, 'settings': settings, 'amo': amo, 'tools_links': tools_links, 'tools_title': tools_title, 'ADMIN_MESSAGE': get_config('site_notice'), 'collect_timings_percent': get_collect_timings(), 'is_reviewer': is_reviewer}) return context