Assigning to Salman, as likely/possibly involves JS. Right now the flow is it adds a topic as non-validated when you click the checkbox to add a poll, then it takes you to a screen to add the poll, and after that it attaches the poll and validates. It's a messy hack that I think I did originally as I didn't want to assume JS was on yet didn't want to do something technically complicated.
We agreed on Skype to keep the poll adding form on a separate page (to reduce clutter) but change it so that we add new topic and poll in one go instead of adding an unvalidated topic first.
https://github.com/ocproducts/composr/commit/fc2421e92dd0a053cae61b72f5c2d3735d0c986c
https://github.com/ocproducts/composr/commit/fc2421e92dd0a053cae61b72f5c2d3735d0c986c