No they can't, she has a contract stating a set number of hours, and unless there is anything that states otherwise or if she signed to accept the change in hours, you have cause for complaint. The best would be to join the union the supermarket is with or write to HR.
I've been through all this **** before and through my knowledge writing and going to higher authority usually puts a stop to all this crap.
Alternatively try ACAS but im not sure that they specifically deal with such issues.