Merge pull request #2586 from PopcornPanda/fix-2544
Fix: Allow long sms in PromoSMS
This commit is contained in:
		
						commit
						e675316635
					
				
					 4 changed files with 17 additions and 2 deletions
				
			
		|  | @ -8,6 +8,14 @@ class PromoSMS extends NotificationProvider { | ||||||
|     async send(notification, msg, monitorJSON = null, heartbeatJSON = null) { |     async send(notification, msg, monitorJSON = null, heartbeatJSON = null) { | ||||||
|         let okMsg = "Sent Successfully."; |         let okMsg = "Sent Successfully."; | ||||||
| 
 | 
 | ||||||
|  |         if (notification.promosmsAllowLongSMS === undefined) { | ||||||
|  |             notification.promosmsAllowLongSMS = false; | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         //TODO: Add option for enabling special characters. It will decrese message max length from 160 to 70 chars.
 | ||||||
|  |         //Lets remove non ascii char
 | ||||||
|  |         let cleanMsg = msg.replace(/[^\x00-\x7F]/g, ""); | ||||||
|  | 
 | ||||||
|         try { |         try { | ||||||
|             let config = { |             let config = { | ||||||
|                 headers: { |                 headers: { | ||||||
|  | @ -18,8 +26,9 @@ class PromoSMS extends NotificationProvider { | ||||||
|             }; |             }; | ||||||
|             let data = { |             let data = { | ||||||
|                 "recipients": [ notification.promosmsPhoneNumber ], |                 "recipients": [ notification.promosmsPhoneNumber ], | ||||||
|                 //Lets remove non ascii char
 |                 //Trim message to maximum length of 1 SMS or 4 if we allowed long messages
 | ||||||
|                 "text": msg.replace(/[^\x00-\x7F]/g, ""), |                 "text": notification.promosmsAllowLongSMS ? cleanMsg.substring(0, 639) : cleanMsg.substring(0, 159), | ||||||
|  |                 "long-sms": notification.promosmsAllowLongSMS, | ||||||
|                 "type": Number(notification.promosmsSMSType), |                 "type": Number(notification.promosmsSMSType), | ||||||
|                 "sender": notification.promosmsSenderName |                 "sender": notification.promosmsSenderName | ||||||
|             }; |             }; | ||||||
|  |  | ||||||
|  | @ -26,6 +26,10 @@ | ||||||
|         <label for="promosms-sender-name" class="form-label">{{ $t("promosmsSMSSender") }}</label> |         <label for="promosms-sender-name" class="form-label">{{ $t("promosmsSMSSender") }}</label> | ||||||
|         <input id="promosms-sender-name" v-model="$parent.notification.promosmsSenderName" type="text" minlength="3" maxlength="11" class="form-control"> |         <input id="promosms-sender-name" v-model="$parent.notification.promosmsSenderName" type="text" minlength="3" maxlength="11" class="form-control"> | ||||||
|     </div> |     </div> | ||||||
|  |     <div class="form-check form-switch"> | ||||||
|  |         <input id="promosms-allow-long" v-model="$parent.notification.promosmsAllowLongSMS" type="checkbox" class="form-check-input"> | ||||||
|  |         <label for="promosms-allow-long" class="form-label">{{ $t("promosmsAllowLongSMS") }}</label> | ||||||
|  |     </div> | ||||||
| </template> | </template> | ||||||
| 
 | 
 | ||||||
| <script> | <script> | ||||||
|  |  | ||||||
|  | @ -320,6 +320,7 @@ export default { | ||||||
|     promosmsTypeSpeed: "SMS SPEED - Highest priority in system. Very quick and reliable but costly (about twice of SMS FULL price).", |     promosmsTypeSpeed: "SMS SPEED - Highest priority in system. Very quick and reliable but costly (about twice of SMS FULL price).", | ||||||
|     promosmsPhoneNumber: "Phone number (for Polish recipient You can skip area codes)", |     promosmsPhoneNumber: "Phone number (for Polish recipient You can skip area codes)", | ||||||
|     promosmsSMSSender: "SMS Sender Name : Pre-registred name or one of defaults: InfoSMS, SMS Info, MaxSMS, INFO, SMS", |     promosmsSMSSender: "SMS Sender Name : Pre-registred name or one of defaults: InfoSMS, SMS Info, MaxSMS, INFO, SMS", | ||||||
|  |     promosmsAllowLongSMS: "Allow long SMS", | ||||||
|     "Feishu WebHookUrl": "Feishu WebHookURL", |     "Feishu WebHookUrl": "Feishu WebHookURL", | ||||||
|     matrixHomeserverURL: "Homeserver URL (with http(s):// and optionally port)", |     matrixHomeserverURL: "Homeserver URL (with http(s):// and optionally port)", | ||||||
|     "Internal Room Id": "Internal Room ID", |     "Internal Room Id": "Internal Room ID", | ||||||
|  |  | ||||||
|  | @ -284,6 +284,7 @@ export default { | ||||||
|     promosmsTypeSpeed: "SMS SPEED - wysyłka priorytetowa, ma wszystkie zalety SMS FULL", |     promosmsTypeSpeed: "SMS SPEED - wysyłka priorytetowa, ma wszystkie zalety SMS FULL", | ||||||
|     promosmsPhoneNumber: "Numer odbiorcy", |     promosmsPhoneNumber: "Numer odbiorcy", | ||||||
|     promosmsSMSSender: "Nadawca SMS (wcześniej zatwierdzone nazwy z panelu PromoSMS)", |     promosmsSMSSender: "Nadawca SMS (wcześniej zatwierdzone nazwy z panelu PromoSMS)", | ||||||
|  |     promosmsAllowLongSMS: "Zezwól na długie SMSy", | ||||||
|     "Primary Base URL": "Główny URL", |     "Primary Base URL": "Główny URL", | ||||||
|     "Push URL": "Push URL", |     "Push URL": "Push URL", | ||||||
|     needPushEvery: "Powinieneś wywoływać ten URL co {0} sekund", |     needPushEvery: "Powinieneś wywoływać ten URL co {0} sekund", | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue