-
Notifications
You must be signed in to change notification settings - Fork 55
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
MSPB-253: Implement 'Always On, Busy, and No Answer' Call Forwarding Feature #493
Conversation
i18n/en-US.json
Outdated
}, | ||
"acknowledge": { | ||
"title": "Acknowledge Call", | ||
"helpText": "Receive a prompt to accept forwarded calls. This prevents voicemails from being associated with the 'Forward To' number." |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I wouldn't suggest using single quotes, instead you can do
"helpText": "Receive a prompt to accept forwarded calls. This prevents voicemails from being associated with the 'Forward To' number." | |
"helpText": "Receive a prompt to accept forwarded calls. This prevents voicemails from being associated with the \"Forward To\" number." |
layoutTemplate.find('.feature-popup-title').each(function () { | ||
var strategy = $(this).data('template'); | ||
|
||
if (strategy != 'off' || strategy != 'selective') { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Instead i would do this:
if (strategy != 'off' || strategy != 'selective') { | |
if (strategy !== 'off' || strategy !== 'selective') { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I also have one question, why was the "Call Forwarding" option moved to the left of "Caller-ID number"? In the mockup I see it as the second option, which is how it was before:
Also, when testing the changes I saw a few issues, the first ones are that saving any option causes issues:
Also, I would recommend checking the linter by running gulp lint --app=voip
You can see a bunch of suggestions which some are part of my review, please let me know if you have any issues running this or understanding what its asking you to do, some examples are these:
}) | ||
|
||
$template.find('.radio-state').on('change', function () { | ||
var self = this, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
you can remove this line as this is unused.
|
||
if (self.checked && self.defaultValue == 'voicemail') { | ||
_.each(options, function (div) { | ||
if (div.children[0].innerText != 'Forward direct calls only') { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is just a suggestion, instead of doing this, maybe you can add a class in the div instead of this.
if (div.children[0].innerText != 'Forward direct calls only') { | |
if ($divClassName.innerText !== 'Forward direct calls only') { |
strategy = self.name.split('.')[0], | ||
options = $template.find('.option[strategy=' + strategy + ']'); | ||
|
||
if (self.checked && self.defaultValue == 'phoneNumber') { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it's always best to use "===" operator to compare the values as it also checks the data type
if (self.checked && self.defaultValue == 'phoneNumber') { | |
if (self.checked && self.defaultValue === 'phoneNumber') { |
_.each(options, function (div) { | ||
$template.find(div).removeClass('disabled').find('input') | ||
}) | ||
if (strategy == 'selective') { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
same here
if (strategy == 'selective') { | |
if (strategy === 'selective') { |
} | ||
} | ||
|
||
if (self.checked && self.defaultValue == 'voicemail') { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
and here
if (self.checked && self.defaultValue == 'voicemail') { | |
if (self.checked && self.defaultValue === 'voicemail') { |
|
||
<div class="remove-rule"> | ||
<label> | ||
Remove rule |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
and here.
{{#monsterCheckbox "large-checkbox"}} | ||
<input type="checkbox" name="{{strategy}}.isEnabled" {{#if enabled}} checked="checked" {{/if}} /> | ||
{{/monsterCheckbox}} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just the spacing here and in other places
{{#monsterCheckbox "large-checkbox"}} | |
<input type="checkbox" name="{{strategy}}.isEnabled" {{#if enabled}} checked="checked" {{/if}} /> | |
{{/monsterCheckbox}} | |
{{#monsterCheckbox "large-checkbox"}} | |
<input type="checkbox" name="{{strategy}}.isEnabled" {{#if enabled}} checked="checked" {{/if}} /> | |
{{/monsterCheckbox}} |
<th> | ||
Day | ||
</th> | ||
<th> | ||
Start Time | ||
</th> | ||
<th> | ||
End Time | ||
</th> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
please do not hardcode values, instead we want to add them to the languages files
@@ -0,0 +1,24 @@ | |||
<div data-strategy="{{strategy}}"> | |||
<div class="title"> | |||
{{@root.i18n.users.callForwarding.strategies.common.options.title}} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
{{@root.i18n.users.callForwarding.strategies.common.options.title}} | |
{{i18n.users.callForwarding.strategies.common.options.title}} |
|
||
<div class="voicemail-wrapper"> | ||
<div> | ||
{{#monsterRadio @root.i18n.users.callForwarding.strategies.common.voicemail.label }} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
{{#monsterRadio @root.i18n.users.callForwarding.strategies.common.voicemail.label }} | |
{{#monsterRadio i18n.users.callForwarding.strategies.common.voicemail.label }} |
I believe that part was done by @joristirado and @Isaac2600Hz just worked on top of it (if I'm not wrong 😄) |
@ramandeepromana yeah, i understand. It's an easy change and also we should always try to follow the mockups. So my comments were based on the mockups https://app.abstract.com/share/1b55ca8e-e43f-429c-969b-22f99f2491bc |
Requested change/clean up as well as fixes for better match with mockups
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
…d Ensure Backward Compatibility - Removed the selective staggery implementation as it no longer aligns with the revised scope and the approaching QA merge deadline. - Integrated updates to Issac's recent work, focusing on two main aspects: 1. Upgraded UI logic to resolve issues that were causing functionality breakdowns, ensuring stability and alignment with the defined scope/mockups. 2. Adapted the new call_forward object structure while ensuring compatibility with the old/no strategies structure, guaranteeing seamless functionality across different versions.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks good to me. Also, after talking to Ramen, he explained to me that the design doesn't need to match the mockups as they are for comm.land, he also said that there won't be additional options for the "voicemail" selection because in Kazoo there is no forward to voicemail and they are manipulating user's default callflow.
…rding Feature Introduced enhancements to the Call Forwarding feature, integrating 'Always On, Busy, and No Answer' modes and changes to Call Failover. 1. Feature Extension: Expanded Call Forwarding functionality to include 'Always On', 'Busy', and 'No Answer'. 2. Decoupled Call Failover: Segregated 'Call Failover' into an independent feature module, for structural clarity in feature configuration and call management. 3. Object Structure Overhaul and Backward Compatibility: Implemented the new `call_forward` object schema and ensured backward compatibility with legacy/no-strategy structures. Please refer original/master branch PR #493 for additional information.
…rding Feature (#523) Introduced enhancements to the Call Forwarding feature, integrating 'Always On, Busy, and No Answer' modes and changes to Call Failover. 1. Feature Extension: Expanded Call Forwarding functionality to include 'Always On', 'Busy', and 'No Answer'. 2. Decoupled Call Failover: Segregated 'Call Failover' into an independent feature module, for structural clarity in feature configuration and call management. 3. Object Structure Overhaul and Backward Compatibility: Implemented the new `call_forward` object schema and ensured backward compatibility with legacy/no-strategy structures. Please refer original/master branch PR #493 for additional information.
No description provided.