Disable Sunbird; bug 617989. Stuff to know:
- This should be accompanied by an apache rewrite for /:lang/sunbird/.* to /:lang/sunbird/ - This doesn't strip anything out of /media/
This commit is contained in:
Родитель
ef93e5ac6a
Коммит
f97aec2bad
|
@ -610,6 +610,7 @@
|
||||||
"model": "applications.application",
|
"model": "applications.application",
|
||||||
"fields": {
|
"fields": {
|
||||||
"guid": "{718e30fb-e89b-41dd-9da7-e25a45638b28}",
|
"guid": "{718e30fb-e89b-41dd-9da7-e25a45638b28}",
|
||||||
|
"supported": "0",
|
||||||
"modified": "2008-06-17 08:29:01",
|
"modified": "2008-06-17 08:29:01",
|
||||||
"created": "2007-03-05 13:09:26"
|
"created": "2007-03-05 13:09:26"
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,7 +5,6 @@
|
||||||
amo.FIREFOX: 'http://getfirefox.com/?src=amo',
|
amo.FIREFOX: 'http://getfirefox.com/?src=amo',
|
||||||
amo.THUNDERBIRD: 'http://www.mozillamessaging.com/',
|
amo.THUNDERBIRD: 'http://www.mozillamessaging.com/',
|
||||||
amo.MOBILE: 'http://www.mozilla.com/m/',
|
amo.MOBILE: 'http://www.mozilla.com/m/',
|
||||||
amo.SUNBIRD: 'http://www.mozilla.org/projects/calendar/sunbird/',
|
|
||||||
amo.SEAMONKEY: 'http://www.seamonkey-project.org/',
|
amo.SEAMONKEY: 'http://www.seamonkey-project.org/',
|
||||||
}[APP] %}
|
}[APP] %}
|
||||||
|
|
||||||
|
|
|
@ -179,7 +179,7 @@ class TestAddonManager(amo.tests.TestCase):
|
||||||
eq_(f.count(), 3)
|
eq_(f.count(), 3)
|
||||||
eq_(sorted(x.id for x in f),
|
eq_(sorted(x.id for x in f),
|
||||||
[2464, 7661, 15679])
|
[2464, 7661, 15679])
|
||||||
f = Addon.objects.featured(amo.SUNBIRD)
|
f = Addon.objects.featured(amo.THUNDERBIRD)
|
||||||
assert not f.exists()
|
assert not f.exists()
|
||||||
|
|
||||||
|
|
||||||
|
@ -1278,7 +1278,7 @@ class TestAddonModelsFeatured(amo.tests.TestCase):
|
||||||
eq_(sorted(f), [1001, 1003, 2464, 3481, 7661, 15679])
|
eq_(sorted(f), [1001, 1003, 2464, 3481, 7661, 15679])
|
||||||
f = Addon.featured_random(amo.FIREFOX, 'fr')
|
f = Addon.featured_random(amo.FIREFOX, 'fr')
|
||||||
eq_(sorted(f), [1001, 1003, 2464, 7661, 15679])
|
eq_(sorted(f), [1001, 1003, 2464, 7661, 15679])
|
||||||
f = Addon.featured_random(amo.SUNBIRD, 'en-US')
|
f = Addon.featured_random(amo.THUNDERBIRD, 'en-US')
|
||||||
eq_(f, [])
|
eq_(f, [])
|
||||||
|
|
||||||
def test_featured_random(self):
|
def test_featured_random(self):
|
||||||
|
|
|
@ -1045,13 +1045,13 @@ class TestDetailPage(amo.tests.TestCase):
|
||||||
If current add-on's type is unsupported by app, redirect to an
|
If current add-on's type is unsupported by app, redirect to an
|
||||||
app that supports it.
|
app that supports it.
|
||||||
"""
|
"""
|
||||||
# Sunbird can't do Personas => redirect
|
# Thunderbird can't do search engines
|
||||||
prefixer = amo.urlresolvers.get_url_prefix()
|
prefixer = amo.urlresolvers.get_url_prefix()
|
||||||
prefixer.app = amo.SUNBIRD.short
|
prefixer.app = amo.THUNDERBIRD.short
|
||||||
response = self.client.get(reverse('addons.detail', args=['a15663']),
|
response = self.client.get(reverse('addons.detail', args=['a4594']),
|
||||||
follow=False)
|
follow=False)
|
||||||
eq_(response.status_code, 301)
|
eq_(response.status_code, 301)
|
||||||
eq_(response['Location'].find(amo.SUNBIRD.short), -1)
|
eq_(response['Location'].find(amo.THUNDERBIRD.short), -1)
|
||||||
assert (response['Location'].find(amo.FIREFOX.short) >= 0)
|
assert (response['Location'].find(amo.FIREFOX.short) >= 0)
|
||||||
|
|
||||||
def test_compatible_app_redirect(self):
|
def test_compatible_app_redirect(self):
|
||||||
|
|
|
@ -790,7 +790,6 @@ class SearchTest(ESTestCase):
|
||||||
"""
|
"""
|
||||||
# The following URLs should yield zero results.
|
# The following URLs should yield zero results.
|
||||||
zeros = (
|
zeros = (
|
||||||
'/en-US/sunbird/api/1.2/search/yslow',
|
|
||||||
'yslow category:alerts',
|
'yslow category:alerts',
|
||||||
'jsonview version:1.0',
|
'jsonview version:1.0',
|
||||||
'firebug type:dictionary',
|
'firebug type:dictionary',
|
||||||
|
|
|
@ -31,6 +31,7 @@
|
||||||
"model": "applications.application",
|
"model": "applications.application",
|
||||||
"fields": {
|
"fields": {
|
||||||
"guid": "{718e30fb-e89b-41dd-9da7-e25a45638b28}",
|
"guid": "{718e30fb-e89b-41dd-9da7-e25a45638b28}",
|
||||||
|
"supported": "0",
|
||||||
"modified": "2008-06-17 08:29:01",
|
"modified": "2008-06-17 08:29:01",
|
||||||
"created": "2007-03-05 13:09:26"
|
"created": "2007-03-05 13:09:26"
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,7 +19,8 @@ class Command(BaseCommand):
|
||||||
|
|
||||||
def handle(self, *args, **kw):
|
def handle(self, *args, **kw):
|
||||||
apps = {}
|
apps = {}
|
||||||
for id, guid in Application.objects.values_list('id', 'guid'):
|
for id, guid in (Application.objects.values_list('id', 'guid')
|
||||||
|
.exclude(supported=0)):
|
||||||
apps[id] = dict(guid=guid, versions=[],
|
apps[id] = dict(guid=guid, versions=[],
|
||||||
name=amo.APPS_ALL[id].short)
|
name=amo.APPS_ALL[id].short)
|
||||||
versions = (AppVersion.objects.values_list('application', 'version')
|
versions = (AppVersion.objects.values_list('application', 'version')
|
||||||
|
|
|
@ -7,6 +7,7 @@ from versions import compare
|
||||||
class Application(amo.models.ModelBase):
|
class Application(amo.models.ModelBase):
|
||||||
|
|
||||||
guid = models.CharField(max_length=255, default='')
|
guid = models.CharField(max_length=255, default='')
|
||||||
|
supported = models.BooleanField(default=1)
|
||||||
# We never reference these translated fields, so stop loading them.
|
# We never reference these translated fields, so stop loading them.
|
||||||
# name = TranslatedField()
|
# name = TranslatedField()
|
||||||
# shortname = TranslatedField()
|
# shortname = TranslatedField()
|
||||||
|
|
|
@ -59,6 +59,8 @@ class SEAMONKEY(App):
|
||||||
|
|
||||||
|
|
||||||
class SUNBIRD(App):
|
class SUNBIRD(App):
|
||||||
|
"""This application is retired and should not be used on the site. It
|
||||||
|
remains as there are still some sunbird add-ons in the db."""
|
||||||
id = 52
|
id = 52
|
||||||
short = 'sunbird'
|
short = 'sunbird'
|
||||||
shortername = 'sb'
|
shortername = 'sb'
|
||||||
|
@ -128,9 +130,8 @@ class MOZILLA(App):
|
||||||
platforms = 'desktop' # DESKTOP_PLATFORMS (set in constants.platforms)
|
platforms = 'desktop' # DESKTOP_PLATFORMS (set in constants.platforms)
|
||||||
|
|
||||||
# UAs will attempt to match in this order
|
# UAs will attempt to match in this order
|
||||||
APP_DETECT = (ANDROID, MOBILE, THUNDERBIRD, SEAMONKEY, SUNBIRD, FIREFOX)
|
APP_DETECT = (ANDROID, MOBILE, THUNDERBIRD, SEAMONKEY, FIREFOX)
|
||||||
APP_USAGE = _apps = (FIREFOX, THUNDERBIRD, ANDROID,
|
APP_USAGE = _apps = (FIREFOX, THUNDERBIRD, ANDROID, MOBILE, SEAMONKEY)
|
||||||
MOBILE, SEAMONKEY, SUNBIRD)
|
|
||||||
APPS = dict((app.short, app) for app in _apps)
|
APPS = dict((app.short, app) for app in _apps)
|
||||||
APP_IDS = dict((app.id, app) for app in _apps)
|
APP_IDS = dict((app.id, app) for app in _apps)
|
||||||
APP_GUIDS = dict((app.guid, app) for app in _apps)
|
APP_GUIDS = dict((app.guid, app) for app in _apps)
|
||||||
|
|
|
@ -11,8 +11,8 @@
|
||||||
|
|
||||||
<h3>{{ _('What is this website?') }}</h3>
|
<h3>{{ _('What is this website?') }}</h3>
|
||||||
<p>{% trans %}addons.mozilla.org, commonly known as "AMO", is Mozilla's official
|
<p>{% trans %}addons.mozilla.org, commonly known as "AMO", is Mozilla's official
|
||||||
site for add-ons to Mozilla software, such as Firefox, Thunderbird, SeaMonkey,
|
site for add-ons to Mozilla software, such as Firefox, Thunderbird, and SeaMonkey.
|
||||||
and Sunbird. Add-ons let you add new features and change the way your browser
|
Add-ons let you add new features and change the way your browser
|
||||||
or application works. Take a look around and explore the thousands of ways to
|
or application works. Take a look around and explore the thousands of ways to
|
||||||
customize the way you do things online.{% endtrans %}</p>
|
customize the way you do things online.{% endtrans %}</p>
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,48 @@
|
||||||
|
{% extends "impala/base_shared.html" %}
|
||||||
|
|
||||||
|
{% block title %}
|
||||||
|
{{ page_title(_('Sunbird')) }}
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
{% block extrahead %}
|
||||||
|
<style>
|
||||||
|
p {
|
||||||
|
margin-bottom: 1em;
|
||||||
|
}
|
||||||
|
.numbered li::-moz-list-number {
|
||||||
|
font-size: 2em;
|
||||||
|
border: 1px solid black;
|
||||||
|
}
|
||||||
|
#message {
|
||||||
|
padding-left: 250px;
|
||||||
|
min-height: 256px;
|
||||||
|
background: url(/media/img/app-icons/256/sunbird.png) no-repeat left 30%;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
<section id="message" class="copy prose">
|
||||||
|
<h1>{{ _('Sunbird has retired') }}</h1>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
{% trans %}
|
||||||
|
Development on the Sunbird project has halted and its final release was
|
||||||
|
on March 30, 2010. We've been proud to host Sunbird add-ons on this site
|
||||||
|
but as the project is no longer maintained we have disabled our support
|
||||||
|
for the add-ons.
|
||||||
|
{% endtrans %}
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
{% trans tb_url="https://www.mozilla.org/en-US/thunderbird/",
|
||||||
|
lightning_url="https://addons.mozilla.org/thunderbird/2313/" %}
|
||||||
|
We recommend upgrading to <a href="{{ tb_url }}">Thunderbird</a> and <a href="{{ lightning_url }}">Lightning</a>.
|
||||||
|
{% endtrans %}
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<a href="http://www.mozilla.org/projects/calendar/sunbird/">{{ _('Read more about Sunbird') }}</a>
|
||||||
|
</p>
|
||||||
|
</section>
|
||||||
|
{% endblock %}
|
|
@ -14,4 +14,6 @@ urlpatterns = patterns('',
|
||||||
{'template': 'pages/dev_faq.html'}, name='pages.dev_faq'),
|
{'template': 'pages/dev_faq.html'}, name='pages.dev_faq'),
|
||||||
url('^review_guide$', direct_to_template,
|
url('^review_guide$', direct_to_template,
|
||||||
{'template': 'pages/review_guide.html'}, name='pages.review_guide'),
|
{'template': 'pages/review_guide.html'}, name='pages.review_guide'),
|
||||||
|
url('^sunbird$', direct_to_template,
|
||||||
|
{'template': 'pages/sunbird.html'}, name='pages.sunbird'),
|
||||||
)
|
)
|
||||||
|
|
|
@ -41,7 +41,6 @@ min_version.update({
|
||||||
amo.FIREFOX: tuplize(amo.FIREFOX.min_display_version),
|
amo.FIREFOX: tuplize(amo.FIREFOX.min_display_version),
|
||||||
amo.THUNDERBIRD: tuplize(amo.THUNDERBIRD.min_display_version),
|
amo.THUNDERBIRD: tuplize(amo.THUNDERBIRD.min_display_version),
|
||||||
amo.SEAMONKEY: tuplize(amo.SEAMONKEY.min_display_version),
|
amo.SEAMONKEY: tuplize(amo.SEAMONKEY.min_display_version),
|
||||||
amo.SUNBIRD: tuplize(amo.SUNBIRD.min_display_version),
|
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -173,8 +173,8 @@ class SearchTest(SphinxTestCase):
|
||||||
"""
|
"""
|
||||||
|
|
||||||
eq_(query('', limit=1, app=amo.MOBILE.id)[0].id, 11399)
|
eq_(query('', limit=1, app=amo.MOBILE.id)[0].id, 11399)
|
||||||
# Poor sunbird, nobody likes them.
|
# Poor seamonkey, nobody likes them.
|
||||||
eq_(len(query('deli', app=amo.SUNBIRD.id)), 0)
|
eq_(len(query('deli', app=amo.SEAMONKEY.id)), 0)
|
||||||
|
|
||||||
def test_category_filter(self):
|
def test_category_filter(self):
|
||||||
"""This tests filtering by category."""
|
"""This tests filtering by category."""
|
||||||
|
|
|
@ -967,8 +967,7 @@ class TestSearchSuggestions(TestAjaxSearch):
|
||||||
self.search_applications('q=firefox', [amo.FIREFOX])
|
self.search_applications('q=firefox', [amo.FIREFOX])
|
||||||
self.search_applications('q=thunder', [amo.THUNDERBIRD])
|
self.search_applications('q=thunder', [amo.THUNDERBIRD])
|
||||||
self.search_applications('q=monkey', [amo.SEAMONKEY])
|
self.search_applications('q=monkey', [amo.SEAMONKEY])
|
||||||
self.search_applications('q=sun', [amo.SUNBIRD])
|
self.search_applications('q=bird', [amo.THUNDERBIRD])
|
||||||
self.search_applications('q=bird', [amo.THUNDERBIRD, amo.SUNBIRD])
|
|
||||||
self.search_applications('q=mobile', [amo.MOBILE])
|
self.search_applications('q=mobile', [amo.MOBILE])
|
||||||
self.search_applications('q=mozilla', [])
|
self.search_applications('q=mozilla', [])
|
||||||
|
|
||||||
|
|
|
@ -230,7 +230,7 @@ ADMIN_MEDIA_PREFIX = '/admin-media/'
|
||||||
SUPPORTED_NONAPPS = ('admin', 'apps', 'blocklist', 'developers', 'editors',
|
SUPPORTED_NONAPPS = ('admin', 'apps', 'blocklist', 'developers', 'editors',
|
||||||
'img', 'jsi18n', 'localizers', 'media',
|
'img', 'jsi18n', 'localizers', 'media',
|
||||||
'marketplace-experiments', 'payments', 'robots.txt',
|
'marketplace-experiments', 'payments', 'robots.txt',
|
||||||
'statistics', 'services')
|
'statistics', 'services', 'sunbird')
|
||||||
DEFAULT_APP = 'firefox'
|
DEFAULT_APP = 'firefox'
|
||||||
|
|
||||||
# paths that don't require a locale prefix
|
# paths that don't require a locale prefix
|
||||||
|
|
Двоичный файл не отображается.
После Ширина: | Высота: | Размер: 84 KiB |
|
@ -0,0 +1,2 @@
|
||||||
|
-- disable sunbird; bug 617989
|
||||||
|
UPDATE applications SET supported=0 WHERE id=52 LIMIT 1;
|
|
@ -12,8 +12,6 @@
|
||||||
{{ heading(_('<img alt="Firefox" src="{0}"> Mobile Add-ons'), 'firefox') }}
|
{{ heading(_('<img alt="Firefox" src="{0}"> Mobile Add-ons'), 'firefox') }}
|
||||||
{% elif request.APP == amo.SEAMONKEY %}
|
{% elif request.APP == amo.SEAMONKEY %}
|
||||||
{{ heading(_('<img alt="SeaMonkey" src="{0}"> Add-ons'), 'seamonkey') }}
|
{{ heading(_('<img alt="SeaMonkey" src="{0}"> Add-ons'), 'seamonkey') }}
|
||||||
{% elif request.APP == amo.SUNBIRD %}
|
|
||||||
{{ heading(_('<img alt="Sunbird" src="{0}"> Add-ons'), 'sunbird') }}
|
|
||||||
{% else %}
|
{% else %}
|
||||||
{{ heading(_('<img alt="" src="{0}"> Add-ons'), 'generic') }}
|
{{ heading(_('<img alt="" src="{0}"> Add-ons'), 'generic') }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
|
@ -13,8 +13,6 @@
|
||||||
{{ heading('Firefox Mobile', _('Mobile Add-ons'), 'firefox') }}
|
{{ heading('Firefox Mobile', _('Mobile Add-ons'), 'firefox') }}
|
||||||
{% elif request.APP == amo.SEAMONKEY %}
|
{% elif request.APP == amo.SEAMONKEY %}
|
||||||
{{ heading('SeaMonkey', _('Add-ons'), 'seamonkey') }}
|
{{ heading('SeaMonkey', _('Add-ons'), 'seamonkey') }}
|
||||||
{% elif request.APP == amo.SUNBIRD %}
|
|
||||||
{{ heading('Sunbird', _('Add-ons'), 'sunbird') }}
|
|
||||||
{% elif request.APP == amo.ANDROID %}
|
{% elif request.APP == amo.ANDROID %}
|
||||||
{{ heading('Android', _('Android Add-ons'), 'firefox') }}
|
{{ heading('Android', _('Android Add-ons'), 'firefox') }}
|
||||||
{% else %}
|
{% else %}
|
||||||
|
|
Загрузка…
Ссылка в новой задаче