Skip to content

Instantly share code, notes, and snippets.

@davidknipe
davidknipe / PreventSelfApprovalInit.cs
Last active October 7, 2017 19:17
Prevent users from starting an approval sequence where there are an approver in Episerver approval sequences
using EPiServer.Framework;
using EPiServer.Framework.Initialization;
using EPiServer.ServiceLocation;
using EPiServer.Core;
using EPiServer.Security;
using EPiServer.Approvals;
using EPiServer.Approvals.ContentApprovals;
using Microsoft.AspNet.Identity;
using Microsoft.AspNet.Identity.EntityFramework;
using EPiServer.Cms.UI.AspNetIdentity;
@davidknipe
davidknipe / FilledInFormKpi.cs
Created September 1, 2017 16:49
A submitted form KPI for Episerver A/B testing
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Runtime.Serialization;
using System.Text;
using EPiServer;
using EPiServer.Core;
using EPiServer.Forms.Core;
using EPiServer.Forms.Core.Events;
using EPiServer.Find.Framework.BestBets;
using EPiServer.Globalization;
using System;
using System.Globalization;
using System.Linq;
namespace BestBetExtension.Business.CustomPhraseCriterion
{
public class LocaleAwarePhraseCriterion : DefaultPhraseCriterion, IPhraseCriterion
{
using EPiServer.ServiceLocation;
using EPiServer.Framework.Initialization;
using EPiServer.Find.Framework.BestBets;
using EPiServer.Framework;
namespace BestBetExtension.Business.CustomPhraseCriterion
{
[InitializableModule]
[ModuleDependency(typeof(ServiceContainerInitialization))]
[ModuleDependency(typeof(EPiServer.Find.Framework.FrameworkInitializationModule))]
@davidknipe
davidknipe / IMarketAccessRightsHelper.cs
Last active June 29, 2018 13:05
Set access rights to Episerver Commerce Markets for specific users
using Mediachase.Commerce;
namespace EPiServer.Reference.Commerce.Site.Features.MarketSecurity
{
public interface IMarketAccessRightsHelper
{
bool IsFilteredMarketsRequest();
bool UserHasAccessToMarket(IMarket market);
}
}
using EPiServer.Shell.ContentQuery;
using System.Collections.Generic;
using System.Web;
using EPiServer;
using EPiServer.Approvals;
using EPiServer.Core;
using EPiServer.ServiceLocation;
using EPiServer.Shell.Rest;
using EPiServer.Shell.Services.Rest;
using System;
using System.Collections.Generic;
using System.Net;
using System.Runtime.Serialization;
using System.Text;
using EPiServer;
using EPiServer.Core;
using EPiServer.Marketing.KPI.Manager.DataClass;
using EPiServer.Marketing.KPI.Results;
using EPiServer.Personalization.VisitorGroups;
namespace EpiBot.Models
{
public class ApprovalDecision
{
public string Decision;
public int StepId;
public int ActiveStepIndex;
}
}
namespace ApprovalsApi.Models
{
public class ApprovalDecision
{
public string Decision;
public int StepId;
public int ActiveStepIndex;
}
}
@davidknipe
davidknipe / OverrideLoginImages.cs
Created March 7, 2016 15:26
Override the login page images in Episerver
[InitializableModule]
[ModuleDependency(typeof(EPiServer.Web.InitializationModule))]
public class OverrideLoginImages : IInitializableModule
{
public void Initialize(InitializationEngine context)
{
var host = ServiceLocator.Current.GetInstance<IHostingEnvironment>();
if (host == null) return;
var mappedProvider = new VirtualPathMappedProvider("OverrideLoginImages", new NameValueCollection());