Index: trunk/grails-app/views/contactDetailed/create.gsp
===================================================================
--- trunk/grails-app/views/contactDetailed/create.gsp	(revision 402)
+++ trunk/grails-app/views/contactDetailed/create.gsp	(revision 402)
@@ -0,0 +1,108 @@
+
+
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+        <meta name="layout" content="main" />
+        <title>Create Contact</title>
+    </head>
+    <body>
+        <div class="nav">
+            <h1>Create Contact</h1>
+        </div>
+        <div class="body">
+            <g:render template="/shared/messages" />
+            <g:hasErrors bean="${contactInstance}">
+            <div class="errors">
+                <g:renderErrors bean="${contactInstance}" as="list" />
+            </div>
+            </g:hasErrors>
+            <g:form action="save" method="post" >
+                <div class="dialog">
+                    <table>
+                        <tbody>
+
+                            <g:if test="${contactInstance.manufacturer}">
+                                <g:hiddenField name="manufacturer.id" value="${contactInstance.manufacturer.id}"/>
+                                <tr class="prop">
+                                    <td valign="top" class="name">
+                                        <label for="manufacturer">Manufacturer:</label>
+                                    </td>
+                                    <td valign="top" class="value">
+                                        <g:link controller="manufacturerDetailed" action="show" id="${contactInstance.manufacturer.id}">
+                                            ${contactInstance.manufacturer.encodeAsHTML()}
+                                        </g:link>
+                                    </td>
+                                </tr>
+                            </g:if>
+                            
+                            <g:if test="${contactInstance.supplier}">
+                                <g:hiddenField name="supplier.id" value="${contactInstance.supplier.id}"/>
+                                <tr class="prop">
+                                    <td valign="top" class="name">
+                                        <label for="supplier">Supplier:</label>
+                                    </td>
+                                    <td valign="top" class="value ${hasErrors(bean:contactInstance,field:'supplier','errors')}">
+                                        <g:link controller="supplierDetailed" action="show" id="${contactInstance.supplier.id}">
+                                            ${contactInstance.supplier.encodeAsHTML()}
+                                        </g:link>
+                                    </td>
+                                </tr>
+                            </g:if>
+                            
+                            <g:if test="${contactInstance.person}">
+                                <g:hiddenField name="person.id" value="${contactInstance.person.id}"/>
+                                <tr class="prop">
+                                    <td valign="top" class="name">
+                                        <label for="person">Person:</label>
+                                    </td>
+                                    <td valign="top" class="value">
+                                        <g:link controller="person" action="show" id="${contactInstance.person.id}">
+                                            ${contactInstance.person.encodeAsHTML()}
+                                        </g:link>
+                                    </td>
+                                </tr> 
+                            </g:if>
+                            
+                            <g:if test="${contactInstance.site}">
+                                <g:hiddenField name="site.id" value="${contactInstance.site.id}"/>
+                                <tr class="prop">
+                                    <td valign="top" class="name">
+                                        <label for="site">Site:</label>
+                                    </td>
+                                    <td valign="top" class="value">
+                                        <g:link controller="siteDetailed" action="show" id="${contactInstance.site.id}">
+                                            ${contactInstance.site.encodeAsHTML()}
+                                        </g:link>
+                                    </td>
+                                </tr> 
+                            </g:if>
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="contactType">Contact Type:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:contactInstance,field:'contactType','errors')}">
+                                    <g:select optionKey="id" from="${ContactType.list()}" name="contactType.id" value="${contactInstance?.contactType?.id}" ></g:select>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="email">Value:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:contactInstance,field:'value','errors')}">
+                                    <input type="text" id="value" name="value" value="${fieldValue(bean:contactInstance,field:'value')}"/>
+                                </td>
+                            </tr> 
+                        
+                        </tbody>
+                    </table>
+                </div>
+                <div class="buttons">
+                    <span class="button"><input class="save" type="submit" value="Create" /></span>
+                </div>
+            </g:form>
+        </div>
+    </body>
+</html>
Index: trunk/grails-app/views/contactDetailed/edit.gsp
===================================================================
--- trunk/grails-app/views/contactDetailed/edit.gsp	(revision 402)
+++ trunk/grails-app/views/contactDetailed/edit.gsp	(revision 402)
@@ -0,0 +1,112 @@
+
+
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+        <meta name="layout" content="main" />
+        <title>Edit Contact</title>
+    </head>
+    <body>
+        <div class="nav">
+            <h1>Edit Contact</h1>
+        </div>
+        <div class="body">
+            <g:render template="/shared/messages" />
+            <g:hasErrors bean="${contactInstance}">
+            <div class="errors">
+                <g:renderErrors bean="${contactInstance}" as="list" />
+            </div>
+            </g:hasErrors>
+            <g:form method="post" >
+                <input type="hidden" name="id" value="${contactInstance?.id}" />
+                <input type="hidden" name="version" value="${contactInstance?.version}" />
+                <div class="dialog">
+                    <table>
+                        <tbody>
+
+                            <g:if test="${contactInstance.manufacturer}">
+                                <g:hiddenField name="manufacturer.id" value="${contactInstance.manufacturer.id}"/>
+                                <tr class="prop">
+                                    <td valign="top" class="name">
+                                        <label for="manufacturer">Manufacturer:</label>
+                                    </td>
+                                    <td valign="top" class="value">
+                                        <g:link controller="manufacturerDetailed" action="show" id="${contactInstance.manufacturer.id}">
+                                            ${contactInstance.manufacturer.encodeAsHTML()}
+                                        </g:link>
+                                    </td>
+                                </tr>
+                            </g:if>
+
+                            <g:if test="${contactInstance.supplier}">
+                                <g:hiddenField name="supplier.id" value="${contactInstance.supplier.id}"/>
+                                <tr class="prop">
+                                    <td valign="top" class="name">
+                                        <label for="supplier">Supplier:</label>
+                                    </td>
+                                    <td valign="top" class="value ${hasErrors(bean:contactInstance,field:'supplier','errors')}">
+                                        <g:link controller="supplierDetailed" action="show" id="${contactInstance.supplier.id}">
+                                            ${contactInstance.supplier.encodeAsHTML()}
+                                        </g:link>
+                                    </td>
+                                </tr>
+                            </g:if>
+
+                            <g:if test="${contactInstance.person}">
+                                <g:hiddenField name="person.id" value="${contactInstance.person.id}"/>
+                                <tr class="prop">
+                                    <td valign="top" class="name">
+                                        <label for="person">Person:</label>
+                                    </td>
+                                    <td valign="top" class="value">
+                                        <g:link controller="person" action="show" id="${contactInstance.person.id}">
+                                            ${contactInstance.person.encodeAsHTML()}
+                                        </g:link>
+                                    </td>
+                                </tr>
+                            </g:if>
+
+                            <g:if test="${contactInstance.site}">
+                                <g:hiddenField name="site.id" value="${contactInstance.site.id}"/>
+                                <tr class="prop">
+                                    <td valign="top" class="name">
+                                        <label for="site">Site:</label>
+                                    </td>
+                                    <td valign="top" class="value">
+                                        <g:link controller="siteDetailed" action="show" id="${contactInstance.site.id}">
+                                            ${contactInstance.site.encodeAsHTML()}
+                                        </g:link>
+                                    </td>
+                                </tr>
+                            </g:if>
+
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="contactType">Contact Type:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:contactInstance,field:'contactType','errors')}">
+                                    <g:select optionKey="id" from="${ContactType.list()}" name="contactType.id" value="${contactInstance?.contactType?.id}" ></g:select>
+                                </td>
+                            </tr> 
+
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="email">Value:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:contactInstance,field:'value','errors')}">
+                                    <input type="text" id="value" name="value" value="${fieldValue(bean:contactInstance,field:'value')}"/>
+                                </td>
+                            </tr>
+
+                        </tbody>
+                    </table>
+                </div>
+                <div class="buttons">
+                    <span class="button"><g:actionSubmit class="save" value="Update" /></span>
+                    <span class="button"><g:actionSubmit class="cancel" value="Cancel" action="Show"/></span>
+                    <span class="button"><g:actionSubmit class="delete" onclick="return confirm('Are you sure?');" value="Delete" /></span>
+                </div>
+            </g:form>
+        </div>
+    </body>
+</html>
Index: trunk/grails-app/views/contactDetailed/list.gsp
===================================================================
--- trunk/grails-app/views/contactDetailed/list.gsp	(revision 402)
+++ trunk/grails-app/views/contactDetailed/list.gsp	(revision 402)
@@ -0,0 +1,52 @@
+
+
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+        <meta name="layout" content="main" />
+        <title>Contact List</title>
+    </head>
+    <body>
+        <div class="nav">
+            <h1>Contact List</h1>
+        </div>
+        <div class="body">
+            <g:render template="/shared/messages" />
+            <div class="list">
+                <table>
+                    <thead>
+                        <tr>
+                        
+                   	        <g:sortableColumn property="id" title="Id" />
+                        
+                   	        <g:sortableColumn property="value" title="Value" />
+
+                            <th></th>
+                        
+                        </tr>
+                    </thead>
+                    <tbody>
+                    <g:each in="${contactInstanceList}" status="i" var="contactInstance">
+                        <tr class="${(i % 2) == 0 ? 'clickableOdd' : 'clickableEven'}" onclick='window.location = "${request.getContextPath()}/contactDetailed/show/${contactInstance.id}"'/>
+
+                            <td>${fieldValue(bean:contactInstance, field:'id')}</td>
+
+                            <td>${fieldValue(bean:contactInstance, field:'value')}</td>
+
+                            <td>
+                                <g:link action="show" id="${contactInstance.id}">
+                                    <img  src="${resource(dir:'images/skin',file:'database_go.png')}" alt="Show" />
+                                </g:link>
+                            </td>
+
+                        </tr>
+                    </g:each>
+                    </tbody>
+                </table>
+            </div>
+            <div class="paginateButtons">
+                <g:paginate total="${contactInstanceTotal}" />
+            </div>
+        </div>
+    </body>
+</html>
Index: trunk/grails-app/views/contactDetailed/show.gsp
===================================================================
--- trunk/grails-app/views/contactDetailed/show.gsp	(revision 402)
+++ trunk/grails-app/views/contactDetailed/show.gsp	(revision 402)
@@ -0,0 +1,82 @@
+
+
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+        <meta name="layout" content="main" />
+        <title>Show Contact</title>
+    </head>
+    <body>
+        <div class="nav">
+            <h1>Show Contact</h1>
+        </div>
+        <div class="body">
+            <g:render template="/shared/messages" />
+            <div class="dialog">
+                <table>
+                    <tbody>
+
+                        <tr class="prop">
+                            <td valign="top" class="name">Id:</td>
+                            <td valign="top" class="value">${fieldValue(bean:contactInstance, field:'id')}</td>
+                        </tr>
+
+                        <g:if test="${contactInstance.manufacturer}">
+                            <tr class="prop">
+                                <td valign="top" class="name">Manufacturer:</td>
+
+                                <td valign="top" class="value"><g:link controller="manufacturerDetailed" action="show" id="${contactInstance.manufacturer.id}">${contactInstance.manufacturer.encodeAsHTML()}</g:link></td>
+
+                            </tr>
+                        </g:if>
+
+                        <g:if test="${contactInstance.supplier}">
+                            <tr class="prop">
+                                <td valign="top" class="name">Supplier:</td>
+
+                                <td valign="top" class="value"><g:link controller="supplierDetailed" action="show" id="${contactInstance.supplier.id}">${contactInstance.supplier.encodeAsHTML()}</g:link></td>
+
+                            </tr>
+                        </g:if>
+
+                        <g:if test="${contactInstance.person}">
+                            <tr class="prop">
+                                <td valign="top" class="name">Person:</td>
+
+                                <td valign="top" class="value"><g:link controller="person" action="show" id="${contactInstance.person.id}">${contactInstance.person.encodeAsHTML()}</g:link></td>
+
+                            </tr>
+                        </g:if>
+
+                        <g:if test="${contactInstance.site}">
+                            <tr class="prop">
+                                <td valign="top" class="name">Site:</td>
+
+                                <td valign="top" class="value"><g:link controller="siteDetailed" action="show" id="${contactInstance.site.id}">${contactInstance.site.encodeAsHTML()}</g:link></td>
+
+                            </tr>
+                        </g:if>
+
+                        <tr class="prop">
+                            <td valign="top" class="name">Contact Type:</td>
+                            <td valign="top" class="value">${fieldValue(bean:contactInstance, field:'contactType')}</td>
+                        </tr>
+
+                        <tr class="prop">
+                            <td valign="top" class="name">Value:</td>
+                            <td valign="top" class="value">${fieldValue(bean:contactInstance, field:'value')}</td>
+                        </tr>
+
+                    </tbody>
+                </table>
+            </div>
+            <div class="buttons">
+                <g:form>
+                    <input type="hidden" name="id" value="${contactInstance?.id}" />
+                    <span class="button"><g:actionSubmit class="edit" value="Edit" /></span>
+                    <span class="button"><g:actionSubmit class="delete" onclick="return confirm('Are you sure?');" value="Delete" /></span>
+                </g:form>
+            </div>
+        </div>
+    </body>
+</html>
Index: trunk/grails-app/views/manufacturerDetailed/edit.gsp
===================================================================
--- trunk/grails-app/views/manufacturerDetailed/edit.gsp	(revision 399)
+++ trunk/grails-app/views/manufacturerDetailed/edit.gsp	(revision 402)
@@ -66,4 +66,20 @@
                             <tr class="prop">
                                 <td valign="top" class="name">
