No, it’s both. I think that political parties are associations of like-minded people, getting together to advance particular policy or ideological goals in the political area. Their freedom of association is a protected Charter value, and they get to decide who should be part of their association. If a party is organized for ideological purposes (rather than just being a vehicle to get candidates elected), then the party should be able to set rules as to who can be a member and who gets to vote on important issues, like candidates.
For example, the NDP kicked out Waffle supporters, because the NDP had a rule that you couldn’t belong simultaneously to two different political associations, and the idea of an organized sub-political group within the NDP, possibly with different electoral goals than the NDP at large, was problematic.
The party, like any other association, should have the right to control its own membership and its own ideology.
A good example was Stanfield when he was leader of the PCs. In the late 60’s, the PCs went through a bruising internal policy debate on bilingualism, and eventually settled on a modified support for official bilingualism. Then Leonard Jones, mayor of Moncton, New Brunswick, got the local PC party nomination on an anti-bilingualism platform. Stanfield refused to sign his nomination papers, because that was not party policy. Jones ran as an independent and won.
Stanfield’s calculus was that it was more important for the party to have candidates who supported the party platform on a contentious issue, than to have a candidate who was opposed to the party’s platform. He was willing to risk the seat to maintain the party platform.
If nominations are set by the electorate at large, the party loses control over its ideological platform. And in a parliamentary system, having a generally unified caucus is a very important value.