<modelglue>
  <config>
    <setting name="defaultEvent" value="ggcc.home" />
    <setting name="reload" value="true" />
    <setting name="reloadKey" value="init" />
    <setting name="reloadPassword" value="false" />
    <setting name="statePrecedence" value="Form" />
    <setting name="eventValue" value="fuseaction" />
    <setting name="applicationMapping" value="/ggcc8" />
    <setting name="modelGlueMapping" value="/ModelGlue" />
    <setting name="beanMappings" value="/ggcc8/config/beans" />
    <setting name="viewMappings" value="/ggcc8/view" />
    <setting name="defaultExceptionHandler" value="failure" />
    <setting name="debug" value="false" />
    <!-- user-defined settings -->
    <setting name="dsn" value="corfield" />
    <setting name="dbUser" value="root" />
    <setting name="dbPass" value="visual" />
  </config>

  <controllers>
    <controller name="mailer" type="ggcc8.controller.mailer">
	<message-listener message="sendMail" function="sendMail"/>
    </controller>
    <controller name="taskmanager" type="ggcc8.controller.taskmanager">
	<message-listener message="needTaskInfo" function="getTask"/>
	<message-listener message="needTasks" function="getTaskList"/>
	<message-listener message="needStatii" function="getStatii"/>
        <!--
	<message-listener message="needStatiiByID" function="getStatiiByID"/>
        -->
	<message-listener message="saveTask" function="saveTask"/>
	<message-listener message="addTask" function="addTask"/>
	<message-listener message="addNote" function="addNote"/>
	<message-listener message="notifyMembers" function="notifyMembers"/>
    </controller>
    <controller name="usermanager" type="ggcc8.controller.usermanager">
	<message-listener message="needMembers" function="getMembers"/>
        <!--
	<message-listener message="needMembersByID" function="getMembersByID"/>
        -->
	<message-listener message="choseIdentity" function="setIdentity"/>
	<message-listener message="checkIdentity" function="checkIdentity"/>
    </controller>
    <controller name="relocator" type="ggcc8.controller.relocate">
	<message-listener message="onRequestStart" function="addRequestConstants"/>
	<message-listener message="relocate" function="doRelocate"/>
    </controller>
    <controller name="viewConstants" type="ggcc8.controller.viewConstants">
	<message-listener message="onQueueComplete" function="addViewConstants"/>
    </controller>
  </controllers>
  
  <event-handlers>
    
                <!--
		Description: Default fuseaction for the site
		I am the home page of the site.
		-->
		<event-handler name="ggcc.home">
			<broadcasts>
				<message name="needMembers" />
			</broadcasts>
			<views>
				<include template="dspShowHome.cfm" name="content">
					<value name="XFA.ShowTasks" value="ggcc.showmanager" />
					<value name="XFA.Constitution" value="ggcc.showpage" />
					<value name="XFA.Bylaws" value="ggcc.showpage" />
					<value name="XFA.Minutes" value="ggcc.showpage" />
				</include>
				<include template="layGGCC.cfm" name="final" />
			</views>
		</event-handler>
		
		<!--
		Description: Display a specified static page
		I display the specified static HTML page.
		-->
		<event-handler name="ggcc.showpage">
			<views>
				<include template="dspStaticPage.cfm" name="final" />
			</views>
		</event-handler>
		
		<!--
		Description: Contact the secretary
		I display a simple form so the members can contact the secretary.
		-->
		<event-handler name="ggcc.contact">
			<broadcasts>
				<message name="needMembers" />
                                <!--
				<message name="needMembersByID" />
				-->
			</broadcasts>
			<views>
				<include template="dspShowContact.cfm" name="content">
					<value name="XFA.SendMail" value="ggcc.sendmail"/>
					<value name="XFA.Home" value="ggcc.home"/>
				</include>
				<include template="layGGCC.cfm" name="final"/>
			</views>
		</event-handler>
		
		<event-handler name="ggcc.sendmail">
			<broadcasts>
				<message name="sendMail"/>
				<message name="relocate">
					<argument name="target" value="ggcc.home&amp;message=Thank+you+for+your+email!"/>
				</message>
			</broadcasts>
		</event-handler>
		
		<!--
		Description: Identify a user
		I display a form that lets a club member identify themselves.
		-->
		<event-handler name="ggcc.identify">
			<broadcasts>
				<message name="needMembers"/>
			</broadcasts>
			<views>
				<include template="dspShowIdentity.cfm" name="content">
					<value name="XFA.SelectIdentity" value="ggcc.setidentity"/>
				</include>
				<include template="layGGCC.cfm" name="final"/>
			</views>
		</event-handler>
		
		<event-handler name="ggcc.setidentity">
			<broadcasts>
				<message name="choseIdentity"/>
				<message name="relocate">
					<argument name="target" value="ggcc.showmanager"/>
				</message>
			</broadcasts>
		</event-handler>
		
		<!--
		Description: Display the main task list
		I display the main show manager task list page.
		-->
		<event-handler name="ggcc.showmanager">
			<broadcasts>
				<message name="checkIdentity"/>
				<message name="needMembers"/>
                                <!--
				<message name="needMembersByID"/>
                                -->
				<message name="needTasks"/>
				<message name="needStatii"/>
                                <!--
				<message name="needStatiiByID"/>
                                -->
			</broadcasts>
			<views>
				<include template="dspShowTaskList.cfm" name="content">
					<value name="XFA.AddTask" value="ggcc.newtask"/>
					<value name="XFA.ChangeIdentity" value="ggcc.identify"/>
					<value name="XFA.TaskDetail" value="ggcc.showtask"/>
				</include>
				<include template="layGGCC.cfm" name="final"/>
			</views>
		</event-handler>
		
		<event-handler name="ggcc.showtask">
			<broadcasts>
				<message name="checkIdentity"/>
				<message name="needMembers"/>
                                <!--
				<message name="needMembersByID"/>
                                -->
				<message name="needStatii"/>
				<message name="needTaskInfo"/>
			</broadcasts>
			<views>
				<include template="dspShowTask.cfm" name="content">
					<value name="XFA.Manager" value="ggcc.showmanager"/>
					<value name="XFA.SaveTask" value="ggcc.savetask"/>
				</include>
				<include template="layGGCC.cfm" name="final"/>
			</views>
		</event-handler>
		
		<!--
		Description: New task entry form
		I display a form that lets a user add a new task.
		-->
		<event-handler name="ggcc.newtask">
			<broadcasts>
				<message name="checkIdentity"/>
				<message name="needMembers"/>
				<message name="needStatii"/>
			</broadcasts>
			<views>
				<include template="dspNewTask.cfm" name="content">
					<value name="XFA.Manager" value="ggcc.showmanager"/>
					<value name="XFA.SaveNewTask" value="ggcc.addtask"/>
				</include>
				<include template="layGGCC.cfm" name="final"/>
			</views>
		</event-handler>
		
		<event-handler name="ggcc.savetask">
			<broadcasts>
				<message name="checkIdentity"/>
				<message name="saveTask"/>
			</broadcasts>
			<results>
				<result do="addnoteandnotify"/>
			</results>
		</event-handler>
		
		<event-handler name="ggcc.addtask">
			<broadcasts>
				<message name="checkIdentity"/>
				<message name="addTask"/>
			</broadcasts>
			<results>
				<result do="addnoteandnotify"/>
			</results>
		</event-handler>
		
		<event-handler name="addnoteandnotify" access="private">
			<broadcasts>
				<message name="addNote"/>
				<message name="needMembers"/>
                                <!--
				<message name="needMembersByID"/>
                                -->
				<message name="needStatii"/>
                                <!--
				<message name="needStatiiByID"/>
                                -->
				<message name="notifyMembers"/>
				<message name="relocate">
					<argument name="target" value="ggcc.showmanager"/>
				</message>
			</broadcasts>
		</event-handler>
		
		<event-handler name="failure">
			<views>
				<include template="exception.cfm" name="final" />
			</views>
		</event-handler>

  </event-handlers>
</modelglue>