+                                    <label for="addresses">Contact:</label>
+                                </td>
+                                <td valign="top" class="value">
+                                    <ul>
+                                    <g:each var="i" in="${manufacturerInstance?.contacts}">
+                                        <li><g:link controller="contactDetailed" action="show" id="${i.id}">
+                                            ${i?.encodeAsHTML()}
+                                        </g:link></li>
+                                    </g:each>
+                                    </ul>
+                                    <g:link controller="contactDetailed" params="['manufacturer.id':manufacturerInstance?.id]" action="create">+Add Contact</g:link>
+                                </td>
+                            </tr>
+
+                            <tr class="prop">
+                                <td valign="top" class="name">
                                     <label for="addresses">Addresses:</label>
                                 </td>
@@ -76,5 +92,5 @@
                                     </g:each>
                                     </ul>
-                                    <g:link controller="addressDetailed" params="['manufacturer.id':manufacturerInstance?.id]" action="create">Add Address</g:link>
+                                    <g:link controller="addressDetailed" params="['manufacturer.id':manufacturerInstance?.id]" action="create">+Add Address</g:link>
                                 </td>
                             </tr>
Index: trunk/grails-app/views/manufacturerDetailed/show.gsp
===================================================================
--- trunk/grails-app/views/manufacturerDetailed/show.gsp	(revision 399)
+++ trunk/grails-app/views/manufacturerDetailed/show.gsp	(revision 402)
@@ -55,4 +55,18 @@
                             
                         </tr>
