diff --git a/i18n/en.i18n.json b/i18n/en.i18n.json index 1f024523cf4..a1c92e56044 100644 --- a/i18n/en.i18n.json +++ b/i18n/en.i18n.json @@ -134,6 +134,7 @@ "Disable_New_Message_Notification" : "Disable New Message Notification", "Disable_New_Room_Notification" : "Disable New Room Notification", "Drop_to_upload_file" : "Drop to upload file", + "Duplicate_archived_channel_name" : "An archived Channel with name '%s' exists", "Duplicate_channel_name" : "A Channel with name '%s' exists", "Duplicate_private_group_name" : "A Private Group with name '%s' exists", "E-mail" : "E-mail", diff --git a/packages/rocketchat-ui-sidenav/side-nav/createChannelFlex.coffee b/packages/rocketchat-ui-sidenav/side-nav/createChannelFlex.coffee index 7d5448acdb9..a6abfa19958 100644 --- a/packages/rocketchat-ui-sidenav/side-nav/createChannelFlex.coffee +++ b/packages/rocketchat-ui-sidenav/side-nav/createChannelFlex.coffee @@ -90,6 +90,9 @@ Template.createChannelFlex.events if err.error is 'duplicate-name' instance.error.set({ duplicate: true }) return + if err.error is 'archived-duplicate-name' + instance.error.set({ archivedduplicate: true }) + return else return toastr.error err.reason diff --git a/packages/rocketchat-ui-sidenav/side-nav/createChannelFlex.html b/packages/rocketchat-ui-sidenav/side-nav/createChannelFlex.html index 2f5e3043126..32f223608d2 100644 --- a/packages/rocketchat-ui-sidenav/side-nav/createChannelFlex.html +++ b/packages/rocketchat-ui-sidenav/side-nav/createChannelFlex.html @@ -40,6 +40,12 @@ {{{_ "Duplicate_channel_name" roomName}}} {{/if}} + {{#if error.archivedduplicate}} +
+ {{_ "Oops!"}} + {{{_ "Duplicate_archived_channel_name" roomName}}} +
+ {{/if}}
diff --git a/server/methods/createChannel.coffee b/server/methods/createChannel.coffee index 3c8319079d3..0fd82cb0c03 100644 --- a/server/methods/createChannel.coffee +++ b/server/methods/createChannel.coffee @@ -23,7 +23,10 @@ Meteor.methods # avoid duplicate names if RocketChat.models.Rooms.findOneByName name - throw new Meteor.Error 'duplicate-name' + if RocketChat.models.Rooms.findOneByName(name).archived + throw new Meteor.Error 'archived-duplicate-name' + else + throw new Meteor.Error 'duplicate-name' # name = s.slugify name