Coat the fish in half the ground spices and leave to marinate in the fridge overnight.
Preheat the oven to 170C/340F/Gas 3. Heat one tablespoon of the olive oil in a casserole and add the remaining spices, the crushed garlic and grated onion. Allow the onion to soften without browning.
Add the apricots and their soaking water, the almonds, sultanas or raisins, honey, saffron, tomatoes, tomato juice and fish stock. Bring to the boil, place in the oven and cook for one hour.
After 40 minutes, add the fish and return the casserole to the oven to finish cooking. If you want a thicker sauce, remove the fish pieces, put on a warm plate and reduce the sauce over a high heat until thickened.
Fry the preserved lemon rind in the remaining olive oil for a few minutes, then fold in the chopped coriander.
Pour the sauce over the fish and garnish with the lemon and coriander mixture.