+
+                        <tr class="prop">
+                            <td valign="top" class="name">Contact:</td>
+
+                            <td  valign="top" class="value">
+                                <ul>
+                                <g:each var="i" in="${manufacturerInstance.contacts}">
+                                    <li><g:link controller="contactDetailed" action="show" id="${i.id}">${i?.encodeAsHTML()}</g:link></li>
+                                </g:each>
+                                </ul>
+                            </td>
+
+                        </tr>
+
                     
                         <tr class="prop">
Index: trunk/grails-app/views/person/edit.gsp
===================================================================
--- trunk/grails-app/views/person/edit.gsp	(revision 399)
+++ trunk/grails-app/views/person/edit.gsp	(revision 402)
@@ -85,9 +85,25 @@
                     <tr class="prop">
                         <td valign="top" class="name">
+                            <label for="addresses">Contact:</label>
+                        </td>
+                        <td valign="top" class="value">
+                            <ul>
+                            <g:each var="i" in="${person?.contacts}">
+                                <li><g:link controller="contactDetailed" action="show" id="${i.id}">
+                                    ${i?.encodeAsHTML()}
+                                </g:link></li>
+                            </g:each>
+                            </ul>
+                            <g:link controller="contactDetailed" params="['person.id':person?.id]" action="create">+Add Contact</g:link>
+                        </td>
+                    </tr>
+
+                    <tr class="prop">
+                        <td valign="top" class="name">
                             <label for="addresses">Addresses:</label>
                         </td>
                         <td valign="top" class="value">
                             <ul>
