Skip to content
This repository has been archived by the owner on Mar 15, 2018. It is now read-only.

Commit

Permalink
remove preload test plan feature (bug 1164223)
Browse files Browse the repository at this point in the history
  • Loading branch information
ngokevin committed Nov 9, 2015
1 parent 5958b57 commit 398cecc
Show file tree
Hide file tree
Showing 18 changed files with 7 additions and 629 deletions.
48 changes: 0 additions & 48 deletions mkt/developers/forms.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
# -*- coding: utf-8 -*-
import json
import mimetypes
import os
from datetime import datetime

Expand Down Expand Up @@ -1200,53 +1199,6 @@ def save(self, *args, **kwargs):
return rval


class PreloadTestPlanForm(happyforms.Form):
agree = forms.BooleanField(
widget=forms.CheckboxInput,
label=_lazy(
u'Please consider my app as a candidate to be pre-loaded on a '
u'Firefox OS device. I agree to the terms and conditions outlined '
u'above. I understand that this document is not a commitment to '
u'pre-load my app.'
))
test_plan = forms.FileField(
label=_lazy(u'Upload Your Test Plan (.pdf, .xls under 2.5MB)'),
widget=forms.FileInput(attrs={'class': 'button'}))

def clean(self):
"""Validate test_plan file."""
content_types = [
'application/pdf',
'application/vnd.pdf',
'application/ms-excel',
'application/vnd.ms-excel',
'application/vnd.openxmlformats-officedocument.spreadsheetml.'
'sheet'
]
max_upload_size = 2621440 # 2.5MB

if 'test_plan' not in self.files:
raise forms.ValidationError(_('Test plan required.'))

file = self.files['test_plan']
content_type = mimetypes.guess_type(file.name)[0]

if content_type in content_types:
if file._size > max_upload_size:
msg = _('File too large. Keep size under %s. Current size %s.')
msg = msg % (filesizeformat(max_upload_size),
filesizeformat(file._size))
self._errors['test_plan'] = self.error_class([msg])
raise forms.ValidationError(msg)
else:
msg = (_('Invalid file type {0}. Only {1} files are supported.')
.format(content_type, ', '.join(content_types)))
self._errors['test_plan'] = self.error_class([msg])
raise forms.ValidationError(msg)

return self.cleaned_data


class IARCGetAppInfoForm(happyforms.Form):
submission_id = forms.CharField()
security_code = forms.CharField(max_length=10)
Expand Down
37 changes: 0 additions & 37 deletions mkt/developers/models.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import json
import os
import string
import uuid
from copy import copy
Expand All @@ -22,7 +21,6 @@
PROVIDER_CHOICES)
from mkt.ratings.models import Review
from mkt.site.models import ManagerBase, ModelBase
from mkt.site.storage_utils import private_storage, storage_is_remote
from mkt.tags.models import Tag
from mkt.users.models import UserForeignKey, UserProfile
from mkt.versions.models import Version
Expand Down Expand Up @@ -193,41 +191,6 @@ class Meta:
db_table = 'user_inapp_keys'


class PreloadTestPlan(ModelBase):
addon = models.ForeignKey('webapps.Webapp')
last_submission = models.DateTimeField(auto_now_add=True)
filename = models.CharField(max_length=60)
status = models.PositiveSmallIntegerField(default=mkt.STATUS_PUBLIC)

class Meta:
db_table = 'preload_test_plans'
ordering = ['-last_submission']

@property
def preload_test_plan_url(self):
if storage_is_remote():
return private_storage.url(self.preload_test_plan_path)
else:
host = (settings.PRIVATE_MIRROR_URL if self.addon.is_disabled
else settings.LOCAL_MIRROR_URL)
return os.path.join(host, str(self.addon.id), self.filename)

@property
def preload_test_plan_path(self):
return os.path.join(settings.ADDONS_PATH, str(self.addon_id),
self.filename)


