• John Dickinson
  • NEWBIE
  • 0 Points
  • Member since 2015

  • Chatter
    Feed
  • 0
    Best Answers
  • 0
    Likes Received
  • 1
    Likes Given
  • 1
    Questions
  • 2
    Replies
I have a scenario where I need to set 3 milestones within an Entitlement process. The first milestone is active when the case is created. The subsequent milestones should activate when the previous milestone becomes violated. 

The first milestone has a time limit, one this is violated another milestone is added. The third milestone follows the same pattern, using the second milestone violation as it's "enabler".

I've tried to set this up as follows:

There is a custom field on the Case object. Lets call this "Escalation_A". It's a Boolean / tickbox. Default: false.
The first milestone has a Violation Action (1 min after), type "Field Update".  This sets the custom field "Escalation_A" to true, and re-evaluates workflow rules.

The Second Milestone critera is:
Case: Escalation_A EQUALS True

However the milestone only becomes active on the case if I update the case record (after the first milestone is violated), e.g. by changing account name etc. and saving the case.

Each milestone is independant (no repetition).

Is there anyway for this workflow to happen automatically, or an alternative to this setup to produce the result i'm looking for?
I have a scenario where I need to set 3 milestones within an Entitlement process. The first milestone is active when the case is created. The subsequent milestones should activate when the previous milestone becomes violated. 

The first milestone has a time limit, one this is violated another milestone is added. The third milestone follows the same pattern, using the second milestone violation as it's "enabler".

I've tried to set this up as follows:

There is a custom field on the Case object. Lets call this "Escalation_A". It's a Boolean / tickbox. Default: false.
The first milestone has a Violation Action (1 min after), type "Field Update".  This sets the custom field "Escalation_A" to true, and re-evaluates workflow rules.

The Second Milestone critera is:
Case: Escalation_A EQUALS True

However the milestone only becomes active on the case if I update the case record (after the first milestone is violated), e.g. by changing account name etc. and saving the case.

Each milestone is independant (no repetition).

Is there anyway for this workflow to happen automatically, or an alternative to this setup to produce the result i'm looking for?

I have a site that I we have created that the forgot password link is not working.  When you put in the username and click submit, it just sits there.  The ForgotPassword Confirm page does not display nor does the email get sent.  This is the standard Forgot Password pages and controller that was built when the site was created so they are standard pages. 

 

Any help is greatly appreciated.  This is an urgent project we are trying to roll and it's driving me insane.

 

Code for the page is here. 

 

<apex:page id="Registration" showHeader="false" controller="ForgotPasswordController" title="{!$Label.site.forgot_password}">

<apex:stylesheet value="{!URLFOR($Resource.CP_Site_Resources, 'main.css')}"/>




    <apex:composition template="CPSiteTemplate">


        <apex:define name="body">

            <div id="mainouter">
                
                <div id="maininner" align="center">
                    
                  <apex:form id="theForm" forceSSL="true">
                    <apex:panelGrid columns="2" style="margin-top:1em;">
                      <apex:outputLabel value="{!$Label.site.username}" for="username"/>
                      <apex:inputText required="true" id="username" value="{!username}"/>
                      <apex:commandButton id="submit" value="{!$Label.site.submit}" action="{!forgotPassword}"/>
                    </apex:panelGrid>
                    </apex:form>                  
                   <!-- Closing maininner Div here -->
                </div>
 
            <!-- closing mainouter Div here -->    
            </div>                     
 
 
        </apex:define>


  </apex:composition>





</apex:page>

 

 

 

/**
 * An apex page controller that exposes the site forgot password functionality
 */
public class ForgotPasswordController {
    public String username {get; set;}  
    
 
       
    public ForgotPasswordController() {}
    
    public PageReference forgotPassword() {
        boolean success = Site.forgotPassword(username);
        PageReference pr = Page.ForgotPasswordConfirm;
        pr.setRedirect(true);
        
        system.debug(success);
        
        if (success) {              
            return pr;
        }
        return null;
    }
    
     public static testMethod void testForgotPasswordController() {
        // Instantiate a new controller with all parameters in the page
        ForgotPasswordController controller = new ForgotPasswordController();
        controller.username = 'test@salesforce.com';        
    
        System.assertEquals(controller.forgotPassword(),null); 
    }
}

 

 

 

I am using SimpleSAMLphp as an Idp and Salesforce as the Sp. I have it working so that I can go to the Salesforce login page and use the additional button to logon using SSO, as per step 1 in this guide:
https://salesforce-developer.net/salesforce-sso-with-simplesamlphp

However, I need to redirect the user to a specific Visualforce page. I have tried adding the attribute for the startUrl into the SAML to no avail:

<saml:AttributeStatement>
    <saml:Attribute Name="uid" NameFormat="urn:oasis:names:tc:SAML:2.0:nameid-format:transient">
        <saml:AttributeValue xsi:type="xs:string">uid</saml:AttributeValue>
    </saml:Attribute>
    <saml:Attribute Name="startURL" NameFormat="urn:oasis:names:tc:SAML:2.0:nameid-format:transient">
        <saml:AttributeValue xsi:type="xs:string">https://mysfdomain/myvfpage/</saml:AttributeValue>
    </saml:Attribute>
</saml:AttributeStatement>

I've also tried adding in the ssoStartPage to no avail. Any help in redirecting this to the correct page would be appreciated.

Cheers, Lee