In a bowl, mix together 2 tbsp olive oil with the ground ginger, paprika, cayenne pepper, turmeric and season with salt and pepper.
Add the chicken and toss until they are really well coated. Cover and leave overnight in the fridge, or for at least 30mins if you don't have time.
When you're ready to cook, pre-heat the oven to 190℃.
In a large frying pan, add 1 tbsp of olive oil and add the chicken legs (in patches if necessary) and cook for 6-8 minutes until golden. Remove, place in a casserole dish and repeat until all the chicken has been browned.
In the same pan (you might want to wipe it over with some kitchen roll) Heat 1 tbsp and fry the onions over a medium heat for 3-4 minutes until soft, but not burning. Add the garlic, ginger and saffron and cook for another minute.
Stir in the tomatoes, lemon juice and stock and bring to a boil. Gently pour over the chicken, season and stir, cover and place in the oven and cook for 1 hour.
Add the olives and preserved lemons and cook for a further 30minutes. Check occasionally that its not drying out, top up with a little hot water if needed.
Sprinkle with parsley and serve with couscous or rice. A warm buttered baguette also goes well alongside this dinner.