# When an app is deleted we need to remove the preload test plan.
def preload_cleanup(*args, **kwargs):
instance = kwargs.get('instance')
PreloadTestPlan.objects.filter(addon=instance).delete()


models.signals.post_delete.connect(preload_cleanup, sender=Webapp,
dispatch_uid='webapps_preload_cleanup')


class AppLog(ModelBase):
"""
This table is for indexing the activity log by app.
Expand Down
38 changes: 0 additions & 38 deletions mkt/developers/templates/developers/apps/preload/home.html

This file was deleted.

13 changes: 0 additions & 13 deletions mkt/developers/templates/developers/apps/preload/home_help.html

This file was deleted.

46 changes: 0 additions & 46 deletions mkt/developers/templates/developers/apps/preload/submit.html

This file was deleted.

38 changes: 0 additions & 38 deletions mkt/developers/templates/developers/apps/status.html
Original file line number Diff line number Diff line change
Expand Up @@ -296,44 +296,6 @@ <h2 id="low-memory-devices">{{ _("Low-Memory Devices") }}</h2>
</section>
{% endif %}

{% if waffle.switch('preload-apps') %}
<section id="preload">
<h2>{{ _('Pre-Installed App Status') }}</h2>
<a class="help" href="{{ addon.get_dev_url('preload_home') }}"></a>

<div class="version island c">
<p>
{% if test_plan %}
{% trans last_submission=test_plan.last_submission|datetime %}
<strong class="submitted">Application Submitted</strong> on {{ last_submission }}
{% endtrans %}
{% else %}
<strong class="not-submitted">{{ _('Not Submitted') }}</strong>
{% endif %}

{% if outdated_test_plan %}
<span class="outdated">{{ _('New version of the test plan available') }}</span>
{% endif %}
</p>
{% if test_plan %}
<p><a class="test-plan-download" href="{{ test_plan.preload_test_plan_url }}" download>
{{ _('View your most recently submitted test plan') }}</a></p>
{% endif %}
<p class="listing-footer">
{% if test_plan %}
{%- trans lnk_url=addon.get_dev_url('preload_' + next_step_suffix) %}
<a href="{{ lnk_url }}">Update your test plan</a>
{% endtrans -%}
{% else %}
{%- trans lnk_url=addon.get_dev_url('preload_' + next_step_suffix) %}
<a href="{{ lnk_url }}">Learn how</a> to get your app pre-installed on Firefox OS devices
{% endtrans -%}
{% endif %}
</p>
</div>
</section>
{% endif %}

{% if check_addon_ownership(request, addon, dev=True) %}
{% set is_disabled = addon.disabled_by_user and addon.status != mkt.STATUS_DISABLED %}
<section>
Expand Down
15 changes: 1 addition & 14 deletions mkt/developers/tests/test_models.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,10 @@
import mkt.site.tests
from mkt.constants.payments import PROVIDER_BANGO, PROVIDER_REFERENCE
from mkt.developers.models import (ActivityLog, AddonPaymentAccount,
CantCancel, PaymentAccount, PreloadTestPlan,
CantCancel, PaymentAccount,
SolitudeSeller)
from mkt.developers.providers import get_provider
from mkt.site.fixtures import fixture
from mkt.site.utils import app_factory
from mkt.users.models import UserProfile
from mkt.webapps.models import Webapp

Expand Down Expand Up @@ -214,15 +213,3 @@ def test_update_account_details(self):

self.bango_patcher.api.by_url(res.uri).patch.assert_called_with(
data={'vendorName': 'new vendor name'})


class TestPreloadTestPlan(mkt.site.tests.TestCase):

def setUp(self):
self.app = app_factory()
self.preload = self.app.preloadtestplan_set.create(filename='test.pdf')

def test_delete_cascade(self):
eq_(self.preload.addon, self.app)
self.app.delete()
eq_(PreloadTestPlan.objects.count(), 0)

0 comments on commit 398cecc

Please sign in to comment.