Index: trunk/grails-app/views/person/create.gsp
===================================================================
--- trunk/grails-app/views/person/create.gsp	(revision 506)
+++ trunk/grails-app/views/person/create.gsp	(revision 633)
@@ -105,4 +105,21 @@
 
                     <tr class="prop">
+                        <td valign="top" class="name">
+                            <label for="purchasingGroups">Purchasing Groups:</label>
+                        </td>
+                        <td valign="top" class="value ${hasErrors(bean:person,field:'purchasingGroups','errors')}">
+                            <g:helpBalloon class="helpballoon" code="person.purchasingGroups" />
+                            <custom:checkBoxList name="purchasingGroups"
+                                                            from="${PurchasingGroup.findAllByIsActive(true)}"
+                                                            value="${person?.purchasingGroups?.collect{it.id}}"
+                                                            optionKey="id"
+                                                            sortBy="name"
+                                                            linkController="purchasingGroupDetailed"
+                                                            linkAction="show"/>
+                            <g:link controller="purchasingGroupDetailed" action="create">+Add Group</g:link>
+                        </td>
+                    </tr>
+
+                    <tr class="prop">
                         <td valign="top" class="name" align="left">
                             Authorities:
Index: trunk/grails-app/views/person/edit.gsp
===================================================================
--- trunk/grails-app/views/person/edit.gsp	(revision 506)
+++ trunk/grails-app/views/person/edit.gsp	(revision 633)
@@ -144,4 +144,21 @@
 
                     <tr class="prop">
+                        <td valign="top" class="name">
+                            <label for="purchasingGroups">Purchasing Groups:</label>
+                        </td>
+                        <td valign="top" class="value ${hasErrors(bean:person,field:'purchasingGroups','errors')}">
+                            <g:helpBalloon class="helpballoon" code="person.purchasingGroups" />
+                            <custom:checkBoxList name="purchasingGroups"
+                                                            from="${PurchasingGroup.findAllByIsActive(true)}"
+                                                            value="${person?.purchasingGroups?.collect{it.id}}"
+                                                            optionKey="id"
+                                                            sortBy="name"
+                                                            linkController="purchasingGroupDetailed"
+                                                            linkAction="show"/>
+                            <g:link controller="purchasingGroupDetailed" action="create">+Add Group</g:link>
+                        </td>
+                    </tr>
+
+                    <tr class="prop">
                         <td valign="top" class="name" align="left">
                             Authorities:
Index: trunk/grails-app/views/person/show.gsp
===================================================================
--- trunk/grails-app/views/person/show.gsp	(revision 506)
+++ trunk/grails-app/views/person/show.gsp	(revision 633)
@@ -89,6 +89,29 @@
                     <td valign="top" class="value">
                         <ul>
-                        <g:each in="${person.personGroups}" var='group'>
-                            <li>${group}</li>
+                        <g:each var='group' in="${ person.personGroups.sort { p1, p2 -> p1.name.compareToIgnoreCase(p2.name) } }">
+                            <li>
+                                <g:link controller="personGroupDetailed"
+                                                action="show"
+                                                id="${group.id}">
+                                    ${group.encodeAsHTML()}
+                                </g:link>
+                            </li>
+                        </g:each>
+                        </ul>
+                    </td>
+                </tr>
+
+                <tr class="prop">
+                    <td valign="top" class="name">Purchasing Groups:</td>
+                    <td valign="top" class="value">
+                        <ul>
+                        <g:each  var='a' in="${ person.purchasingGroups.sort { p1, p2 -> p1.name.compareToIgnoreCase(p2.name) } }">
+                            <li>
+                                <g:link controller="purchasingGroupDetailed"
+                                                action="show"
+                                                id="${a.id}">
+                                    ${a.encodeAsHTML()}
+                                </g:link>
+                            </li>
                         </g:each>
                         </ul>
