Hard boil eggs by putting eggs in in a saucepan with cold water and bring to a boil. Once boiling, cook for 7 minutes more and then remove to a bowl with ice water to stop cooking. Peel. Take 4 eggs and slice each into 5 disks. Quarter lengthwise the other 2 eggs for garnish.
In a large skillet, heat 4 tbsp olive over medium-high heat. Add sliced onions and bay leaves, cover, and cook stirring occasionally for 25 minutes. Add garlic and cook for another minute. Move off heat to cool a little.
Preheat oven to 350°F (177°C). Coat the bottom of a casserole dish with 2-3 tbsp olive oil. Dust bottom with salt and pepper.
Line casserole with overlapping potato slices to begin the first layer. Scatter some of the cooked onions and olives over the potatoes. Then scatter some of the cod chunks next. Top with 1 sliced hard boiled egg. Continue layering in the same order, adding olive oil and salt and pepper over each potato layer before continuing. Press down to keep layers even and flat. End with a layer of potatoes, sprinkled with olive oil, salt and pepper.
Cover casserole with foil and bake for 45 minutes. Remove cover and cook another 10 minutes to lightly brown top.
Remove from oven and allow to cool a bit. Arrange quartered eggs, any remaining olives, and sprinkle parsley over. Serve.