-                            <g:each var="i" in="${person?.addresses?}">
+                            <g:each var="i" in="${person?.addresses}">
                                 <li><g:link controller="addressDetailed" action="show" id="${i.id}">
                                     ${i?.encodeAsHTML()}
@@ -95,5 +111,5 @@
                             </g:each>
                             </ul>
-                            <g:link controller="addressDetailed" params="['person.id':person?.id]" action="create">Add Address</g:link>
+                            <g:link controller="addressDetailed" params="['person.id':person?.id]" action="create">+Add Address</g:link>
                         </td>
                     </tr>
Index: trunk/grails-app/views/person/show.gsp
===================================================================
--- trunk/grails-app/views/person/show.gsp	(revision 399)
+++ trunk/grails-app/views/person/show.gsp	(revision 402)
@@ -47,4 +47,17 @@
                     <td valign="top" class="name">Description:</td>
                     <td valign="top" class="value">${person.description?.encodeAsHTML()}</td>
+                </tr>
+
+                <tr class="prop">
+                    <td valign="top" class="name">Contact:</td>
+
+                    <td  valign="top" class="value">
+                        <ul>
+                        <g:each var="i" in="${person.contacts}">
+                            <li><g:link controller="contactDetailed" action="show" id="${i.id}">${i?.encodeAsHTML()}</g:link></li>
+                        </g:each>
+                        </ul>
+                    </td>
+
                 </tr>
 
