News

Procedural fairness: Disciplinary hearing

Image
Image
What does this mean to an employee who refuses to attend a hearing?
The purpose of a disciplinary hearing is to afford an employee the opportunity to state their case in response to allegations made by the employer ahead of seeking dismissal. The Labour Relations Act puts it in these terms:
  • Section 188(1): "A dismissal …, is unfair if the employer fails to prove … that the dismissal was effected in accordance with a fair procedure"
  • Section 188(2): "Any person considering whether or not … the dismissal was effected in accordance with a fair procedure must take into account … code of good practice"
  • Schedule 8 provides for a hearing before any decision to dismiss has been taken by the employer.
In an early 2000 case, the Labour Court made the point that the LRA "demands less stringent and formalised compliance than was the case under the ULP jurisprudence of the Industrial Court". It is also fair to say that our existing labour dispensation unequivocally rejects a check-list approach to procedural fairness.

Best summarised, there are probably three basic requirements that have to be complied with in the context of a disciplinary inquiry to ensure procedural fairness: 
  • the employee should know the nature of the accusation against them;
  • they should be given an opportunity to state their case; and 
  • the tribunal should act in good faith.
Often employees play sick to delay the convening of the hearing. This article does not examine this aspect. This article looks at the instance where an employee simply refuses to attend the hearing. 

Can the employee be charged for insubordination? The answer is no. Would the answer change, if the employee believed that the hearing would not be fair and thus decides they will not attend the hearing? Can the employee then be charged for insubordination? The answer does not change. The reason is simple, the right to procedural fairness vests in the employee. It is for the employee to exercise the right. If they choose not to exercise the right this is not a basis to discipline the employee. To do so would be perverse and ill-conceived let alone, unfair.

