Code Duplication    Length = 34-36 lines in 2 locations

byceps/blueprints/admin/user/views.py 2 locations

@@ 346-381 (lines=36) @@
343
    }
344
345
346
@blueprint.post('/<uuid:user_id>/unsuspend')
347
@permission_required('user.administrate')
348
def unsuspend_account(user_id):
349
    """Unsuspend the user account."""
350
    user = _get_user_or_404(user_id)
351
352
    if not user.suspended:
353
        flash_error(
354
            gettext(
355
                "User '%(screen_name)s' is not suspended.",
356
                screen_name=user.screen_name,
357
            )
358
        )
359
        return redirect_to('.view', user_id=user.id)
360
361
    form = SuspendAccountForm(request.form)
362
    if not form.validate():
363
        return unsuspend_account_form(user.id, form)
364
365
    initiator_id = g.user.id
366
    reason = form.reason.data.strip()
367
368
    event = user_command_service.unsuspend_account(
369
        user.id, initiator_id, reason
370
    )
371
372
    user_signals.account_unsuspended.send(None, event=event)
373
374
    flash_success(
375
        gettext(
376
            "User '%(screen_name)s' has been unsuspended.",
377
            screen_name=user.screen_name,
378
        )
379
    )
380
381
    return redirect_to('.view', user_id=user.id)
382
383
384
@blueprint.get('/<uuid:user_id>/delete')
@@ 285-318 (lines=34) @@
282
    }
283
284
285
@blueprint.post('/<uuid:user_id>/suspend')
286
@permission_required('user.administrate')
287
def suspend_account(user_id):
288
    """Suspend the user account."""
289
    user = _get_user_or_404(user_id)
290
291
    if user.suspended:
292
        flash_error(
293
            gettext(
294
                "User '%(screen_name)s' is already suspended.",
295
                screen_name=user.screen_name,
296
            )
297
        )
298
        return redirect_to('.view', user_id=user.id)
299
300
    form = SuspendAccountForm(request.form)
301
    if not form.validate():
302
        return suspend_account_form(user.id, form)
303
304
    initiator_id = g.user.id
305
    reason = form.reason.data.strip()
306
307
    event = user_command_service.suspend_account(user.id, initiator_id, reason)
308
309
    user_signals.account_suspended.send(None, event=event)
310
311
    flash_success(
312
        gettext(
313
            "User '%(screen_name)s' has been suspended.",
314
            screen_name=user.screen_name,
315
        )
316
    )
317
318
    return redirect_to('.view', user_id=user.id)
319
320
321
@blueprint.get('/<uuid:user_id>/unsuspend')