From d180cbba3a4d72bada170c45c47271ed17eab59d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Matthies?= Date: Tue, 21 May 2024 09:55:48 +0200 Subject: [PATCH] update pkg name --- README.md | 22 ++++++---- .../models/channel/driver/sms/seven.rb | 10 ++--- seven-sms.szpm | 40 ++++++++++++++++++ sms77_spec.rb => seven_spec.rb | 4 +- sms77-sms.szpm | 41 ------------------- 5 files changed, 60 insertions(+), 57 deletions(-) rename sms77.rb => app/models/channel/driver/sms/seven.rb (88%) create mode 100644 seven-sms.szpm rename sms77_spec.rb => seven_spec.rb (93%) delete mode 100644 sms77-sms.szpm diff --git a/README.md b/README.md index 4753b51..2efd0f2 100644 --- a/README.md +++ b/README.md @@ -1,17 +1,21 @@ -# Zammad Package for the seven.io SMS Gateway +# Zammad Package for seven.io -## Installation +Tested with Zammad v6.x. -1. Download **sms77-sms.szpm** file from [Latest Releases](https://github.com/sms77io/zammad/releases/latest "Latest Releases") +## Installation +1. Download **seven-sms.szpm** file from [Latest Releases](https://github.com/seven-io/zammad/releases/latest "Latest Releases") 2. Open up your Zammad **Dashboard** -2. Click on **Admin**, navigate to **Manage->System->Packages** and press **Choose File** -3. Locate the downloaded **sms77-sms.szpm** and click **Install Package** -4. Go to **Manage->Channels->SMS->SMS Notification** and choose **sms77** -5. Type in your Sms77.io **credentials**, test and you are ready to go +3. Click on **Admin**, navigate to **Manage->System->Packages** and press **Choose File** +4. Locate the downloaded **seven-sms.szpm** and click **Install Package** +5. Execute as *zammad* user: `zammad run rake zammad:package:migrate && zammad run rake assets:precompile && systemctl restart zammad` +6. Go to **Manage->Channels->SMS->SMS Notification** and choose **seven** +7. Type in your [API Key](https://help.seven.io/en/api-key-access), test and you are ready to go + +### Support -### License +Need help? Feel free to [contact us](https://www.seven.io/en/company/contact/). -This repository is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT). +[![MIT](https://img.shields.io/badge/License-MIT-teal.svg)](LICENSE) \ No newline at end of file diff --git a/sms77.rb b/app/models/channel/driver/sms/seven.rb similarity index 88% rename from sms77.rb rename to app/models/channel/driver/sms/seven.rb index 748f9d2..e7ab459 100644 --- a/sms77.rb +++ b/app/models/channel/driver/sms/seven.rb @@ -1,7 +1,7 @@ -class Channel::Driver::Sms::Sms77 < Channel::Driver::Sms::Base - NAME = 'sms/sms77'.freeze +class Channel::Driver::Sms::Seven < Channel::Driver::Sms::Base + NAME = 'sms/seven'.freeze - def send(options, attr, _notification = false) + def deliver(options, attr, _notification = false) Rails.logger.info "Sending SMS to recipient #{attr[:recipient]}" return true if Setting.get('import_mode') @@ -30,8 +30,8 @@ def send(options, attr, _notification = false) def self.definition { - name: 'sms77', - adapter: 'sms/sms77', + name: 'seven', + adapter: 'sms/seven', notification: [ {name: 'options::api_key', display: 'API Key', tag: 'input', type: 'text', limit: 64, null: false, placeholder: 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'}, {name: 'options::from', display: 'From', tag: 'input', type: 'text', limit: 16, null: true, placeholder: '00491710000000'}, diff --git a/seven-sms.szpm b/seven-sms.szpm new file mode 100644 index 0000000..7b5ca85 --- /dev/null +++ b/seven-sms.szpm @@ -0,0 +1,40 @@ +{ + "name": "seven SMS", + "version": "2.0.0", + "vendor": "seven communications GmbH & Co. KG", + "license": "MIT", + "url": "https://www.seven.io/", + "buildhost": "localhost", + "builddate": "2024-21-05 00:00:00 UTC", + "change_log": [ + { + "version": "2.0.0", + "date": "2024-21-05 00:00:00 UTC", + "log": "package renamed" + }, + { + "version": "1.0.1", + "date": "2023-11-04 00:00:00 UTC", + "log": "add v5 compatibility" + }, + { + "version": "1.0.0", + "date": "2020-18-03 00:00:00 UTC", + "log": "init" + } + ], + "description": [ + { + "language": "en", + "text": "Add seven SMS Gateway" + } + ], + "files": [ + { + "location": "app/models/channel/driver/sms/seven.rb", + "permission": 644, + "encode": "base64", + "content": "Y2xhc3MgQ2hhbm5lbDo6RHJpdmVyOjpTbXM6OlNldmVuIDwgQ2hhbm5lbDo6RHJpdmVyOjpTbXM6OkJhc2UNCiAgTkFNRSA9ICdzbXMvc2V2ZW4nLmZyZWV6ZQ0KDQogIGRlZiBkZWxpdmVyKG9wdGlvbnMsIGF0dHIsIF9ub3RpZmljYXRpb24gPSBmYWxzZSkNCiAgICBSYWlscy5sb2dnZXIuaW5mbyAiU2VuZGluZyBTTVMgdG8gcmVjaXBpZW50ICN7YXR0cls6cmVjaXBpZW50XX0iDQoNCiAgICByZXR1cm4gdHJ1ZSBpZiBTZXR0aW5nLmdldCgnaW1wb3J0X21vZGUnKQ0KDQogICAgUmFpbHMubG9nZ2VyLmluZm8gIkJhY2tlbmQgc2VuZGluZyBzZXZlbiBTTVMgdG8gI3thdHRyWzpyZWNpcGllbnRdfSINCiAgICBiZWdpbg0KICAgICAgdXJsID0gJ2h0dHBzOi8vZ2F0ZXdheS5zZXZlbi5pby9hcGkvc21zPycgKyBVUkkuZW5jb2RlX3d3d19mb3JtKHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcDogb3B0aW9uc1s6YXBpX2tleV0sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6IGF0dHJbOm1lc3NhZ2VdLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0bzogYXR0cls6cmVjaXBpZW50XSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbTogb3B0aW9uc1s6ZnJvbV0sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbmRXaXRoOiAnemFtbWFkJywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KQ0KDQogICAgICBpZiBTZXR0aW5nLmdldCgnZGV2ZWxvcGVyX21vZGUnKSAhPSB0cnVlDQogICAgICAgIHJlc3BvbnNlID0gRmFyYWRheS5nZXQodXJsKS5ib2R5DQogICAgICAgIHJhaXNlIHJlc3BvbnNlIGlmICcxMDAnICE9IHJlc3BvbnNlDQogICAgICBlbmQNCg0KICAgICAgdHJ1ZQ0KICAgIHJlc2N1ZSA9PiBlDQogICAgICBSYWlscy5sb2dnZXIuZGVidWcgInNldmVuIGVycm9yOiAje2UuaW5zcGVjdH0iDQogICAgICByYWlzZSBlDQogICAgZW5kDQogIGVuZA0KDQogIGRlZiBzZWxmLmRlZmluaXRpb24NCiAgICB7DQogICAgICAgIG5hbWU6ICdzZXZlbicsDQogICAgICAgIGFkYXB0ZXI6ICdzbXMvc2V2ZW4nLA0KICAgICAgICBub3RpZmljYXRpb246IFsNCiAgICAgICAgICAgIHtuYW1lOiAnb3B0aW9uczo6YXBpX2tleScsIGRpc3BsYXk6ICdBUEkgS2V5JywgdGFnOiAnaW5wdXQnLCB0eXBlOiAndGV4dCcsIGxpbWl0OiA2NCwgbnVsbDogZmFsc2UsIHBsYWNlaG9sZGVyOiAnWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWCd9LA0KICAgICAgICAgICAge25hbWU6ICdvcHRpb25zOjpmcm9tJywgZGlzcGxheTogJ0Zyb20nLCB0YWc6ICdpbnB1dCcsIHR5cGU6ICd0ZXh0JywgbGltaXQ6IDE2LCBudWxsOiB0cnVlLCBwbGFjZWhvbGRlcjogJzAwNDkxNzEwMDAwMDAwJ30sDQogICAgICAgIF0NCiAgICB9DQogIGVuZA0KZW5k" + } + ] +} \ No newline at end of file diff --git a/sms77_spec.rb b/seven_spec.rb similarity index 93% rename from sms77_spec.rb rename to seven_spec.rb index a802447..37635e2 100644 --- a/sms77_spec.rb +++ b/seven_spec.rb @@ -1,6 +1,6 @@ require 'rails_helper' -RSpec.describe Channel::Driver::Sms::Sms77 do +RSpec.describe Channel::Driver::Sms::Seven do it 'passes' do channel = create_channel @@ -26,7 +26,7 @@ def create_channel FactoryBot.create(:channel, options: { - adapter: 'sms/sms77', + adapter: 'sms/seven', from: from, api_key: api_key }, diff --git a/sms77-sms.szpm b/sms77-sms.szpm deleted file mode 100644 index 38c7f01..0000000 --- a/sms77-sms.szpm +++ /dev/null @@ -1,41 +0,0 @@ -{ - "name": "sms77io SMS", - "version": "1.0.1", - "vendor": "seven communications GmbH & Co. KG", - "license": "MIT", - "url": "https://www.seven.io/", - "buildhost": "localhost", - "builddate": "2023-11-04 00:00:00 UTC", - "change_log": [ - { - "version": "1.0.1", - "date": "2023-11-04 00:00:00 UTC", - "log": "add v5 compatibility" - }, - { - "version": "1.0.0", - "date": "2020-18-03 00:00:00 UTC", - "log": "init" - } - ], - "description": [ - { - "language": "en", - "text": "Add seven SMS Gateway" - } - ], - "files": [ - { - "location": "app/models/channel/driver/sms/sms77.rb", - "permission": 644, - "encode": "base64", - "content": "Y2xhc3MgQ2hhbm5lbDo6RHJpdmVyOjpTbXM6OlNtczc3IDwgQ2hhbm5lbDo6RHJpdmVyOjpTbXM6OkJhc2UNCiAgTkFNRSA9ICdzbXMvc21zNzcnLmZyZWV6ZQ0KDQogIGRlZiBzZW5kKG9wdGlvbnMsIGF0dHIsIF9ub3RpZmljYXRpb24gPSBmYWxzZSkNCiAgICBSYWlscy5sb2dnZXIuaW5mbyAiU2VuZGluZyBTTVMgdG8gcmVjaXBpZW50ICN7YXR0cls6cmVjaXBpZW50XX0iDQoNCiAgICByZXR1cm4gdHJ1ZSBpZiBTZXR0aW5nLmdldCgnaW1wb3J0X21vZGUnKQ0KDQogICAgUmFpbHMubG9nZ2VyLmluZm8gIkJhY2tlbmQgc2VuZGluZyBzZXZlbiBTTVMgdG8gI3thdHRyWzpyZWNpcGllbnRdfSINCiAgICBiZWdpbg0KICAgICAgdXJsID0gJ2h0dHBzOi8vZ2F0ZXdheS5zZXZlbi5pby9hcGkvc21zPycgKyBVUkkuZW5jb2RlX3d3d19mb3JtKHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcDogb3B0aW9uc1s6YXBpX2tleV0sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6IGF0dHJbOm1lc3NhZ2VdLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0bzogYXR0cls6cmVjaXBpZW50XSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbTogb3B0aW9uc1s6ZnJvbV0sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbmRXaXRoOiAnemFtbWFkJywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KQ0KDQogICAgICBpZiBTZXR0aW5nLmdldCgnZGV2ZWxvcGVyX21vZGUnKSAhPSB0cnVlDQogICAgICAgIHJlc3BvbnNlID0gRmFyYWRheS5nZXQodXJsKS5ib2R5DQogICAgICAgIHJhaXNlIHJlc3BvbnNlIGlmICcxMDAnICE9IHJlc3BvbnNlDQogICAgICBlbmQNCg0KICAgICAgdHJ1ZQ0KICAgIHJlc2N1ZSA9PiBlDQogICAgICBSYWlscy5sb2dnZXIuZGVidWcgInNldmVuIGVycm9yOiAje2UuaW5zcGVjdH0iDQogICAgICByYWlzZSBlDQogICAgZW5kDQogIGVuZA0KDQogIGRlZiBzZWxmLmRlZmluaXRpb24NCiAgICB7DQogICAgICAgIG5hbWU6ICdzbXM3NycsDQogICAgICAgIGFkYXB0ZXI6ICdzbXMvc21zNzcnLA0KICAgICAgICBub3RpZmljYXRpb246IFsNCiAgICAgICAgICAgIHtuYW1lOiAnb3B0aW9uczo6YXBpX2tleScsIGRpc3BsYXk6ICdBUEkgS2V5JywgdGFnOiAnaW5w dXQnLCB0eXBlOiAndGV4dCcsIGxpbWl0OiA2NCwgbnVsbDogZmFsc2UsIHBsYWNlaG9sZGVyOiAnWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWCd9LA0KICAgICAgICAgICAge25hbWU6ICdvcHRpb25zOjpmcm9tJywgZGlzcGxheTogJ0Zyb20nLCB0YWc6ICdpbnB1dCcsIHR5cGU6ICd0ZXh0JywgbGltaXQ6IDE2LCBudWxsOiB0cnVlLCBwbGFjZWhvbGRlcjogJzAwNDkxNzEwMDAwMDAwJ30sDQogICAgICAgIF0NCiAgICB9DQogIGVuZA0KZW5k" - }, - { - "location": "spec/models/channel/driver/sms/sms77_spec.rb", - "permission": 644, - "encode": "base64", - "content": "cmVxdWlyZSAncmFpbHNfaGVscGVyJwoKUlNwZWMuZGVzY3JpYmUgQ2hhbm5lbDo6RHJpdmVyOjpT\nbXM6OlNtczc3IGRvCiAgaXQgJ3Bhc3NlcycgZG8KICAgIGNoYW5uZWwgPSBjcmVhdGVfY2hhbm5l\nbAoKICAgIHN0dWJfcmVxdWVzdCg6Z2V0LCB1cmxfdG9fbW9jaykKICAgICAgICAudG9fcmV0dXJu\nKGJvZHk6ICcxMDAnKQoKICAgIGFwaSA9IGNoYW5uZWwuZHJpdmVyX2luc3RhbmNlLm5ldwogICAg\nZXhwZWN0KGFwaS5zZW5kKGNoYW5uZWwub3B0aW9ucywge3RvOiB0bywgdGV4dDogdGV4dH0pKS50\nbyBiZSB0cnVlCiAgZW5kCgogIGl0ICdmYWlscycgZG8KICAgIGNoYW5uZWwgPSBjcmVhdGVfY2hh\nbm5lbAoKICAgIHN0dWJfcmVxdWVzdCg6Z2V0LCB1cmxfdG9fbW9jaykKICAgICAgICAudG9fcmV0\ndXJuKGJvZHk6ICczMDUnKQoKICAgIGFwaSA9IGNoYW5uZWwuZHJpdmVyX2luc3RhbmNlLm5ldwog\nICAgZXhwZWN0IHsgYXBpLnNlbmQoY2hhbm5lbC5vcHRpb25zLCB7dG86IHRvLCB0ZXh0OiAnJ30p\nIH0udG8gcmFpc2VfZXhjZXB0aW9uKFJ1bnRpbWVFcnJvcikKICBlbmQKCiAgcHJpdmF0ZQoKICBk\nZWYgY3JlYXRlX2NoYW5uZWwKICAgIEZhY3RvcnlCb3QuY3JlYXRlKDpjaGFubmVsLAogICAgICAg\nICAgICAgICAgICAgICAgb3B0aW9uczogewogICAgICAgICAgICAgICAgICAgICAgICAgIGFkYXB0\nZXI6ICdzbXMvc21zNzcnLAogICAgICAgICAgICAgICAgICAgICAgICAgIGZyb206IGZyb20sCiAg\nICAgICAgICAgICAgICAgICAgICAgICAgYXBpX2tleTogYXBpX2tleQogICAgICAgICAgICAgICAg\nICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgIGNyZWF0ZWRfYnlfaWQ6IDEsCiAgICAgICAg\nICAgICAgICAgICAgICB1cGRhdGVkX2J5X2lkOiAxKQogIGVuZAoKICBkZWYgdXJsX3RvX21vY2sK\nICAgICdodHRwczovL2dhdGV3YXkuc21zNzcuaW8vYXBpL3Ntcz8nICsgVVJJLmVuY29kZV93d3df\nZm9ybSh7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgIHA6IGFwaV9rZXksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6IHRleHQsCiAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nIHRvOiB0bywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgZnJvbTogZnJvbQogICAgICAgICAgICAgICAgICAgICAgICAgICAg\nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pCiAgZW5kCgogIGRlZiB0ZXh0CiAg\nICAnVGVzdCcKICBlbmQKCiAgZGVmIHRvCiAgICAnKzQ5MTc3MTc4MzEzMCcKICBlbmQKCiAgZGVm\nIGZyb20KICAgICcrNDkxMDAwMDAwMDAwJwogIGVuZAoKICBkZWYgYXBpX2tleQogICAgJ0hlSnlK\nU0F2QldEbjVSd05maFFHS1pJNnBvQ0xrN3BVWGpweGN0aXBZSFdHc2pvSHRXTkRJM2Q0RGU4Z2tv\nVmUnCiAgZW5kCmVuZA==" - } - ] -} \ No newline at end of file