#**

@author <a href="mailto:jeff@jivecast.com">Jeffery Painter</a>
@author <a href="mailto:jvanzyl@periapt.com">Jason van Zyl</a>
@version $Id: FluxGroupForm.vm,v 1.1.1.1 2017-11-26 23:07:21 painter Exp $

*#


#if ($errorTemplate)
	#parse ($errorTemplate)
#end


<form 
	method="post" 
	action="$link.setPage("group,FluxGroupList.vm").setAction("group.FluxGroupAction")">
  
	<table class="w3-table w3-striped  w3-bordered">
      <tr>
        #formCell ("Group Name" "group" $!flux.Group.Name)
      </tr>
	</table>

          #*
            Check for a mode, the update and delete buttons
            shouldn't appear when inserting a new user.
          *#

          #if ($flux.Mode == "modify")
            <input type="hidden" name="oldName" value="$!flux.Group.Name">
			<div class="w3-container w3-padding w3-center">
            	<input class="w3-btn w3-blue w3-round" style="width: 180px;" type="submit" name="eventSubmit_doUpdate" value="Update Group"/>
            </div>
          #elseif ($flux.Mode == "delete")
			<div class="w3-container w3-padding w3-center">
            	<input class="w3-btn w3-blue w3-round" style="width: 180px;" type="submit" name="eventSubmit_doDelete" value="Confirm Deletion"/>
			</div>
          #else
			<div class="w3-container w3-padding w3-center">
            	<input class="w3-btn w3-blue w3-round" style="width: 180px;" type="submit" name="eventSubmit_doInsert" value="Add Group"/>
			</div>
          #end
  
</form>

#if ($showEmbeddedMenu)
  <hr size="1" noshade>
  #parse ("screens/FluxEmbeddedMenu.vm")
#end
