Pour two tablespoons of vegetable oil in the bottom of a dutch oven or cast iron casserole over medium-low heat. Now add the onion, stirring to coat it with oil, then add 1 tablespoon of water, season with a little salt, and cover the pot. Cook the onions gently for 30 minutes, stirring occasionally, until they are soft but not brown.
In a separate skillet, brown the chicken. Heat a tablespoon of the olive oil over medium heat. Put the chicken in the pan, skin side down, and brown for 3-4 minutes on each side. Transfer it to a plate.
Once the onions are soft, add the saffron, honey, bay leaf, chicken broth, and the rest of the water. Throw in the dates, and then the chicken. Toss the sweet potatoes on top and bring the mixture to a boil.
Reduce the heat to medium, bringing the liquid to a low simmer. Cover and cook for 45 minutes to an hour. Resist the temptation to lift the lid before the 45 minute mark. The steam is what makes this dish so good. The dish is done once the sweet potatoes are soft.
Feel free to reduce the liquid once the chicken is cooked. Just remove the chicken and sweet potatoes and boil the liquid until it is a consistency to your liking.