Index: trunk/grails-app/views/siteDetailed/edit.gsp
===================================================================
--- trunk/grails-app/views/siteDetailed/edit.gsp	(revision 399)
+++ trunk/grails-app/views/siteDetailed/edit.gsp	(revision 402)
@@ -77,5 +77,21 @@
                                 </td>
                             </tr> 
-                        
+
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="addresses">Contact:</label>
+                                </td>
+                                <td valign="top" class="value">
+                                    <ul>
+                                    <g:each var="i" in="${siteInstance?.contacts}">
+                                        <li><g:link controller="contactDetailed" action="show" id="${i.id}">
+                                            ${i?.encodeAsHTML()}
+                                        </g:link></li>
+                                    </g:each>
+                                    </ul>
+                                    <g:link controller="contactDetailed" params="['site.id':siteInstance?.id]" action="create">+Add Contact</g:link>
+                                </td>
+                            </tr>
+
                             <tr class="prop">
                                 <td valign="top" class="name">
@@ -89,5 +105,5 @@
 </g:each>
 </ul>
-<g:link controller="addressDetailed" params="['site.id':siteInstance?.id]" action="create">Add Address</g:link>
+<g:link controller="addressDetailed" params="['site.id':siteInstance?.id]" action="create">+Add Address</g:link>
 
                                 </td>
Index: trunk/grails-app/views/siteDetailed/show.gsp
===================================================================
--- trunk/grails-app/views/siteDetailed/show.gsp	(revision 399)
+++ trunk/grails-app/views/siteDetailed/show.gsp	(revision 402)
@@ -66,4 +66,17 @@
                             
                         </tr>
+
+                        <tr class="prop">
+                            <td valign="top" class="name">Contact:</td>
+
+                            <td  valign="top" class="value">
+                                <ul>
+                                <g:each var="i" in="${siteInstance.contacts}">
+                                    <li><g:link controller="contactDetailed" action="show" id="${i.id}">${i?.encodeAsHTML()}</g:link></li>
+                                </g:each>
+                                </ul>
+                            </td>
+
+                        </tr>
                     
                         <tr class="prop">
Index: trunk/grails-app/views/supplierDetailed/edit.gsp
===================================================================
--- trunk/grails-app/views/supplierDetailed/edit.gsp	(revision 399)
+++ trunk/grails-app/views/supplierDetailed/edit.gsp	(revision 402)
@@ -66,4 +66,20 @@
                             <tr class="prop">
                                 <td valign="top" class="name">
+                                    <label for="addresses">Contact:</label>
+                                </td>
+                                <td valign="top" class="value">
+                                    <ul>
+                                    <g:each var="i" in="${supplierInstance?.contacts}">
+                                        <li><g:link controller="contactDetailed" action="show" id="${i.id}">
+                                            ${i?.encodeAsHTML()}
+                                        </g:link></li>
+                                    </g:each>
+                                    </ul>
+                                    <g:link controller="contactDetailed" params="['supplier.id':supplierInstance?.id]" action="create">+Add Contact</g:link>
+                                </td>
+                            </tr>
+
+                            <tr class="prop">
+                                <td valign="top" class="name">
                                     <label for="addresses">Addresses:</label>
                                 </td>
@@ -76,5 +92,5 @@
                                     </g:each>
                                     </ul>
-                                    <g:link controller="addressDetailed" params="['supplier.id':supplierInstance?.id]" action="create">Add Address</g:link>
+                                    <g:link controller="addressDetailed" params="['supplier.id':supplierInstance?.id]" action="create">+Add Address</g:link>
                                 </td>
                             </tr>
Index: trunk/grails-app/views/supplierDetailed/show.gsp
===================================================================
--- trunk/grails-app/views/supplierDetailed/show.gsp	(revision 399)
+++ trunk/grails-app/views/supplierDetailed/show.gsp	(revision 402)
@@ -55,5 +55,18 @@
                             
                         </tr>
-                    
+
+                        <tr class="prop">
+                            <td valign="top" class="name">Contact:</td>
+
+                            <td  valign="top" class="value">
+                                <ul>
+                                <g:each var="i" in="${supplierInstance.contacts}">
+                                    <li><g:link controller="contactDetailed" action="show" id="${i.id}">${i?.encodeAsHTML()}</g:link></li>
+                                </g:each>
+                                </ul>
+                            </td>
+
+                        </tr>
+
                         <tr class="prop">
                             <td valign="top" class="name">Addresses:</td>
