本文整理汇总了Python中mkt.developers.forms.AppFormMedia.save方法的典型用法代码示例。如果您正苦于以下问题:Python AppFormMedia.save方法的具体用法?Python AppFormMedia.save怎么用?Python AppFormMedia.save使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类mkt.developers.forms.AppFormMedia
的用法示例。
在下文中一共展示了AppFormMedia.save方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: details
# 需要导入模块: from mkt.developers.forms import AppFormMedia [as 别名]
# 或者: from mkt.developers.forms.AppFormMedia import save [as 别名]
def details(request, addon_id, addon):
# Name, Slug, Summary, Description, Privacy Policy,
# Homepage URL, Support URL, Support Email.
form_basic = AppDetailsBasicForm(request.POST or None, instance=addon,
request=request)
form_cats = CategoryForm(request.POST or None, product=addon,
request=request)
form_devices = DeviceTypeForm(request.POST or None, addon=addon)
form_icon = AppFormMedia(request.POST or None, request.FILES or None,
instance=addon, request=request)
form_previews = PreviewFormSet(request.POST or None, prefix='files',
queryset=addon.get_previews())
# For empty webapp-locale (or no-locale) fields that have
# form-locale values, duplicate them to satisfy the requirement.
form_locale = request.COOKIES.get("current_locale", "")
app_locale = to_language(addon.default_locale)
for name, value in request.POST.items():
if value:
if name.endswith(form_locale):
basename = name[:-len(form_locale)]
else:
basename = name + '_'
othername = basename + app_locale
if not request.POST.get(othername, None):
request.POST[othername] = value
forms = {
'form_basic': form_basic,
'form_devices': form_devices,
'form_cats': form_cats,
'form_icon': form_icon,
'form_previews': form_previews,
}
if request.POST and all(f.is_valid() for f in forms.itervalues()):
addon = form_basic.save(addon)
form_devices.save(addon)
form_cats.save()
form_icon.save(addon)
for preview in form_previews.forms:
preview.save(addon)
tasks.generate_image_assets.delay(addon)
checklist = AppSubmissionChecklist.objects.get(addon=addon)
if waffle.switch_is_active('disabled-payments'):
checklist.update(details=True, payments=True)
addon.mark_done()
return redirect('submit.app.done', addon.app_slug)
else:
checklist.update(details=True)
return redirect('submit.app.payments', addon.app_slug)
ctx = {
'step': 'details',
'addon': addon,
}
ctx.update(forms)
return jingo.render(request, 'submit/details.html', ctx)
示例2: details
# 需要导入模块: from mkt.developers.forms import AppFormMedia [as 别名]
# 或者: from mkt.developers.forms.AppFormMedia import save [as 别名]
def details(request, addon_id, addon):
# Name, Slug, Description, Privacy Policy, Homepage URL, Support URL,
# Support Email.
form_basic = AppDetailsBasicForm(request.POST or None, instance=addon, request=request)
form_cats = CategoryForm(request.POST or None, product=addon, request=request)
form_icon = AppFormMedia(request.POST or None, request.FILES or None, instance=addon, request=request)
form_previews = PreviewFormSet(request.POST or None, prefix="files", queryset=addon.get_previews())
# For empty webapp-locale (or no-locale) fields that have
# form-locale values, duplicate them to satisfy the requirement.
form_locale = request.COOKIES.get("current_locale", "")
app_locale = to_language(addon.default_locale)
for name, value in request.POST.items():
if value:
if name.endswith(form_locale):
basename = name[: -len(form_locale)]
else:
basename = name + "_"
othername = basename + app_locale
if not request.POST.get(othername, None):
request.POST[othername] = value
forms = {"form_basic": form_basic, "form_cats": form_cats, "form_icon": form_icon, "form_previews": form_previews}
if request.POST and all(f.is_valid() for f in forms.itervalues()):
addon = form_basic.save(addon)
form_cats.save()
form_icon.save(addon)
for preview in form_previews.forms:
preview.save(addon)
# If this is an incomplete app from the legacy submission flow, it may
# not have device types set yet - so assume it works everywhere.
if not addon.device_types:
for device in amo.DEVICE_TYPES:
addon.addondevicetype_set.create(device_type=device)
AppSubmissionChecklist.objects.get(addon=addon).update(details=True)
if addon.needs_payment():
# Paid apps get STATUS_NULL until payment information and content
# ratings entered.
addon.update(status=amo.STATUS_NULL, highest_status=amo.STATUS_PENDING)
# Mark as pending in special regions (i.e., China).
# By default, the column is set to pending when the row is inserted.
# But we need to set a nomination date so we know to list the app
# in the China Review Queue now (and sort it by that date too).
for region in mkt.regions.SPECIAL_REGIONS:
addon.geodata.set_nominated_date(region, save=True)
log.info(u"[Webapp:%s] Setting nomination date to " u"now for region (%s)." % (addon, region.slug))
record_action("app-submitted", request, {"app-id": addon.pk})
return redirect("submit.app.done", addon.app_slug)
ctx = {"step": "details", "addon": addon}
ctx.update(forms)
return render(request, "submit/details.html", ctx)
示例3: icon
# 需要导入模块: from mkt.developers.forms import AppFormMedia [as 别名]
# 或者: from mkt.developers.forms.AppFormMedia import save [as 别名]
def icon(self, request, *args, **kwargs):
app = self.get_object()
data_form = IconJSONForm(request.DATA)
if not data_form.is_valid():
return Response(data_form.errors, status=status.HTTP_400_BAD_REQUEST)
form = AppFormMedia(data_form.cleaned_data, request=request)
if not form.is_valid():
return Response(data_form.errors, status=status.HTTP_400_BAD_REQUEST)
form.save(app)
return Response(status=status.HTTP_200_OK)
示例4: details
# 需要导入模块: from mkt.developers.forms import AppFormMedia [as 别名]
# 或者: from mkt.developers.forms.AppFormMedia import save [as 别名]
def details(request, addon_id, addon):
# Name, Slug, Summary, Description, Privacy Policy,
# Homepage URL, Support URL, Support Email.
form_basic = AppDetailsBasicForm(request.POST or None, instance=addon,
request=request)
form_cats = CategoryFormSet(request.POST or None, addon=addon,
request=request)
form_devices = DeviceTypeForm(request.POST or None, addon=addon)
form_icon = AppFormMedia(request.POST or None, request.FILES or None,
instance=addon, request=request)
form_previews = PreviewFormSet(request.POST or None, prefix='files',
queryset=addon.previews.all())
forms = {
'form_basic': form_basic,
'form_devices': form_devices,
'form_cats': form_cats,
'form_icon': form_icon,
'form_previews': form_previews,
}
if request.POST and all(f.is_valid() for f in forms.itervalues()):
addon = form_basic.save(addon)
form_devices.save(addon)
form_cats.save()
form_icon.save(addon)
for preview in form_previews.forms:
preview.save(addon)
AppSubmissionChecklist.objects.get(addon=addon).update(details=True)
return redirect('submit.app.payments', addon.app_slug)
ctx = {
'step': 'details',
'addon': addon,
}
ctx.update(forms)
return jingo.render(request, 'submit/details.html', ctx)
示例5: details
# 需要导入模块: from mkt.developers.forms import AppFormMedia [as 别名]
# 或者: from mkt.developers.forms.AppFormMedia import save [as 别名]
def details(request, addon_id, addon):
# Name, Slug, Summary, Description, Privacy Policy,
# Homepage URL, Support URL, Support Email.
form_basic = AppDetailsBasicForm(request.POST or None, instance=addon,
request=request)
form_cats = CategoryForm(request.POST or None, product=addon,
request=request)
form_icon = AppFormMedia(request.POST or None, request.FILES or None,
instance=addon, request=request)
form_previews = PreviewFormSet(request.POST or None, prefix='files',
queryset=addon.get_previews())
# For empty webapp-locale (or no-locale) fields that have
# form-locale values, duplicate them to satisfy the requirement.
form_locale = request.COOKIES.get("current_locale", "")
app_locale = to_language(addon.default_locale)
for name, value in request.POST.items():
if value:
if name.endswith(form_locale):
basename = name[:-len(form_locale)]
else:
basename = name + '_'
othername = basename + app_locale
if not request.POST.get(othername, None):
request.POST[othername] = value
forms = {
'form_basic': form_basic,
'form_cats': form_cats,
'form_icon': form_icon,
'form_previews': form_previews,
}
if request.POST and all(f.is_valid() for f in forms.itervalues()):
addon = form_basic.save(addon)
form_cats.save()
form_icon.save(addon)
for preview in form_previews.forms:
preview.save(addon)
# If this is an incomplete app from the legacy submission flow, it may
# not have device types set yet - so assume it works everywhere.
if not addon.device_types:
for device in amo.DEVICE_TYPES:
addon.addondevicetype_set.create(device_type=device)
tasks.generate_image_assets.delay(addon)
AppSubmissionChecklist.objects.get(addon=addon).update(details=True)
make_public = (amo.PUBLIC_IMMEDIATELY
if form_basic.cleaned_data.get('publish')
else amo.PUBLIC_WAIT)
# Free apps get pushed for review.
if addon.premium_type == amo.ADDON_FREE:
# The developer doesn't want the app published immediately upon
# review.
addon.update(status=amo.STATUS_PENDING,
make_public=make_public)
else:
# Paid apps get STATUS_NULL until payment information has been
# entered.
addon.update(status=amo.STATUS_NULL,
highest_status=amo.STATUS_PENDING,
make_public=make_public)
# Mark the app as excluded in regions that don't support payments.
for region in mkt.regions.ALL_REGIONS:
if not region.has_payments:
AddonExcludedRegion.objects.get_or_create(
addon=addon, region=region.id)
return redirect('submit.app.done', addon.app_slug)
ctx = {
'step': 'details',
'addon': addon,
}
ctx.update(forms)
return jingo.render(request, 'submit/details.html', ctx)
示例6: details
# 需要导入模块: from mkt.developers.forms import AppFormMedia [as 别名]
# 或者: from mkt.developers.forms.AppFormMedia import save [as 别名]
def details(request, addon_id, addon):
# Name, Slug, Description, Privacy Policy, Homepage URL, Support URL,
# Support Email.
form_basic = AppDetailsBasicForm(request.POST or None, instance=addon,
request=request)
form_cats = CategoryForm(request.POST or None, product=addon,
request=request)
form_icon = AppFormMedia(request.POST or None, request.FILES or None,
instance=addon, request=request)
form_previews = PreviewFormSet(request.POST or None, prefix='files',
queryset=addon.get_previews())
# For empty webapp-locale (or no-locale) fields that have
# form-locale values, duplicate them to satisfy the requirement.
form_locale = request.COOKIES.get('current_locale', '')
app_locale = to_language(addon.default_locale)
for name, value in request.POST.items():
if value:
if name.endswith(form_locale):
basename = name[:-len(form_locale)]
else:
basename = name + '_'
othername = basename + app_locale
if not request.POST.get(othername, None):
request.POST[othername] = value
forms = {
'form_basic': form_basic,
'form_cats': form_cats,
'form_icon': form_icon,
'form_previews': form_previews,
}
if request.POST and all(f.is_valid() for f in forms.itervalues()):
addon = form_basic.save(addon)
form_cats.save()
form_icon.save(addon)
for preview in form_previews.forms:
preview.save(addon)
# If this is an incomplete app from the legacy submission flow, it may
# not have device types set yet - so assume it works everywhere.
if not addon.device_types:
for device in amo.DEVICE_TYPES:
addon.addondevicetype_set.create(device_type=device)
AppSubmissionChecklist.objects.get(addon=addon).update(details=True)
# `make_public` if the developer doesn't want the app published
# immediately upon review.
make_public = (amo.PUBLIC_IMMEDIATELY
if form_basic.cleaned_data.get('publish')
else amo.PUBLIC_WAIT)
if addon.premium_type == amo.ADDON_FREE:
if waffle.switch_is_active('iarc'):
# Free apps get STATUS_NULL until content ratings has been
# entered.
# TODO: set to STATUS_PENDING once app gets an IARC rating.
addon.update(make_public=make_public)
else:
addon.update(status=amo.STATUS_PENDING,
make_public=make_public)
else:
# Paid apps get STATUS_NULL until payment information and content
# ratings has been entered.
addon.update(status=amo.STATUS_NULL, make_public=make_public,
highest_status=amo.STATUS_PENDING)
record_action('app-submitted', request, {'app-id': addon.pk})
return redirect('submit.app.done', addon.app_slug)
ctx = {
'step': 'details',
'addon': addon,
}
ctx.update(forms)
return jingo.render(request, 'submit/details.html', ctx)
示例7: details
# 需要导入模块: from mkt.developers.forms import AppFormMedia [as 别名]
# 或者: from mkt.developers.forms.AppFormMedia import save [as 别名]
def details(request, addon_id, addon):
# Name, Slug, Description, Privacy Policy, Homepage URL, Support URL,
# Support Email.
form_basic = AppDetailsBasicForm(request.POST or None, instance=addon,
request=request)
form_cats = CategoryForm(request.POST or None, product=addon,
request=request)
form_icon = AppFormMedia(request.POST or None, request.FILES or None,
instance=addon, request=request)
form_previews = PreviewFormSet(request.POST or None, prefix='files',
queryset=addon.get_previews())
# For empty webapp-locale (or no-locale) fields that have
# form-locale values, duplicate them to satisfy the requirement.
form_locale = request.COOKIES.get('current_locale', '')
app_locale = to_language(addon.default_locale)
for name, value in request.POST.items():
if value:
if name.endswith(form_locale):
basename = name[:-len(form_locale)]
else:
basename = name + '_'
othername = basename + app_locale
if not request.POST.get(othername, None):
request.POST[othername] = value
forms = {
'form_basic': form_basic,
'form_cats': form_cats,
'form_icon': form_icon,
'form_previews': form_previews,
}
if request.POST and all(f.is_valid() for f in forms.itervalues()):
addon = form_basic.save(addon)
form_cats.save()
form_icon.save(addon)
for preview in form_previews.forms:
preview.save(addon)
# If this is an incomplete app from the legacy submission flow, it may
# not have device types set yet - so assume it works everywhere.
if not addon.device_types:
for device in mkt.DEVICE_TYPES:
addon.addondevicetype_set.create(device_type=device)
AppSubmissionChecklist.objects.get(addon=addon).update(details=True)
if addon.needs_payment():
# Paid apps get STATUS_NULL until payment information and content
# ratings entered.
addon.update(status=mkt.STATUS_NULL,
highest_status=mkt.STATUS_PENDING)
record_action('app-submitted', request, {'app-id': addon.pk})
return redirect('submit.app.done', addon.app_slug)
ctx = {
'step': 'details',
'addon': addon,
}
ctx.update(forms)
return render(request, 'submit/details.html', ctx)
示例8: details
# 需要导入模块: from mkt.developers.forms import AppFormMedia [as 别名]
# 或者: from mkt.developers.forms.AppFormMedia import save [as 别名]
def details(request, addon_id, addon):
# Name, Slug, Description, Privacy Policy, Homepage URL, Support URL,
# Support Email.
form_basic = AppDetailsBasicForm(request.POST or None, instance=addon,
request=request)
form_cats = CategoryForm(request.POST or None, product=addon,
request=request)
form_icon = AppFormMedia(request.POST or None, request.FILES or None,
instance=addon, request=request)
form_previews = PreviewFormSet(request.POST or None, prefix='files',
queryset=addon.get_previews())
# For empty webapp-locale (or no-locale) fields that have
# form-locale values, duplicate them to satisfy the requirement.
form_locale = request.COOKIES.get('current_locale', '')
app_locale = to_language(addon.default_locale)
for name, value in request.POST.items():
if value:
if name.endswith(form_locale):
basename = name[:-len(form_locale)]
else:
basename = name + '_'
othername = basename + app_locale
if not request.POST.get(othername, None):
request.POST[othername] = value
forms = {
'form_basic': form_basic,
'form_cats': form_cats,
'form_icon': form_icon,
'form_previews': form_previews,
}
if request.POST and all(f.is_valid() for f in forms.itervalues()):
addon = form_basic.save(addon)
form_cats.save()
form_icon.save(addon)
for preview in form_previews.forms:
preview.save(addon)
# If this is an incomplete app from the legacy submission flow, it may
# not have device types set yet - so assume it works everywhere.
if not addon.device_types:
for device in amo.DEVICE_TYPES:
addon.addondevicetype_set.create(device_type=device)
AppSubmissionChecklist.objects.get(addon=addon).update(details=True)
# `publish_type` if the developer doesn't want the app published
# immediately upon review.
publish_type = (amo.PUBLISH_IMMEDIATE
if form_basic.cleaned_data.get('publish')
else amo.PUBLISH_PRIVATE)
if addon.premium_type == amo.ADDON_FREE:
if waffle.switch_is_active('iarc'):
# Free apps get STATUS_NULL until content ratings has been
# entered.
# TODO: set to STATUS_PENDING once app gets an IARC rating.
addon.update(publish_type=publish_type)
else:
addon.update(status=amo.STATUS_PENDING,
publish_type=publish_type)
else:
# Paid apps get STATUS_NULL until payment information and content
# ratings has been entered.
addon.update(status=amo.STATUS_NULL, publish_type=publish_type,
highest_status=amo.STATUS_PENDING)
# Mark as pending in special regions (i.e., China).
# By default, the column is set to pending when the row is inserted.
# But we need to set a nomination date so we know to list the app
# in the China Review Queue now (and sort it by that date too).
for region in mkt.regions.SPECIAL_REGIONS:
addon.geodata.set_nominated_date(region, save=True)
log.info(u'[Webapp:%s] Setting nomination date to '
u'now for region (%s).' % (addon, region.slug))
record_action('app-submitted', request, {'app-id': addon.pk})
return redirect('submit.app.done', addon.app_slug)
ctx = {
'step': 'details',
'addon': addon,
}
ctx.update(forms)
return render(request, 'submit/details.html', ctx)