You are on the right track having this link table.

I would probably maintain an active flag, a start date, and an end date, in 
my link table. When a person becomes inactive on a project, I'd switch the 
flag and establish the end date. Each reassignment of a person to a project 
would get a new entry in the link table. This helps maintain a history, if 
thats necessary.

You can use the database to ensure that no more than one active link exists 
for each person/project combination.

Removing a link then becomes a simple update of the table (adding an end 
date and switching the active flag), while new additions would simply be 
table inserts.

HTH,

Brian


> Dear list,
>
> In my task management system, certain people have access to certain
> projects.
>
> I'd like an admin screen for each project that displays all the people
> with a checkbox beside their name.  The sysad can check or uncheck
> people as necessary.
>
> But I'm a bit confused how best to execute this (using MySQL and CF).
>
> My first thought was that each project would have its own table in the
> backend.  It'd have one column that would contain all the person_ids.
>
> PROJECT IHATECODING
> ---
> 01
> 04
> 06
>
> So users 01, 04, and 06 would have access to project "ihatecoding".
>
> But of course I can't do this because users can create projects on the
> fly.  So I made a table that combined project_ids and person_ids:
>
> PROJ_ID | PERS_ID
> 01 | 03
> 01 | 05
> 02 | 03
>
> But how the hell do I update this using CF?  Do I CFINSERT or CFUPDATE
> or what?  And how do I tell my app to remove people when they're
> unchecked?  This is killing me.  I feel like I can almost see how this
> is supposed to work but I'm like three IQ points short of getting it.
> :(
>
> Grateful thanks in advance for any help and insights,
> CK.
>
>
> 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Logware (www.logware.us): a new and convenient web-based time tracking 
application. Start tracking and documenting hours spent on a project or with a 
client with Logware today. Try it for free with a 15 day trial account.
http://www.houseoffusion.com/banners/view.cfm?bannerid=67

Message: http://www.houseoffusion.com/lists.cfm/link=i:4:192356
Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4
Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4
Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Donations & Support: http://www.houseoffusion.com/tiny.cfm/54

Reply via email to