Code Duplication    Length = 33-35 lines in 2 locations

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

@@ 335-369 (lines=35) @@
332
    }
333
334
335
@blueprint.post('/<uuid:user_id>/unsuspend')
336
@permission_required(UserPermission.administrate)
337
def unsuspend_account(user_id):
338
    """Unsuspend the user account."""
339
    user = _get_user_or_404(user_id)
340
341
    if not user.suspended:
342
        flash_error(
343
            gettext(
344
                "User '%(screen_name)s' is not suspended.",
345
                screen_name=user.screen_name,
346
            )
347
        )
348
        return redirect_to('.view', user_id=user.id)
349
350
    form = SuspendAccountForm(request.form)
351
    if not form.validate():
352
        return unsuspend_account_form(user.id, form)
353
354
    initiator_id = g.user.id
355
    reason = form.reason.data.strip()
356
357
    event = user_command_service.unsuspend_account(
358
        user.id, initiator_id, reason
359
    )
360
361
    user_signals.account_unsuspended.send(None, event=event)
362
363
    flash_success(
364
        gettext(
365
            "User '%(screen_name)s' has been unsuspended.",
366
            screen_name=user.screen_name,
367
        )
368
    )
369
370
    return redirect_to('.view', user_id=user.id)
371
372
@@ 273-305 (lines=33) @@
270
    }
271
272
273
@blueprint.post('/<uuid:user_id>/suspend')
274
@permission_required(UserPermission.administrate)
275
def suspend_account(user_id):
276
    """Suspend the user account."""
277
    user = _get_user_or_404(user_id)
278
279
    if user.suspended:
280
        flash_error(
281
            gettext(
282
                "User '%(screen_name)s' is already suspended.",
283
                screen_name=user.screen_name,
284
            )
285
        )
286
        return redirect_to('.view', user_id=user.id)
287
288
    form = SuspendAccountForm(request.form)
289
    if not form.validate():
290
        return suspend_account_form(user.id, form)
291
292
    initiator_id = g.user.id
293
    reason = form.reason.data.strip()
294
295
    event = user_command_service.suspend_account(user.id, initiator_id, reason)
296
297
    user_signals.account_suspended.send(None, event=event)
298
299
    flash_success(
300
        gettext(
301
            "User '%(screen_name)s' has been suspended.",
302
            screen_name=user.screen_name,
303
        )
304
    )
305
306
    return redirect_to('.view', user_id=user.id)
307
308