[go: up one dir, main page]

User Contribution Mapping - Display warning instead of allowing to download empty CSV

Problem

When a user goes to a group where all of the users have been reassigned, they can still download an empty CSV.

Proposal

Instead of allowing users to download an empty CSV file, let's improve the user experience by showing a flash message that says something like "There are no placeholders to reassign".

From !175573 (comment 2289573049) - Some very rough code:

diff --git a/app/services/import/source_users/generate_csv_service.rb b/app/services/import/source_users/generate_csv_service.rb
index 115600200af3..950beca54c12 100644
--- a/app/services/import/source_users/generate_csv_service.rb
+++ b/app/services/import/source_users/generate_csv_service.rb
@@ -27,6 +27,7 @@ def execute
         # We use :owner_access here because it's shared between GroupPolicy and
         # NamespacePolicy.
         return error_invalid_permissions unless current_user.can?(:owner_access, namespace)
+        return error_no_source_users if import_source_users.empty?
 
         ServiceResponse.success(payload: csv_data)
       end
@@ -56,16 +57,26 @@ def csv_data
       end
 
       def import_source_users
+        return [] # for demonstration purposes
+
         statuses = Import::SourceUser::STATUSES.slice(*Import::SourceUser::REASSIGNABLE_STATUSES).values
         namespace.import_source_users.by_statuses(statuses)
       end
 
+
       def error_invalid_permissions
         ServiceResponse.error(
           message: s_('Import|You do not have permission to view import source users for this namespace'),
           reason: :forbidden
         )
       end
+
+      def error_no_source_users
+        ServiceResponse.error(
+          message: 'There are no source users, but written better',
+          reason: :no_source_users
+        )
+      end
     end
   end
 end

CleanShot_2025-01-09_at_16.58.56