4444 AppFormBasic , AppFormDetails )
4545from mkt .developers .models import ActivityLog , SubmitStep
4646from mkt .developers import perf
47+ from mkt .submit .decorators import submit_step
4748from editors .helpers import get_position
4849from files .models import File , FileUpload , Platform
4950from files .utils import parse_addon
@@ -295,7 +296,7 @@ def paypal_setup_bounce(request, addon_id, addon, webapp):
295296 if not addon .paypal_id :
296297 messages .error (request , 'We need a PayPal email before continuing.' )
297298 return redirect (addon .get_dev_url ('paypal_setup' ))
298- paypal_url = paypal .get_permission_url (addon , 'payments ' ,
299+ paypal_url = paypal .get_permission_url (addon , 'management ' ,
299300 ['REFUND' ,
300301 'ACCESS_BASIC_PERSONAL_DATA' ,
301302 'ACCESS_ADVANCED_PERSONAL_DATA' ])
@@ -320,15 +321,28 @@ def paypal_setup_confirm(request, addon_id, addon, webapp):
320321
321322
322323@write
323- @dev_required (webapp = True )
324+ @dev_required (webapp = True , skip_submit_check = True )
324325def acquire_refund_permission (request , addon_id , addon , webapp = False ):
325326 """This is the callback from Paypal."""
327+ # Set up our redirects.
328+ if request .GET .get ('dest' , '' ) == 'submission' :
329+ on_good = reverse ('submit.app.payments.confirm' ,
330+ args = [addon .app_slug ])
331+ on_error = reverse ('submit.app.payments.paypal' ,
332+ args = [addon .app_slug ])
333+ show_good_msgs = False
334+ else :
335+ # The management pages are the default.
336+ on_good = addon .get_dev_url ('paypal_setup_confirm' )
337+ on_error = addon .get_dev_url ('paypal_setup_bounce' )
338+ show_good_msgs = True
339+
326340 if 'request_token' not in request .GET :
327341 paypal_log .debug ('User did not approve permissions for'
328342 ' addon: %s' % addon_id )
329343 messages .error (request , 'You will need to accept the permissions '
330344 'to continue.' )
331- return redirect (addon . get_dev_url ( 'paypal_setup_bounce' ) )
345+ return redirect (on_error )
332346
333347 paypal_log .debug ('User approved permissions for addon: %s' % addon_id )
334348
@@ -366,9 +380,10 @@ def acquire_refund_permission(request, addon_id, addon, webapp=False):
366380 paypal_log .debug ('AddonPremium saved with token: %s' % addonpremium .pk )
367381 amo .log (amo .LOG .EDIT_PROPERTIES , addon )
368382
369- messages .success (request , 'Please confirm the data we '
370- 'received from PayPal.' )
371- return redirect (addon .get_dev_url ('paypal_setup_confirm' ))
383+ if show_good_msgs :
384+ messages .success (request , 'Please confirm the data we '
385+ 'received from PayPal.' )
386+ return redirect (on_good )
372387# End of new paypal stuff.
373388
374389
0 commit comments