From 3e8593ab2ba7bba0ca50233bf5b7fb9662c4e493 Mon Sep 17 00:00:00 2001 From: Rodrigo Tomonari Date: Thu, 21 Mar 2024 19:09:24 -0300 Subject: [PATCH 1/6] Add imported columns --- .../20240321205619_add_imported_to_merge_requests.rb | 9 +++++++++ db/migrate/20240321210636_add_imported_to_notes.rb | 9 +++++++++ db/migrate/20240321210710_add_imported_to_issues.rb | 9 +++++++++ db/migrate/20240321210746_add_imported_to_epics.rb | 9 +++++++++ db/schema_migrations/20240321205619 | 1 + db/schema_migrations/20240321210636 | 1 + db/schema_migrations/20240321210710 | 1 + db/schema_migrations/20240321210746 | 1 + 8 files changed, 40 insertions(+) create mode 100644 db/migrate/20240321205619_add_imported_to_merge_requests.rb create mode 100644 db/migrate/20240321210636_add_imported_to_notes.rb create mode 100644 db/migrate/20240321210710_add_imported_to_issues.rb create mode 100644 db/migrate/20240321210746_add_imported_to_epics.rb create mode 100644 db/schema_migrations/20240321205619 create mode 100644 db/schema_migrations/20240321210636 create mode 100644 db/schema_migrations/20240321210710 create mode 100644 db/schema_migrations/20240321210746 diff --git a/db/migrate/20240321205619_add_imported_to_merge_requests.rb b/db/migrate/20240321205619_add_imported_to_merge_requests.rb new file mode 100644 index 00000000000000..b339b676e8ee78 --- /dev/null +++ b/db/migrate/20240321205619_add_imported_to_merge_requests.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +class AddImportedToMergeRequests < Gitlab::Database::Migration[2.2] + milestone '16.11' + + def change + add_column :merge_requests, :imported, :boolean, default: false, null: false + end +end diff --git a/db/migrate/20240321210636_add_imported_to_notes.rb b/db/migrate/20240321210636_add_imported_to_notes.rb new file mode 100644 index 00000000000000..94a0df052cbbb3 --- /dev/null +++ b/db/migrate/20240321210636_add_imported_to_notes.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +class AddImportedToNotes < Gitlab::Database::Migration[2.2] + milestone '16.11' + + def change + add_column :notes, :imported, :boolean, default: false, null: false + end +end diff --git a/db/migrate/20240321210710_add_imported_to_issues.rb b/db/migrate/20240321210710_add_imported_to_issues.rb new file mode 100644 index 00000000000000..ff35eb508076fc --- /dev/null +++ b/db/migrate/20240321210710_add_imported_to_issues.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +class AddImportedToIssues < Gitlab::Database::Migration[2.2] + milestone '16.11' + + def change + add_column :issues, :imported, :boolean, default: false, null: false + end +end diff --git a/db/migrate/20240321210746_add_imported_to_epics.rb b/db/migrate/20240321210746_add_imported_to_epics.rb new file mode 100644 index 00000000000000..89ee250295720b --- /dev/null +++ b/db/migrate/20240321210746_add_imported_to_epics.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +class AddImportedToEpics < Gitlab::Database::Migration[2.2] + milestone '16.11' + + def change + add_column :epics, :imported, :boolean, default: false, null: false + end +end diff --git a/db/schema_migrations/20240321205619 b/db/schema_migrations/20240321205619 new file mode 100644 index 00000000000000..7380086880bd52 --- /dev/null +++ b/db/schema_migrations/20240321205619 @@ -0,0 +1 @@ +6e7a14e6023b360c2015c75e7aa0686859c61a5b92dcfb57c63290cdec7835b0 \ No newline at end of file diff --git a/db/schema_migrations/20240321210636 b/db/schema_migrations/20240321210636 new file mode 100644 index 00000000000000..f50944053ab7d2 --- /dev/null +++ b/db/schema_migrations/20240321210636 @@ -0,0 +1 @@ +d9d090c29d48470ceb1801d86c5986896ba53b99e3533fe6edb0426476ac0504 \ No newline at end of file diff --git a/db/schema_migrations/20240321210710 b/db/schema_migrations/20240321210710 new file mode 100644 index 00000000000000..220185a9ffaaf7 --- /dev/null +++ b/db/schema_migrations/20240321210710 @@ -0,0 +1 @@ +bfd3d4a6e73aaab699fd570ba4408d28d1e08a22f76621dcbf1589cfd0775e09 \ No newline at end of file diff --git a/db/schema_migrations/20240321210746 b/db/schema_migrations/20240321210746 new file mode 100644 index 00000000000000..1baaf6ed3df571 --- /dev/null +++ b/db/schema_migrations/20240321210746 @@ -0,0 +1 @@ +b75de49dae2c4a2127b9ce50a874ad585589dc64e8590292bd85a386f4b4e0bb \ No newline at end of file -- GitLab From cbbbd0bef3d10b23cd80fe4df4259c967b3da609 Mon Sep 17 00:00:00 2001 From: Rodrigo Tomonari Date: Thu, 28 Mar 2024 09:57:54 -0300 Subject: [PATCH 2/6] Flag imported resources in Direct Transfer and file base imports --- app/models/concerns/importable.rb | 3 --- lib/gitlab/import_export/base/relation_factory.rb | 2 ++ 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/app/models/concerns/importable.rb b/app/models/concerns/importable.rb index 4d2707b08abdda..227a817df49d80 100644 --- a/app/models/concerns/importable.rb +++ b/app/models/concerns/importable.rb @@ -5,7 +5,4 @@ module Importable attr_accessor :importing alias_method :importing?, :importing - - attr_accessor :imported - alias_method :imported?, :imported end diff --git a/lib/gitlab/import_export/base/relation_factory.rb b/lib/gitlab/import_export/base/relation_factory.rb index c3021f034cd578..efb9b916301179 100644 --- a/lib/gitlab/import_export/base/relation_factory.rb +++ b/lib/gitlab/import_export/base/relation_factory.rb @@ -180,6 +180,8 @@ def importable_class_name def imported_object if existing_or_new_object.respond_to?(:importing) existing_or_new_object.importing = true + + existing_or_new_object.imported = true if existing_or_new_object.respond_to?(:imported) end existing_or_new_object -- GitLab From 8112d61c7288f298aa13f39e28336e9ac05c102f Mon Sep 17 00:00:00 2001 From: Rodrigo Tomonari Date: Wed, 10 Apr 2024 19:34:43 -0300 Subject: [PATCH 3/6] Add badges to frontend --- .../components/notes/abuse_report_note.vue | 1 + .../components/design_destroyer.vue | 5 +++ .../components/design_notes/design_note.vue | 1 + .../components/toolbar/index.vue | 6 ++++ .../graphql/fragments/design.fragment.graphql | 1 + .../fragments/design_note.fragment.graphql | 1 + .../design_management/pages/design/index.vue | 1 + .../issues/show/components/app.vue | 7 +++++ .../issues/show/components/issue_header.vue | 6 ++++ .../issues/show/components/sticky_header.vue | 6 ++++ app/assets/javascripts/issues/show/index.js | 1 + .../components/sticky_header.vue | 6 ++++ .../notes/components/note_header.vue | 6 ++++ .../notes/components/noteable_note.vue | 2 ++ .../pages/projects/merge_requests/page.js | 2 ++ .../snippets/components/snippet_header.vue | 1 + .../components/notes/system_note.vue | 1 + .../show/components/issuable_header.vue | 7 +++++ .../queries/snippet/snippet.query.graphql | 1 + .../types/design_management/design_type.rb | 5 +++ app/graphql/types/notes/note_type.rb | 4 +++ app/graphql/types/snippet_type.rb | 4 +++ app/helpers/issuables_helper.rb | 3 +- app/helpers/merge_requests_helper.rb | 1 + app/models/synthetic_note.rb | 3 +- app/views/events/_event.html.haml | 2 ++ .../projects/merge_requests/_mr_box.html.haml | 2 ++ .../20240410165610_add_imported_to_events.rb | 9 ++++++ ...20240410194217_add_imported_to_snippets.rb | 31 +++++++++++++++++++ ...d_imported_to_design_management_designs.rb | 9 ++++++ db/schema_migrations/20240410165610 | 1 + db/schema_migrations/20240410194217 | 1 + db/schema_migrations/20240410215850 | 1 + db/structure.sql | 11 +++++-- .../javascripts/epic/components/epic_app.vue | 4 ++- .../epic/components/epic_header.vue | 6 ++++ ee/app/assets/javascripts/epic/epic_bundle.js | 1 + lib/api/entities/note.rb | 2 ++ 38 files changed, 157 insertions(+), 5 deletions(-) create mode 100644 db/migrate/20240410165610_add_imported_to_events.rb create mode 100644 db/migrate/20240410194217_add_imported_to_snippets.rb create mode 100644 db/migrate/20240410215850_add_imported_to_design_management_designs.rb create mode 100644 db/schema_migrations/20240410165610 create mode 100644 db/schema_migrations/20240410194217 create mode 100644 db/schema_migrations/20240410215850 diff --git a/app/assets/javascripts/admin/abuse_report/components/notes/abuse_report_note.vue b/app/assets/javascripts/admin/abuse_report/components/notes/abuse_report_note.vue index 4423eb9e7b259a..61d1baf75b16b2 100644 --- a/app/assets/javascripts/admin/abuse_report/components/notes/abuse_report_note.vue +++ b/app/assets/javascripts/admin/abuse_report/components/notes/abuse_report_note.vue @@ -103,6 +103,7 @@ export default { :created-at="note.createdAt" :note-id="note.id" :note-url="note.url" + :imported="note.imported" > · diff --git a/app/assets/javascripts/design_management/components/design_destroyer.vue b/app/assets/javascripts/design_management/components/design_destroyer.vue index 0178111f651b2b..e1824b725465c1 100644 --- a/app/assets/javascripts/design_management/components/design_destroyer.vue +++ b/app/assets/javascripts/design_management/components/design_destroyer.vue @@ -22,6 +22,11 @@ export default { type: Array, required: true, }, + imported: { + type: Boolean, + required: false, + default: false, + } }, computed: { projectQueryBody() { diff --git a/app/assets/javascripts/design_management/components/design_notes/design_note.vue b/app/assets/javascripts/design_management/components/design_notes/design_note.vue index 38081c99e72af0..2faa968b8bfa0a 100644 --- a/app/assets/javascripts/design_management/components/design_notes/design_note.vue +++ b/app/assets/javascripts/design_management/components/design_notes/design_note.vue @@ -299,6 +299,7 @@ export default { > + imported
diff --git a/app/assets/javascripts/design_management/components/toolbar/index.vue b/app/assets/javascripts/design_management/components/toolbar/index.vue index 45c04b80a2da39..0972aa827d20ea 100644 --- a/app/assets/javascripts/design_management/components/toolbar/index.vue +++ b/app/assets/javascripts/design_management/components/toolbar/index.vue @@ -71,6 +71,11 @@ export default { required: false, default: '', }, + imported: { + type: Boolean, + required: false, + default: false, + }, isLoading: { type: Boolean, required: true, @@ -142,6 +147,7 @@ export default { {{ filename }} + imported {{ updatedText }}
diff --git a/app/assets/javascripts/design_management/graphql/fragments/design.fragment.graphql b/app/assets/javascripts/design_management/graphql/fragments/design.fragment.graphql index 4b1703e41c34cf..47ea165470f3d2 100644 --- a/app/assets/javascripts/design_management/graphql/fragments/design.fragment.graphql +++ b/app/assets/javascripts/design_management/graphql/fragments/design.fragment.graphql @@ -6,6 +6,7 @@ fragment DesignItem on Design { ...DesignListItem fullPath + imported diffRefs { ...DesignDiffRefs } diff --git a/app/assets/javascripts/design_management/graphql/fragments/design_note.fragment.graphql b/app/assets/javascripts/design_management/graphql/fragments/design_note.fragment.graphql index 9af4733d5dc06d..de1ce702f21c31 100644 --- a/app/assets/javascripts/design_management/graphql/fragments/design_note.fragment.graphql +++ b/app/assets/javascripts/design_management/graphql/fragments/design_note.fragment.graphql @@ -11,6 +11,7 @@ fragment DesignNote on Note { bodyHtml createdAt resolved + imported awardEmoji { nodes { name diff --git a/app/assets/javascripts/design_management/pages/design/index.vue b/app/assets/javascripts/design_management/pages/design/index.vue index 0caed73a44ab9b..81f01e9a16d622 100644 --- a/app/assets/javascripts/design_management/pages/design/index.vue +++ b/app/assets/javascripts/design_management/pages/design/index.vue @@ -344,6 +344,7 @@ export default { design.filename, ] /* eslint-enable @gitlab/vue-no-new-non-primitive-in-template */" :project-path="projectPath" + :impoted="design.imported" :iid="issueIid" @done="$router.push({ name: $options.DESIGNS_ROUTE_NAME })" @error="onDesignDeleteError" diff --git a/app/assets/javascripts/issues/show/components/app.vue b/app/assets/javascripts/issues/show/components/app.vue index 27646df506b94b..a0e8be3cd145d4 100644 --- a/app/assets/javascripts/issues/show/components/app.vue +++ b/app/assets/javascripts/issues/show/components/app.vue @@ -221,6 +221,11 @@ export default { required: false, default: '', }, + imported: { + type: Boolean, + required: false, + default: false, + }, }, data() { return { @@ -556,6 +561,7 @@ export default { :issuable-type="issuableType" :show="isStickyHeaderShowing" :title="state.titleText" + :imported="imported" @hide="hideStickyHeader" @show="showStickyHeader" /> @@ -576,6 +582,7 @@ export default { :moved-to-issue-url="movedToIssueUrl" :promoted-to-epic-url="promotedToEpicUrl" :service-desk-reply-to="serviceDeskReplyTo" + :imported="imported" /> diff --git a/app/assets/javascripts/issues/show/components/issue_header.vue b/app/assets/javascripts/issues/show/components/issue_header.vue index 96eb8fbb3c7240..522d214b408287 100644 --- a/app/assets/javascripts/issues/show/components/issue_header.vue +++ b/app/assets/javascripts/issues/show/components/issue_header.vue @@ -61,6 +61,11 @@ export default { required: false, default: '', }, + imported: { + type: Boolean, + required: false, + default: false, + }, }, computed: { closedStatusLink() { @@ -111,6 +116,7 @@ export default { show-work-item-type-icon :status-icon="statusIcon" :workspace-type="$options.WORKSPACE_PROJECT" + :imported="imported" > + imported