Error while rendering the view [Custom Container] Please, make sure the rendering is configured properly or contact your administrator.

  • System.Web.HttpUnhandledException (0x80004005): An unhandled exception occurred. ---> Sitecore.ContentSearch.Exceptions.IndexNotFoundException: Index (EMPTY) was not found
  • at Sitecore.ContentSearch.ContentSearchManager.GetIndex(String name)
  • at Sitecore.ContentSearch.Client.Pipelines.ParseDataSource.GetDataSourceItemByQuery.CreateSearchContext(ParseDataSourceArgs args)
  • at Sitecore.ContentSearch.Client.Pipelines.ParseDataSource.GetDataSourceItemByQuery.Process(ParseDataSourceArgs args)
  • at (Object , Object )
  • at Sitecore.Pipelines.CorePipeline.Run(PipelineArgs args)
  • at Sitecore.Pipelines.DefaultCorePipelineManager.Run(String pipelineName, PipelineArgs args, String pipelineDomain, Boolean failIfNotExists)
  • at Sitecore.Pipelines.DefaultCorePipelineManager.Run(String pipelineName, PipelineArgs args, Boolean failIfNotExists)
  • at Sitecore.Pipelines.ParseDataSource.ParseDataSourcePipeline.Run(BaseCorePipelineManager pipelineManager, Database database, String dataSource, Item relativeRootItem)
  • at Sitecore.Mvc.Data.ItemLocator.GetItemsFromDataSource(String dataSource, Item relativeRootItem)
  • at Sitecore.Mvc.Presentation.Rendering.GetStaticItem()
  • at Sitecore.Mvc.Presentation.Rendering.get_StaticItem()
  • at Sitecore.Mvc.Presentation.Rendering.get_Item()
  • at Sitecore.Mvc.Pipelines.Response.GetRenderer.GetItemRenderer.GetItemToRender(Rendering rendering, GetRendererArgs args)
  • at Sitecore.Mvc.Pipelines.Response.GetRenderer.GetItemRenderer.GetRenderer(Rendering rendering, GetRendererArgs args)
  • at Sitecore.Mvc.Pipelines.Response.GetRenderer.GetItemRenderer.Process(GetRendererArgs args)
  • at (Object , Object )
  • at Sitecore.Pipelines.CorePipeline.Run(PipelineArgs args)
  • at Sitecore.Pipelines.DefaultCorePipelineManager.Run(String pipelineName, PipelineArgs args, String pipelineDomain, Boolean failIfNotExists)
  • at Sitecore.Pipelines.DefaultCorePipelineManager.Run(String pipelineName, PipelineArgs args, String pipelineDomain)
  • at Sitecore.Mvc.Pipelines.PipelineService.RunPipeline[TArgs](String pipelineName, TArgs args)
  • at Sitecore.Mvc.Pipelines.PipelineService.RunPipeline[TArgs,TResult](String pipelineName, TArgs args, Func`2 resultGetter)
  • at Sitecore.Mvc.Presentation.Rendering.GetRenderer()
  • at Sitecore.Mvc.Presentation.Rendering.get_Renderer()
  • at Sitecore.Mvc.Presentation.Rendering.ToString()
  • at Sitecore.Mvc.Pipelines.Response.RenderRendering.InitializeProfiling.StartProfiling(RenderRenderingArgs args)
  • at Sitecore.Mvc.Pipelines.Response.RenderRendering.InitializeProfiling.Process(RenderRenderingArgs args)
  • at (Object , Object )
  • at Sitecore.Pipelines.CorePipeline.Run(PipelineArgs args)
  • at Sitecore.Pipelines.DefaultCorePipelineManager.Run(String pipelineName, PipelineArgs args, String pipelineDomain, Boolean failIfNotExists)
  • at Sitecore.Pipelines.DefaultCorePipelineManager.Run(String pipelineName, PipelineArgs args, String pipelineDomain)
  • at Sitecore.Mvc.Pipelines.PipelineService.RunPipeline[TArgs](String pipelineName, TArgs args)
  • at Sitecore.Mvc.Pipelines.Response.RenderPlaceholder.PerformRendering.Render(String placeholderName, TextWriter writer, RenderPlaceholderArgs args)
  • at (Object , Object )
  • at Sitecore.Pipelines.CorePipeline.Run(PipelineArgs args)
  • at Sitecore.Pipelines.DefaultCorePipelineManager.Run(String pipelineName, PipelineArgs args, String pipelineDomain, Boolean failIfNotExists)
  • at Sitecore.Pipelines.DefaultCorePipelineManager.Run(String pipelineName, PipelineArgs args, String pipelineDomain)
  • at Sitecore.Mvc.Pipelines.PipelineService.RunPipeline[TArgs](String pipelineName, TArgs args)
  • at Sitecore.Mvc.Helpers.SitecoreHelper.RenderPlaceholderCore(String placeholderName, TextWriter writer)
  • at Sitecore.Mvc.Helpers.SitecoreHelper.Placeholder(String placeholderName)
  • at ASP._Page_Views_Container_CustomContainer_cshtml.Execute() in c:\home\site\wwwroot\Views\Container\CustomContainer.cshtml:line 18
  • at System.Web.WebPages.WebPageBase.ExecutePageHierarchy()
  • at System.Web.Mvc.WebViewPage.ExecutePageHierarchy()
  • at System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage)
  • at System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context)
  • at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
  • at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
  • at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
  • at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList`1 filters, ActionResult actionResult)
  • at System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName)
  • at Sitecore.Mvc.Pipelines.MvcEvents.Exception.ShowAspNetErrorMessage.ShowErrorMessage(ExceptionContext exceptionContext, ExceptionArgs args)
  • at Sitecore.Mvc.Pipelines.MvcEvents.Exception.ShowAspNetErrorMessage.Process(ExceptionArgs args)
  • at (Object , Object )
  • at Sitecore.Pipelines.CorePipeline.Run(PipelineArgs args)
  • at Sitecore.Pipelines.DefaultCorePipelineManager.Run(String pipelineName, PipelineArgs args, String pipelineDomain, Boolean failIfNotExists)
  • at Sitecore.Pipelines.DefaultCorePipelineManager.Run(String pipelineName, PipelineArgs args, String pipelineDomain)
  • at Sitecore.Mvc.Pipelines.PipelineService.RunPipeline[TArgs](String pipelineName, TArgs args)
  • at Sitecore.Mvc.Filters.PipelineBasedRequestFilter.OnException(ExceptionContext exceptionContext)
  • at System.Web.Mvc.ControllerActionInvoker.InvokeExceptionFilters(ControllerContext controllerContext, IList`1 filters, Exception exception)
  • at System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName)
  • at System.Web.Mvc.Controller.ExecuteCore()
  • at System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext)
  • at Sitecore.Mvc.Controllers.ControllerRunner.ExecuteController(Controller controller)
  • at Sitecore.Mvc.Controllers.ControllerRunner.Execute(TextWriter writer)
  • at Sitecore.Mvc.Pipelines.Response.RenderRendering.ExecuteRenderer.Render(Renderer renderer, TextWriter writer, RenderRenderingArgs args)
  • at Sitecore.Mvc.Pipelines.Response.RenderRendering.ExecuteRenderer.Process(RenderRenderingArgs args)
  • at HL.Foundation.ExceptionHandling.ExceptionHandlining.GetExceptionSafeViewRenderer.Process(RenderRenderingArgs args)

View more insights and analysis

Register now to receive personalized content and more!