2

I am in need of a voting solution for one of my clients that will give members UP TO four votes, and no more. I have looked over the usual polling modules on devot:ee and all of them either allow for single votes or multiple votes, but not up to a specified number of votes.

So that I can use one of these polling add-ons, I will limit voting to a single vote per member, but I will then need the ability to allow users to register an additional three members, and NO MORE.

How can I allow a member to register a limited number of other members?

1
  • Sam - best to limit each question to a single issue, you'll get better responses (less overwhelming). Jan 4, 2013 at 18:11

3 Answers 3

2

For your original question, I can't say of any add-ons that I know that allow you to limit by number of votes. It's generally one or multiple, but some allow you to specify one vote per day.

That said, I don't think the question you asked is correct, and should possibly be edited. The question as asked, is looking to limit the number of votes per member, so 4 votes per each member. But that isn't what you are actually looking to do. It seems as if you actually want, 1 vote per member, but if the member is part of a band, only 4 members have voting privileges.

This is a bit different of an issue. Because it's either about:

  1. Restricting Number of Band Members- as you mentioned above; or
  2. Assigning Voting Privileges to Only Some Band Members

Personally, I like the idea of number two, assigning voting privileges, better than restricting number of band members. Because really, if a band has eight people/members, then their listing should probably list 8 members.

The easiest way, I can think of in restricting voting privileges is to have the band decide. Assuming that each band has one primary admin— the person who may register other band members, update band profile, and do whatever else your site allows them to do (it could simple just be tied to the member who creates the band account), that individual can select which members would vote.

I don't know how you create band profiles, yet. But let's assume, an individual joins the music association. The register, create their basic profile, and then at some stage they are offered to create a profile for their band.

Let's then also assume that you are storing member data within channels and NOT just in EE's default membership module (a number of add-ons allow for this) and band profiles are stored in another data channel. You can then relate members to bands, using Playa or the Relationship module.

Next up you would need at least two basic components:

  1. Someone or Something to Assign Voting Privileges; and
  2. A Method to Show/Hide Vote Option on Poll based on Voting Privileges.

You can get fancier, but I'm just thinking out loud here.

Let's further assume, that you're NOT going to create a plugin to randomly assign voting privileges to band members (that would be cool, but let's say it's not on your agenda). Then, you'd probably want: a custom field in member profile called member_type: individual, duo, band (or whatever your options). Another custom_field to establish their assignment type: admin (can administer band profile and voting privileges) or member. Then also the custom field '{can_vote}'.

If none of the members have access to the backend control panel, meaning you are giving them editing privileges via SafeCracker forms, then this is much easier to control. You can check to see if the currently logged_in member is a band admin, before displaying the option to assign voting privileges and a list of band members. You'd probably need javascript to check that only 4 records where modified to give them voting privileges.

My javascript skills are minimal, so can't help you there. But it should be doable. Basically, the javascript would enforce the 4 limit, not allowing the update to be submit unless 4 or fewer band members were selected for the privilege.

Then the same works with the poll. It would be viewable to all, but you'd ONLY show the vote/submit button if the person is currently logged_in and has voting privileges. I suppose you could also show to all, and have javascript do a quick query on click to see if they are logged in and have voting privileges.

Those are my initial thoughts.

4
  • I have edited the original post to simplify and clarify based upon your comments. Jan 4, 2013 at 19:02
  • Because the site uses the Membrr subscription module and due to the way it is currently set-up, restricting the number of additional members is the preferred method at this time. I have found the Invitation link add-on on devot:ee and I think it will do the trick. The original band member can generate a limited three invitation codes and then share them with band members. The other band members can register separately and then apply the codes to get voting rights. Jan 4, 2013 at 19:09
  • So it seems like you've solved this for now, is that correct? or did I miss something? Jan 4, 2013 at 19:09
  • Not solved yet. I have a lead on a possible solution. Will comment and write another answer when I have determined if it will work or not. Jan 4, 2013 at 19:28
1

If you search through Devot:ee you will find several results for polling addons. I haven't used any of them so cannot actually help out with the other part of your question.

1

I have been able to put together a solution to give members the ability to register or invite a limited number of other members. This is part of a larger vote/polling system that has some specific needs, but I will answer this question specifically.

Using the Invitations add-on, we can allow members to generate one-time use invitation keys. These keys allow other member, or non-member users, to register or change their member group (thus providing different privileges).

There is no setting in the add-on to limit the number of keys generated by a given member. To create this limitation, we use a conditional in a template that generates keys which checks to see if the keys have already been generated by the member. If NO, then it proceeds with the key generation. If YES, then it shows the key already generated and will not generate any more.

Keys are generated simply by visiting a template that uses the generate key tag. By using an embed template for each tag, we can generate multiple unique keys on a single template.

Using this method, we can give members the ability to invite or register a limited number of additional users.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.