summaryrefslogtreecommitdiffstats
path: root/mm/kmemleak.c
AgeCommit message (Expand)Author
2019-07-12mm/kmemleak.c: change error at _write when kmemleak is disabledAndré Almeida
2019-07-12mm/kmemleak.c: fix check for softirq contextDmitry Vyukov
2019-06-05treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 333Thomas Gleixner
2019-05-06Merge branch 'core-stacktrace-for-linus' of git://git.kernel.org/pub/scm/linu...Linus Torvalds
2019-04-29mm/kmemleak: Simplify stacktrace handlingThomas Gleixner
2019-04-19mm/kmemleak.c: fix unused-function warningArnd Bergmann
2019-04-05kmemleak: powerpc: skip scanning holes in the .bss sectionCatalin Marinas
2019-02-21kmemleak: account for tagged pointers when calculating pointer rangeAndrey Konovalov
2018-12-28kmemleak: add config to select auto scanSri Krishna chowdary
2018-12-28mm, kmemleak: little optimization while scanningOscar Salvador
2018-10-31mm: remove include/linux/bootmem.hMike Rapoport
2018-10-26kmemleak: add module param to print warnings to dmesgVincent Whitchurch
2018-09-04kmemleak: always register debugfs fileVincent Whitchurch
2018-04-05mm: kernel-doc: add missing parameter descriptionsMike Rapoport
2018-04-05mm/kmemleak.c: make kmemleak_boot_config() __initDou Liyang
2018-03-28mm/kmemleak.c: wait for scan completion before disabling freeVinayak Menon
2018-01-31mm: kmemleak: remove unused hardirq.hYang Shi
2018-01-13kmemleak: allow to coexist with fault injectionDmitry Vyukov
2017-12-14mm/kmemleak.c: make cond_resched() rate-limiting more efficientAndrew Morton
2017-11-29kmemleak: add scheduling point to kmemleak_scan()Yisheng Xie
2017-11-15kmemcheck: remove annotationsLevin, Alexander (Sasha Levin)
2017-11-15kmemleak: change /sys/kernel/debug/kmemleak permissions from 0444 to 0644Konstantin Khlebnikov
2017-07-06mm: kmemleak: treat vm_struct as alternative reference to vmalloc'ed objectsCatalin Marinas
2017-07-06mm: kmemleak: factor object reference updating out of scan_block()Catalin Marinas
2017-07-06mm: kmemleak: slightly reduce the size of some structures on 64-bit architect...Catalin Marinas
2017-03-31mm: fix section name for .data..ro_after_initKees Cook
2017-03-02sched/headers: Prepare for new header dependencies before moving code to <lin...Ingo Molnar
2017-03-02sched/headers: Prepare for new header dependencies before moving code to <lin...Ingo Molnar
2017-03-02sched/headers: Prepare for new header dependencies before moving code to <lin...Ingo Molnar
2016-12-12kmemleak: fix reference to DocumentationAndreas Platschek
2016-11-11mm: kmemleak: scan .data.ro_after_initJakub Kicinski
2016-10-27mm: kmemleak: ensure that the task stack is not freed during scanningCatalin Marinas
2016-10-11mm: kmemleak: avoid using __va() on addresses that don't have a lowmem mappingCatalin Marinas
2016-07-28kmemleak: don't hang if user disables scanning earlyVegard Nossum
2016-06-24mm: prevent KASAN false positives in kmemleakDmitry Vyukov
2016-03-17mm: coalesce split stringsJoe Perches
2016-03-17mm: convert pr_warning to pr_warnJoe Perches
2016-01-14Revert "gfp: add __GFP_NOACCOUNT"Vladimir Davydov
2015-11-05mm/kmemleak.c: remove unneeded initialization of object to NULLAlexey Klimov
2015-09-10kmemleak: use seq_hex_dump() to dump buffersAndy Shevchenko
2015-09-08kmemleak: record accurate early log buffer count and report when exceededWang Kai
2015-06-24mm: kmemleak_alloc_percpu() should follow the gfp from per_alloc()Larry Finger
2015-06-24mm: kmemleak: optimise kmemleak_lock acquiring during kmemleak_scanCatalin Marinas
2015-06-24mm: kmemleak: avoid deadlock on the kmemleak object insertion error pathCatalin Marinas
2015-06-24mm: kmemleak: do not acquire scan_mutex in kmemleak_do_cleanup()Catalin Marinas
2015-06-24mm: kmemleak: fix delete_object_*() race when called on the same memory blockCatalin Marinas
2015-06-24mm: kmemleak: allow safe memory scanning during kmemleak disablingCatalin Marinas
2015-05-14gfp: add __GFP_NOACCOUNTVladimir Davydov
2015-02-13kmemleak: disable kasan instrumentation for kmemleakAndrey Ryabinin
2014-06-06mm: introduce kmemleak_update_trace()Catalin Marinas
ec69362a769c1bae9c630eda0ed4'>bbcbf12215a5ec69362a769c1bae9c630eda0ed4 (diff)
Change account suspensions to be reversible by default (#14726)
Diffstat (limited to 'app/views')
-rw-r--r--app/views/admin/accounts/show.html.haml114
1 files changed, 58 insertions, 56 deletions
diff --git a/app/views/admin/accounts/show.html.haml b/app/views/admin/accounts/show.html.haml
index e6461aad04d..2c48692b7ba 100644
--- a/app/views/admin/accounts/show.html.haml
+++ b/app/views/admin/accounts/show.html.haml
@@ -56,19 +56,21 @@
= link_to admin_action_logs_path(target_account_id: @account.id) do
.dashboard__counters__text
- if @account.local? && @account.user.nil?
- %span.neutral= t('admin.accounts.deleted')
+ = t('admin.accounts.deleted')
+ - elsif @account.memorial?
+ = t('admin.accounts.memorialized')
- elsif @account.suspended?
- %span.red= t('admin.accounts.suspended')
+ = t('admin.accounts.suspended')
- elsif @account.silenced?
- %span.red= t('admin.accounts.silenced')
+ = t('admin.accounts.silenced')
- elsif @account.local? && @account.user&.disabled?
- %span.red= t('admin.accounts.disabled')
+ = t('admin.accounts.disabled')
- elsif @account.local? && !@account.user&.confirmed?
- %span.neutral= t('admin.accounts.confirming')
+ = t('admin.accounts.confirming')
- elsif @account.local? && !@account.user_approved?
- %span.neutral= t('admin.accounts.pending')
+ = t('admin.accounts.pending')
- else
- %span.neutral= t('admin.accounts.no_limits_imposed')
+ = t('admin.accounts.no_limits_imposed')
.dashboard__counters__label= t 'admin.accounts.login_status'
- unless @account.local? && @account.user.nil?
@@ -123,19 +125,6 @@
%td= table_link_to 'refresh', t('admin.accounts.resend_confirmation.send'), resend_admin_account_confirmation_path(@account.id), method: :post if can?(:confirm, @account.user)
%tr
- %th= t('admin.accounts.login_status')
- %td
- - if @account.user&.disabled?
- = t('admin.accounts.disabled')
- - else
- = t('admin.accounts.enabled')
- %td
- - if @account.user&.disabled?
- = table_link_to 'unlock', t('admin.accounts.enable'), enable_admin_account_path(@account.id), method: :post if can?(:enable, @account.user)
- - elsif @account.user_approved?
- = table_link_to 'lock', t('admin.accounts.disable'), new_admin_account_action_path(@account.id, type: 'disable') if can?(:disable, @account.user)
-
- %tr
%th= t('simple_form.labels.defaults.locale')
%td= @account.user_locale
%td
@@ -172,49 +161,62 @@
%td
= @account.inbox_url
= fa_icon DeliveryFailureTracker.available?(@account.inbox_url) ? 'check' : 'times'
+ %td
+ = table_link_to 'search', @domain_block.present? ? t('admin.domain_blocks.view') : t('admin.accounts.view_domain'), admin_instance_path(@account.domain)
%tr
%th= t('admin.accounts.shared_inbox_url')
%td
= @account.shared_inbox_url
= fa_icon DeliveryFailureTracker.available?(@account.shared_inbox_url) ? 'check': 'times'
+ %td
+ - if @domain_block.nil?
+ = table_link_to 'ban', t('admin.domain_blocks.add_new'), new_admin_domain_block_path(_domain: @account.domain)
+
+ - if @account.suspended?
+ %hr.spacer/
+
+ %p.muted-hint= @deletion_request.present? ? t('admin.accounts.suspension_reversible_hint_html', date: content_tag(:strong, l(@deletion_request.due_at.to_date))) : t('admin.accounts.suspension_irreversible')
+
+ = link_to t('admin.accounts.undo_suspension'), unsuspend_admin_account_path(@account.id), method: :post, class: 'button' if can?(:unsuspend, @account)
- %div.action-buttons
- %div
- - if @account.local? && @account.user_approved?
- = link_to t('admin.accounts.warn'), new_admin_account_action_path(@account.id, type: 'none'), class: 'button' if can?(:warn, @account)
- - if @account.silenced?
- = link_to t('admin.accounts.undo_silenced'), unsilence_admin_account_path(@account.id), method: :post, class: 'button' if can?(:unsilence, @account)
- - elsif !@account.local? || @account.user_approved?
- = link_to t('admin.accounts.silence'), new_admin_account_action_path(@account.id, type: 'silence'), class: 'button button--destructive' if can?(:silence, @account)
-
- - if @account.local?
- - if @account.user_pending?
- = link_to t('admin.accounts.approve'), approve_admin_account_path(@account.id), method: :post, data: { confirm: t('admin.accounts.are_you_sure') }, class: 'button' if can?(:approve, @account.user)
- = link_to t('admin.accounts.reject'), reject_admin_account_path(@account.id), method: :post, data: { confirm: t('admin.accounts.are_you_sure') }, class: 'button button--destructive' if can?(:reject, @account.user)
-
- - unless @account.user_confirmed?
- = link_to t('admin.accounts.confirm'), admin_account_confirmation_path(@account.id), method: :post, class: 'button' if can?(:confirm, @account.user)
-
- - if @account.suspended?
- = link_to t('admin.accounts.undo_suspension'), unsuspend_admin_account_path(@account.id), method: :post, class: 'button' if can?(:unsuspend, @account)
- - elsif !@account.local? || @account.user_approved?
- = link_to t('admin.accounts.perform_full_suspension'), new_admin_account_action_path(@account.id, type: 'suspend'), class: 'button button--destructive' if can?(:suspend, @account)
-
- - unless @account.local?
- - if DomainBlock.rule_for(@account.domain)
- = link_to t('admin.domain_blocks.view'), admin_instance_path(@account.domain), class: 'button'
+ - if @deletion_request.present?
+ = link_to t('admin.accounts.delete'), admin_account_path(@account.id), method: :destroy, class: 'button button--destructive', data: { confirm: t('admin.accounts.are_you_sure') } if can?(:destroy, @account)
+ - else
+ %div.action-buttons
+ %div
+ - if @account.local? && @account.user_approved?
+ = link_to t('admin.accounts.warn'), new_admin_account_action_path(@account.id, type: 'none'), class: 'button' if can?(:warn, @account)
+
+ - if @account.user_disabled?
+ = link_to t('admin.accounts.enable'), enable_admin_account_path(@account.id), method: :post, class: 'button' if can?(:enable, @account.user)
+ - else
+ = link_to t('admin.accounts.disable'), new_admin_account_action_path(@account.id, type: 'disable'), class: 'button' if can?(:disable, @account.user)
+
+ - if @account.silenced?
+ = link_to t('admin.accounts.undo_silenced'), unsilence_admin_account_path(@account.id), method: :post, class: 'button' if can?(:unsilence, @account)
+ - elsif !@account.local? || @account.user_approved?
+ = link_to t('admin.accounts.silence'), new_admin_account_action_path(@account.id, type: 'silence'), class: 'button' if can?(:silence, @account)
+
+ - if @account.local?
+ - if @account.user_pending?
+ = link_to t('admin.accounts.approve'), approve_admin_account_path(@account.id), method: :post, data: { confirm: t('admin.accounts.are_you_sure') }, class: 'button' if can?(:approve, @account.user)
+ = link_to t('admin.accounts.reject'), reject_admin_account_path(@account.id), method: :post, data: { confirm: t('admin.accounts.are_you_sure') }, class: 'button button--destructive' if can?(:reject, @account.user)
+
+ - unless @account.user_confirmed?
+ = link_to t('admin.accounts.confirm'), admin_account_confirmation_path(@account.id), method: :post, class: 'button' if can?(:confirm, @account.user)
+
+ - if !@account.local? || @account.user_approved?
+ = link_to t('admin.accounts.perform_full_suspension'), new_admin_account_action_path(@account.id, type: 'suspend'), class: 'button' if can?(:suspend, @account)
+
+ %div
+ - if @account.local?
+ = link_to t('admin.accounts.reset_password'), admin_account_reset_path(@account.id), method: :create, class: 'button' if can?(:reset_password, @account.user)
+ - if @account.user&.otp_required_for_login?
+ = link_to t('admin.accounts.disable_two_factor_authentication'), admin_user_two_factor_authentication_path(@account.user.id), method: :delete, class: 'button' if can?(:disable_2fa, @account.user)
+ - if !@account.memorial? && @account.user_approved?
+ = link_to t('admin.accounts.memorialize'), memorialize_admin_account_path(@account.id), method: :post, data: { confirm: t('admin.accounts.are_you_sure') }, class: 'button button--destructive' if can?(:memorialize, @account)
- else
- = link_to t('admin.domain_blocks.add_new'), new_admin_domain_block_path(_domain: @account.domain), class: 'button button--destructive'
-
- %div
- - if @account.local?
- = link_to t('admin.accounts.reset_password'), admin_account_reset_path(@account.id), method: :create, class: 'button' if can?(:reset_password, @account.user)
- - if @account.user&.otp_required_for_login?
- = link_to t('admin.accounts.disable_two_factor_authentication'), admin_user_two_factor_authentication_path(@account.user.id), method: :delete, class: 'button' if can?(:disable_2fa, @account.user)
- - if !@account.memorial? && @account.user_approved?
- = link_to t('admin.accounts.memorialize'), memorialize_admin_account_path(@account.id), method: :post, data: { confirm: t('admin.accounts.are_you_sure') }, class: 'button button--destructive' if can?(:memorialize, @account)
- - else
- = link_to t('admin.accounts.redownload'), redownload_admin_account_path(@account.id), method: :post, class: 'button' if can?(:redownload, @account)
+ = link_to t('admin.accounts.redownload'), redownload_admin_account_path(@account.id), method: :post, class: 'button' if can?(:redownload, @account)
%hr.spacer/