For our final CS project, we have been tasked with building a project management system for a large corporation (which the company wants us to use Drupal). So far we have a few entities created (project, request, and task). A project can have many tasks, and a project can only have one request attached (the request is created first, once approved, a project is created).
Since Drupal is really more of a content (blogs/comments/articles/pages) management system, it is difficult to create dynamic forms that allow showing tasks attached to a project with the ability to add tasks directly within the project "form". I guess this would kind of be a master/detail view.
How can I go about building these types of add/edit/details "forms"? My first two ideas are:
- Build custom add/edit/delete forms for each entity type
- Build a node-add-project.tpl.php, node-edit-project.tpl.php, etc... for each complex view required
The downside to this is that my fields in my forms are now hard-coded. One requirement is that this system must be dynamic so the end-user can add a field if they need to.
How can I go about this? Templates? Custom Forms?
By the way I have googled, and googled, and googled (probably 5-8 hours) of different things (master details, complex forms, complex entity relationship forms) to no avail.
I am aware of the nodereference and entity reference (and all other reference) types. But these only allow you to use a dropdown list, or a select list, etc...
It is looking like building the database with the Schema API, and utilizing the Form, Theme, and security APIs are going to be our best bet.
Here is a good read.