An error occurred while processing the template.
The following has evaluated to null or missing:
==> request.getCookies()  [in template "35001#35028#2420792" at line 11, column 19]

----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #local cookies = request.getCookies()  [in template "35001#35028#2420792" in function "isAlertHidden" at line 11, column 1]
----
1<#compress> 
2<#assign 
3utilname = "com.liferay.portal.kernel.servlet.taglib.ui.BreadcrumbUtil" 
4type_any = staticUtil[utilname].ENTRY_TYPE_ANY 
5breadcrumbEntries = staticUtil[utilname].getBreadcrumbEntries(request, [type_any]) 
6
7 
8<#if serviceLocator?? && entries?has_content> 
9 
10<#function isAlertHidden alertId> 
11<#local cookies = request.getCookies()>  
12    <#list cookies as cookie> 
13        <#if cookie.getValue()?matches(alertId)> 
14        <#return true> 
15        </#if> 
16    </#list> 
17        <#return false> 
18</#function> 
19 
20<#function normalAlert entry> 
21    <#if (alertType?contains('value 1') || alertType?contains('value 2'))><#return true></#if> 
22  <#return false> 
23</#function> 
24 
25<script> 
26function hideAlert(alertId) {  
27  var now = new Date(); 
28  var time = now.getTime(); 
29  var expireTime = time + 1000*36000; 
30  now.setTime(expireTime); 
31  document.cookie = 'alertHidden=' + alertId + ';expires='+now.toUTCString()+';path=/'; 
32
33</script> 
34 
35<style> 
36 
37.portlet:first-of-type{ 
38margin-bottom:0px!important; 
39
40 
41.alert-body { 
42 max-width: 1228px; 
43 width: 100%; 
44 padding: 0 1rem 0 1rem; 
45 margin-top: 0.8rem; 
46
47 
48.alert-body-wide { 
49  background-color:#fc0; 
50  width: 100vw; 
51  position: relative; 
52  left: calc(-51vw + 50.5%); 
53  margin-top: -1.1rem; 
54
55 
56 
57.lexicon-icon-exclamation-full { 
58    height: 1.3em; 
59    width: 1.3em; 
60
61 
62.alert { 
63    margin-bottom: -1.5rem; 
64
65 
66.alert h2 { 
67    margin-top: 0rem; 
68    margin-bottom: 0rem;  
69    color:#FFFFFF; 
70    font-size: 1.25rem; 
71     
72
73 
74.alert-primary { 
75    background-color: #FFFFFF; 
76    border-color: rgb(0 0 0 / 0%); 
77
78     
79.alert-top { 
80    width: 100%; 
81}  
82 
83.red-background { 
84    background-color:#D4351C; 
85
86 
87.bg-black { 
88    background-color:#000000; 
89
90 
91	.alert-primary .close { 
92    color: #000000; 
93    font-size: 2rem; 
94    float:right; 
95    position: inherit; 
96    margin-top: 0.5rem; 
97
98    .alert-text-primary { 
99    color: #000000!important;  
100    border: 6px #000000 solid!important; 
101
102     
103    .alert-text-red { 
104        color: #000000!important;  
105	border: 6px #D4351C solid!important; 
106
107     
108    .alert-text-yellow { 
109    color: #000000!important;  
110	border: 6px #D4351C solid!important; 
111
112     
113	</style>     
114 
115 
116    <#assign journalArticleRetrievalService = serviceLocator.findService("com.placecube.journal.service.JournalArticleRetrievalService") /> 
117         
118	<#assign journalArticleService = serviceLocator.findService("com.liferay.journal.service.JournalArticleService") /> 
119	     
120	<#assign getterUtil = staticUtil["com.liferay.portal.kernel.util.GetterUtil"] /> 
121	     
122	     
123	<#assign AssetCategoryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService")> 
124	     
125	<#assign AssetCategoryService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryService")> 
126	 
127 
128	    <#list entries as curEntry> 
129 
130	        <#assign journalArticle = journalArticleService.getLatestArticle(curEntry.getClassPK()) /> 
131	 
132	        <#assign alertBody = journalArticleRetrievalService.getFieldValue(journalArticle,"alertBody",locale) /> 
133	 
134	        <#assign body = alertBody.get() /> 
135 
136            <#assign alertId = curEntry.entryId?c> 
137                 
138            <#assign alertDismiss = journalArticleRetrievalService.getFieldValue(journalArticle,"select_dismiss",locale) /> 
139         
140            <#assign alertType = journalArticleRetrievalService.getFieldValue(journalArticle,"select_type",locale) /> 
141             
142                        <#if alertType?contains('value 3')> 
143                            <div class="alert alert-primary <#if alertDismiss?contains('value 1')>alert-dismissible</#if> p-0" role="alert"> 
144                                <div class="alert-body-wide d-flex justify-content-center"> 
145                                    <div class="alert-body"> 
146                                    <div class="alert-top alert-warning px-3"> 
147                                        <#if alertDismiss?contains('value 1')> 
148                                            <button type="button" id ="alertClose" onclick="hideAlert(${alertId})" class="close text-dark mt-2"  data-dismiss="alert" aria-label="Close"> 
149                                                <span aria-hidden="true">&times;</span> 
150                                            </button> 
151                                        </#if> 
152                                        <h2 class="text-dark"> 
153                                        <svg class="lexicon-icon lexicon-icon-exclamation-full" viewBox="0 0 512 512"> 
154                                            <path class="lexicon-icon-outline" d="M256,0C114.6,0,0,114.6,0,256s114.6,256,256,256s256-114.6,256-256S397.4,0,256,0z M256,384c-17.7,0-32-14.3-32-32 
155    s14.3-32,32-32s32,14.3,32,32S273.7,384,256,384z M272,288h-32l-16-160h64L272,288z"></path> 
156                                        </svg> Important 
157                                        </h2> 
158                                    </div> 
159                                    <div class="alert-text alert-warning px-3"> 
160                                            <h3 class="mt-2">${curEntry.getTitle(locale)}</h3> 
161                                                <p>${body}</p> 
162                                    </div> 
163                                </div> 
164                            </div> 
165                        </#if> 
166                 
167                <#list curEntry.categories as category> 
168                 
169                    <#assign cat = category.getName()?lower_case /> 
170                    <#assign cat2 = cat?replace("and ", "")/> 
171                    <#assign cat3 = cat2?replace(",", "")/> 
172                        <#list breadcrumbEntries as breadcrumb> 
173                     
174                        <#assign breadcrumbLevel = breadcrumb.getTitle()?lower_case/> 
175                        <#assign breadcrumbLevelLower = breadcrumbLevel?replace(",", "")/> 
176                        <#assign breadcrumbLevelLower2 = breadcrumbLevelLower?replace("and ", "")/> 
177                        <#assign breadcrumbLevelLower3 = breadcrumbLevelLower2?replace(" information", "")/> 
178                         
179                        <#--<p>Breadcrumb level: : ${breadcrumbLevelLower3}</p>--> 
180 
181                            <#if !isAlertHidden(alertId)> 
182 
183                          <#--<p>Alert category : ${cat3}</p>--> 
184 
185                        	    <#if breadcrumbLevelLower3?matches(cat3) || !cat3?has_content> 
186 
187                     
188                                    <#if normalAlert??> 
189                                <div class="alert alert-primary d-flex justify-content-center <#if alertDismiss?contains('value 1')>alert-dismissible</#if> p-0 mb-2" role="alert"> 
190                                    <div class="alert-body"> 
191                                        <div class="alert-top 
192                                            <#if alertType?contains('value 1')>red-background</#if> 
193                                            <#if alertType?contains('value 2')>bg-black</#if> px-3"> 
194                                            <#if alertDismiss?contains('value 1')> 
195                                                <button type="button" id ="alertClose" onclick="hideAlert(${alertId})" class="close text-light"  data-dismiss="alert" aria-label="Close"> 
196                                                    <span aria-hidden="true">&times;</span> 
197                                                </button> 
198                                            </#if> 
199                                            <h2> 
200                                            <svg class="lexicon-icon lexicon-icon-exclamation-full" viewBox="0 0 512 512"> 
201                                                <path class="lexicon-icon-outline" d="M256,0C114.6,0,0,114.6,0,256s114.6,256,256,256s256-114.6,256-256S397.4,0,256,0z M256,384c-17.7,0-32-14.3-32-32 
202        s14.3-32,32-32s32,14.3,32,32S273.7,384,256,384z M272,288h-32l-16-160h64L272,288z"></path> 
203                                            </svg>  
204                                            <#if alertType?contains('value 1')>Warning</#if> 
205                                            <#if alertType?contains('value 2')>Important</#if> 
206                                            </h2> 
207                                        </div> 
208                                        <div class=" 
209                                            <#if alertType?contains('value 1')>alert-text-red</#if> 
210                                            <#if alertType?contains('value 2')>alert-text-primary</#if> px-3"> 
211                                                <h3 class="mt-2">${curEntry.getTitle(locale)}</h3> 
212                                                    <p>${body}</p> 
213                                        </div> 
214                                    </div> 
215                                </div> 
216                                    </#if> 
217                                </#if> 
218                            </#if>   
219                        </#list>   
220                </#list>     
221        </#list>  
222    </#if> 
223</#compress> 

Why choose us

A friendly, local service you can trust

Dorset Waste Services offer a competitive and reliable range of commercial waste and recycling services to more than 4000 businesses across Dorset which can be tailored to meet your specific requirements.

Our experienced officers can help find you the best solution for your waste, maximising the amount of material recycled whilst helping to save you money!

We offer a variety of waste and recycling services for the following:

  • rubbish
  • recycling (mixed paper, cardboard, tins & cans, plastic bottles, plastic pots, tubs and trays)
  • glass bottles & jars
  • food waste

We can also provide tailored collections for events, holiday lets and self-catering accommodation.

Benefits

  • competitive prices with no VAT - our customers do not need to pay VAT for any of our waste and recycling services
  • a wide range of services offered - we can provide collections for rubbish, recycling, glass bottles & jars and food waste
  • no rental charges - unlike many service providers, we do not charge for the rental of any of our containers
  • no hidden costs - the price quoted is the price you pay! We apply no additional charges for admin support or Duty of Care documents.
  • local and reliable - we have the largest rubbish and recycling fleet in Dorset, which allows us to provide reliable, regular and flexible waste and recycling collections to schools and businesses all year round
  • specialist support - we have a team of hugely experienced officers who can provide help and advice on how to send less waste to landfill and reduce your disposal costs 

Share this page