osem icon indicating copy to clipboard operation
osem copied to clipboard

Allow late stand submission discussion

Open rahul2240 opened this issue 5 years ago • 11 comments

For unregistered user:

Allowing late stand submission will involve sending an invitation to unregistered users.

My approach is -

  • A form to enter emails to invite those people.
  • send an invitation mail.
  • I will add an invited_ids column to conference that will store all the user id of people that are allowed to submit late stand for that particular conference.
  • Add in the ability to allow users with user id same as present in invited_ids column.

I will start implementing it next week.

rahul2240 avatar Jun 08 '19 07:06 rahul2240

I am confused, is this about late submissions or inviting users to become booth responsibles?!

differentreality avatar Jun 09 '19 15:06 differentreality

@differentreality It is related to inviting unregistered users to request a booth after the request booth period is over.

rahul2240 avatar Jun 09 '19 15:06 rahul2240

So invited people can have the extra privilege to request a booth after the deadline? How do we know if they were invited at any given time to be a booth responsible or if they were invited to be granted the extra privilege? A booth responsible can be added/invited at any time (or at least that's what makes sense to me).

differentreality avatar Jun 09 '19 19:06 differentreality

@differentreality , Yes they have the extra privilege to request a booth after the deadline. I will add one more attribute to the conference, it will be for entering the number of days by the organizer, invitation expires after that number of days. Yes booth responsible can be added/invited at any time.

If you approve it then I will proceed with the implementation.

rahul2240 avatar Jun 10 '19 04:06 rahul2240

@differentreality @Ana06 I could not find a way to invite people for a particular conference using devise invitable gem. I have also asked the creators, and they said there is no way yet to invite users with different expiry token. So, I am thinking of setting invitation token expire time to constant say 1 or 2 weeks and create a new invitations model that will hold a user id, conference id and invite expire field. Whenever a user signs up or logs in, this invitation model will be checked to find "whether user is allowed to submit a booth request or not'. This approach has advantages like we can invite a user multiple times and for multiple conferences, also we can update the model in future according to the needs.

rahul2240 avatar Jun 12 '19 05:06 rahul2240

@rahul2240 to make sure we all understand the same things, please write down the steps we expect users to follow and show us the relationships and sample db tables of what you are suggesting.

differentreality avatar Jun 16 '19 12:06 differentreality

@differentreality , here is what I am thinking.

What I want to do:

  1. Admin will visit a invite_booth_path.
  2. There will be a form with email id field(multiple emails) and a invitation_deadline (date) to invite those email users.
  3. Admin will enter email ids and a date to invite those emails and submit the form.
  4. If the invited user registers before the invitation_deadline then user can submit booth request (request booth button visible). Otherwise, request booth button will not be visible.
  5. If request booth end date passes then only point 4 is applicable.

My approach for implementation:

  1. Create a form with email and a date field.
  2. A new controller i.e "invites controller" for the form data.
  3. A new model i.e "invites model" that will store the following fields. a. user id (user id of invited user that is created in db just after the invitation) b. invitation_deadline (last date to request a booth for that particular invited user) c. conference_id ( the conference for which the user is invited ) d. invited_for (booth or track)

rahul2240 avatar Jun 17 '19 18:06 rahul2240

On Mon, Jun 17, 2019 at 11:04:52AM -0700, Rahul wrote:

   b. number of days to invite

I suggest a focus on the new deadline might work better than having that as a derived quantity to be calculated: everyone involved is thinking in terms of the new date that applies, rather than the number of days away that is relative to some other date.

Alasdair

kergon avatar Jun 17 '19 18:06 kergon

@kergon Thanks for the suggestion, you are right. Date will be better.

rahul2240 avatar Jun 17 '19 18:06 rahul2240

@rahul2240 so we would need two separate new controllers and db tables for invitations regarding booths and tracks?

differentreality avatar Jul 21 '19 12:07 differentreality

We will need a db table for invitations regarding booth and tracks. We can use a separate controller to keep the invitation code separate.

rahul2240 avatar Jul 21 '19 18:07 rahul2240