def content_ratings_edit(request, addon_id, addon): initial = {} try: app_info = addon.iarc_info initial['submission_id'] = app_info.submission_id initial['security_code'] = app_info.security_code except IARCInfo.DoesNotExist: pass form = IARCGetAppInfoForm(data=request.POST or None, initial=initial) if request.method == 'POST' and form.is_valid(): try: form.save(addon) messages.success(request, _('Content ratings successfully saved.')) return redirect(addon.get_dev_url('ratings')) except django_forms.ValidationError: pass # Fall through to show the form error. with amo.utils.no_translation(addon.default_locale): addon_delocalized = Addon.objects.get(pk=addon.pk) return jingo.render( request, 'developers/apps/ratings/ratings_edit.html', { 'addon': addon, 'app_name': addon_delocalized.name, 'form': form, 'now': datetime.now().strftime('%Y-%m-%d %H:%M:%S') })
def content_ratings_edit(request, addon_id, addon): initial = {} try: app_info = addon.iarc_info initial['submission_id'] = app_info.submission_id initial['security_code'] = app_info.security_code except IARCInfo.DoesNotExist: pass form = IARCGetAppInfoForm(data=request.POST or None, initial=initial) if request.method == 'POST' and form.is_valid(): try: form.save(addon) return redirect(addon.get_dev_url('ratings')) except django_forms.ValidationError: pass # Fall through to show the form error. # Save some information for _ratings_success_msg. if not 'ratings_edit' in request.session: request.session['ratings_edit'] = {} request.session['ratings_edit'][addon.id] = { 'app_status': addon.status, 'rating_modified': addon.last_rated_time() } request.session.modified = True return jingo.render( request, 'developers/apps/ratings/ratings_edit.html', { 'addon': addon, 'app_name': get_iarc_app_title(addon), 'form': form, 'now': datetime.now().strftime('%Y-%m-%d %H:%M:%S') })
def content_ratings_edit(request, addon_id, addon): initial = {} try: app_info = addon.iarc_info initial['submission_id'] = app_info.submission_id initial['security_code'] = app_info.security_code except IARCInfo.DoesNotExist: pass messages.debug(request, "DEBUG mode on; you may use IARC id 0 with any code") form = IARCGetAppInfoForm(data=request.POST or None, initial=initial, app=addon) if request.method == 'POST' and form.is_valid(): try: form.save() return redirect(addon.get_dev_url('ratings')) except django_forms.ValidationError: pass # Fall through to show the form error. # Save some information for _ratings_success_msg. if 'ratings_edit' not in request.session: request.session['ratings_edit'] = {} last_rated = addon.last_rated_time() request.session['ratings_edit'][str(addon.id)] = { 'app_status': addon.status, 'rating_modified': last_rated.isoformat() if last_rated else None } request.session.modified = True ctx = { 'addon': addon, 'app_name': get_iarc_app_title(addon), 'form': form, 'company': addon.latest_version.developer_name, 'now': datetime.now().strftime('%Y-%m-%d %H:%M:%S') } if waffle.switch_is_active('iarc-upgrade-v2'): try: iarc_request = addon.iarc_request outdated = (datetime.now() - iarc_request.created > timedelta(hours=1)) if outdated: # IARC request outdated. Re-create. iarc_request.delete() iarc_request = IARCRequest.objects.create(app=addon, uuid=uuid.uuid4()) except IARCRequest.DoesNotExist: # No IARC request exists. Create. iarc_request = IARCRequest.objects.create(app=addon, uuid=uuid.uuid4()) ctx['iarc_request_id'] = iarc_request.uuid return render(request, 'developers/apps/ratings/ratings_edit.html', ctx)
def content_ratings_edit(request, addon_id, addon): initial = {} try: app_info = addon.iarc_info initial['submission_id'] = app_info.submission_id initial['security_code'] = app_info.security_code except IARCInfo.DoesNotExist: pass messages.debug(request, "DEBUG mode on; you may use IARC id 0 with any code") form = IARCGetAppInfoForm(data=request.POST or None, initial=initial, app=addon) if request.method == 'POST' and form.is_valid(): try: form.save() return redirect(addon.get_dev_url('ratings')) except django_forms.ValidationError: pass # Fall through to show the form error. # Save some information for _ratings_success_msg. if 'ratings_edit' not in request.session: request.session['ratings_edit'] = {} last_rated = addon.last_rated_time() request.session['ratings_edit'][str(addon.id)] = { 'app_status': addon.status, 'rating_modified': last_rated.isoformat() if last_rated else None } request.session.modified = True ctx = { 'addon': addon, 'app_name': get_iarc_app_title(addon), 'form': form, 'company': addon.latest_version.developer_name, 'now': datetime.now().strftime('%Y-%m-%d %H:%M:%S') } if waffle.switch_is_active('iarc-upgrade-v2'): try: iarc_request = addon.iarc_request outdated = (datetime.now() - iarc_request.created > timedelta(hours=1)) if outdated: # IARC request outdated. Re-create. iarc_request.delete() iarc_request = IARCRequest.objects.create( app=addon, uuid=uuid.uuid4()) except IARCRequest.DoesNotExist: # No IARC request exists. Create. iarc_request = IARCRequest.objects.create( app=addon, uuid=uuid.uuid4()) ctx['iarc_request_id'] = unicode(uuid.UUID(iarc_request.uuid)) return render(request, 'developers/apps/ratings/ratings_edit.html', ctx)
def content_ratings(self, request, *args, **kwargs): app = self.get_object() form = IARCGetAppInfoForm(data=request.DATA, app=app) if form.is_valid(): try: form.save(app) return Response(status=status.HTTP_201_CREATED) except django_forms.ValidationError: pass return Response(form.errors, status=status.HTTP_400_BAD_REQUEST)
def content_ratings_edit(request, addon_id, addon): initial = {} try: app_info = addon.iarc_info initial['submission_id'] = app_info.submission_id initial['security_code'] = app_info.security_code except IARCInfo.DoesNotExist: pass form = IARCGetAppInfoForm(data=request.POST or None, initial=initial, app=addon) if request.method == 'POST' and form.is_valid(): try: form.save() return redirect(addon.get_dev_url('ratings')) except django_forms.ValidationError: pass # Fall through to show the form error. # Save some information for _ratings_success_msg. if not 'ratings_edit' in request.session: request.session['ratings_edit'] = {} last_rated = addon.last_rated_time() request.session['ratings_edit'][str(addon.id)] = { 'app_status': addon.status, 'rating_modified': last_rated.isoformat() if last_rated else None } request.session.modified = True return render( request, 'developers/apps/ratings/ratings_edit.html', { 'addon': addon, 'app_name': get_iarc_app_title(addon), 'form': form, # Force double escaping of developer name. If this has HTML # entities we want the escaped version to be passed to IARC. # See bug 962362. 'company': jinja2.escape( unicode(jinja2.escape(addon.latest_version.developer_name))), 'now': datetime.now().strftime('%Y-%m-%d %H:%M:%S') })
def content_ratings(self, request, *args, **kwargs): app = self.get_object() if waffle.switch_is_active('iarc-upgrade-v2'): form = IARCV2ExistingCertificateForm(data=request.data, app=app) else: form = IARCGetAppInfoForm(data=request.data, app=app) if form.is_valid(): try: form.save(app) return Response(status=status.HTTP_201_CREATED) except django_forms.ValidationError: pass return Response(form.errors, status=status.HTTP_400_BAD_REQUEST)
def content_ratings_edit(request, addon_id, addon): form = IARCGetAppInfoForm(request.POST or None) if request.method == 'POST' and form.is_valid(): try: form.save(addon) messages.success(request, _('Content ratings successfully saved.')) return redirect(addon.get_dev_url('ratings')) except django_forms.ValidationError: pass # Fall through to show the form error. return jingo.render( request, 'developers/apps/ratings/ratings_edit.html', { 'addon': addon, 'form': form, })
def content_ratings_edit(request, addon_id, addon): initial = {} try: app_info = addon.iarc_info initial["submission_id"] = app_info.submission_id initial["security_code"] = app_info.security_code except IARCInfo.DoesNotExist: pass messages.debug(request, "DEBUG mode on; you may use IARC id 0 with any code") form = IARCGetAppInfoForm(data=request.POST or None, initial=initial, app=addon) if request.method == "POST" and form.is_valid(): try: form.save() return redirect(addon.get_dev_url("ratings")) except django_forms.ValidationError: pass # Fall through to show the form error. # Save some information for _ratings_success_msg. if "ratings_edit" not in request.session: request.session["ratings_edit"] = {} last_rated = addon.last_rated_time() request.session["ratings_edit"][str(addon.id)] = { "app_status": addon.status, "rating_modified": last_rated.isoformat() if last_rated else None, } request.session.modified = True return render( request, "developers/apps/ratings/ratings_edit.html", { "addon": addon, "app_name": get_iarc_app_title(addon), "form": form, "company": addon.latest_version.developer_name, "now": datetime.now().strftime("%Y-%m-%d %H:%M:%S"), }, )
def content_ratings_edit(request, addon_id, addon): initial = {} try: app_info = addon.iarc_info initial['submission_id'] = app_info.submission_id initial['security_code'] = app_info.security_code except IARCInfo.DoesNotExist: pass messages.debug(request, "DEBUG mode on; you may use IARC id 0 with any code") form = IARCGetAppInfoForm(data=request.POST or None, initial=initial, app=addon) if request.method == 'POST' and form.is_valid(): try: form.save() return redirect(addon.get_dev_url('ratings')) except django_forms.ValidationError: pass # Fall through to show the form error. # Save some information for _ratings_success_msg. if 'ratings_edit' not in request.session: request.session['ratings_edit'] = {} last_rated = addon.last_rated_time() request.session['ratings_edit'][str(addon.id)] = { 'app_status': addon.status, 'rating_modified': last_rated.isoformat() if last_rated else None } request.session.modified = True return render( request, 'developers/apps/ratings/ratings_edit.html', { 'addon': addon, 'app_name': get_iarc_app_title(addon), 'form': form, 'company': addon.latest_version.developer_name, 'now': datetime.now().strftime('%Y-%m-%d %H:%M:%S') })
def content_ratings_edit(request, addon_id, addon): initial = {} try: app_info = addon.iarc_info initial['submission_id'] = app_info.submission_id initial['security_code'] = app_info.security_code except IARCInfo.DoesNotExist: pass form = IARCGetAppInfoForm(data=request.POST or None, initial=initial, app=addon) if request.method == 'POST' and form.is_valid(): try: form.save() return redirect(addon.get_dev_url('ratings')) except django_forms.ValidationError: pass # Fall through to show the form error. # Save some information for _ratings_success_msg. if not 'ratings_edit' in request.session: request.session['ratings_edit'] = {} last_rated = addon.last_rated_time() request.session['ratings_edit'][addon.id] = { 'app_status': addon.status, 'rating_modified': last_rated.isoformat() if last_rated else None } request.session.modified = True return render(request, 'developers/apps/ratings/ratings_edit.html', {'addon': addon, 'app_name': get_iarc_app_title(addon), 'form': form, # Force double escaping of developer name. If this has HTML # entities we want the escaped version to be passed to IARC. # See bug 962362. 'company': jinja2.escape(unicode( jinja2.escape(addon.latest_version.developer_name))), 'now': datetime.now().strftime('%Y-%m-%d %H:%M:%S')})
def content_ratings_edit(request, addon_id, addon): initial = {} try: app_info = addon.iarc_info initial['submission_id'] = app_info.submission_id initial['security_code'] = app_info.security_code except IARCInfo.DoesNotExist: pass messages.debug(request, "DEBUG mode on; you may use IARC id 0 with any code") form = IARCGetAppInfoForm(data=request.POST or None, initial=initial, app=addon) if request.method == 'POST' and form.is_valid(): try: form.save() return redirect(addon.get_dev_url('ratings')) except django_forms.ValidationError: pass # Fall through to show the form error. # Save some information for _ratings_success_msg. if 'ratings_edit' not in request.session: request.session['ratings_edit'] = {} last_rated = addon.last_rated_time() request.session['ratings_edit'][str(addon.id)] = { 'app_status': addon.status, 'rating_modified': last_rated.isoformat() if last_rated else None } request.session.modified = True return render(request, 'developers/apps/ratings/ratings_edit.html', {'addon': addon, 'app_name': get_iarc_app_title(addon), 'form': form, 'company': addon.latest_version.developer_name, 'now': datetime.now().strftime('%Y-%m-%d %H:%M:%S')})
def content_ratings_edit(request, addon_id, addon): initial = {} try: app_info = addon.iarc_info initial['submission_id'] = app_info.submission_id initial['security_code'] = app_info.security_code except IARCInfo.DoesNotExist: pass form = IARCGetAppInfoForm(data=request.POST or None, initial=initial) if request.method == 'POST' and form.is_valid(): try: form.save(addon) return redirect(addon.get_dev_url('ratings')) except django_forms.ValidationError: pass # Fall through to show the form error. with amo.utils.no_translation(addon.default_locale): addon_delocalized = Addon.objects.get(pk=addon.pk) # If dev gets rating thru IARC tool, JS will redirect. Use session to know # whether to display a success message when hitting the summary page. request.session['ratings_last_modified'] = None if addon.is_rated(): request.session['ratings_last_modified'] = ( addon.content_ratings.order_by('-modified')[0].modified ) return jingo.render( request, 'developers/apps/ratings/ratings_edit.html', { 'addon': addon, 'app_name': addon_delocalized.name, 'form': form, 'now': datetime.now().strftime('%Y-%m-%d %H:%M:%S') })