/*
 * Author       : zchelp
 * Generated on : 23-Nov-2009 01:26:43
 * Version      : 3.0
 */
application "Employee Manager"
{
    type = public
    date format = "dd-MMM-yyyy"
    time zone = "America/Los_Angeles"
    section Home
    {
        form  Employee
        {
            
            column
            {
                Employee_ID
                (
                    displayname  =  "Employee ID"
                    type  =  number
                    width  =  20
                )

                Name
                (
                    displayname  =  "Employee Name"
                    type  =  text
                )

                EmailID
                (
                    displayname  =  "Email ID"
                    type  =  email
                )

                Address
                (
                    type  =  textarea
                )

                Phone
                (
                    type  =  text
                )

                Date_of_Birth
                (
                    displayname  =  "Date of Birth"
                    type  =  date
                )

            }
            column
            {
                Date_of_Joining
                (
                    displayname  =  "Date of Joining"
                    type  =  date
                )

                Department
                (
                    type  =  picklist
                    values  =  Department.Department_Name
                )

                Roles
                (
                    type  =  checkboxes
                    values  =  Roles.Role_Name
                )

            }
            actions
            {
                on add
                {
                    Submit
                    (
                        type  =  submit
                        displayname  =  "Submit"
                    )
                    Reset
                    (
                        type  =  reset
                        displayname  =  "Reset"
                    )
                }
                on edit
                {
                    Update
                    (
                        type  =  submit
                        displayname  =  "Update"
                    )
                    Cancel
                    (
                        type  =  cancel
                        displayname  =  "Cancel"
                    )
                }
            }
        }

        list  Employee_View
        {
            displayname = "Employee  View"
            show  all  rows  from  Employee 
            (
                Name
                EmailID
                Phone
                Date_of_Joining as "Date of Joining"
                Address
                Department
                Department.Mail_alias as "Mail alias"
                Roles
                Employee_ID as "Employee ID"
            )
            filters 
            (
                Date_of_Birth
                Date_of_Joining
                Department
            )
            options
            (
                display rows = 100
            )
        }

        form  Department
        {
            
            Department_Name
            (
                displayname  =  "Department Name"
                type  =  text
            )

            Mail_alias
            (
                displayname  =  "Mail alias"
                type  =  email
            )

            Department_Head
            (
                displayname  =  "Department Head"
                type  =  text
            )

            actions
            {
                on add
                {
                    Submit
                    (
                        type  =  submit
                        displayname  =  "Submit"
                    )
                    Reset
                    (
                        type  =  reset
                        displayname  =  "Reset"
                    )
                }
                on edit
                {
                    Update
                    (
                        type  =  submit
                        displayname  =  "Update"
                    )
                    Cancel
                    (
                        type  =  cancel
                        displayname  =  "Cancel"
                    )
                }
            }
        }

        list  Department_View
        {
            displayname = "Department View"
            show  all  rows  from  Department 
            (
                Department_Name as "Department Name"
                Department_Head as "Department Head"
                Mail_alias as "Mail alias"
            )
            options
            (
                display rows = 100
            )
        }

        form  Roles
        {
            
            Role_Name
            (
                displayname  =  "Role Name"
                type  =  text
            )

            Responsibilities
            (
                type  =  textarea
            )

            actions
            {
                on add
                {
                    Submit
                    (
                        type  =  submit
                        displayname  =  "Submit"
                    )
                    Reset
                    (
                        type  =  reset
                        displayname  =  "Reset"
                    )
                }
                on edit
                {
                    Update
                    (
                        type  =  submit
                        displayname  =  "Update"
                    )
                    Cancel
                    (
                        type  =  cancel
                        displayname  =  "Cancel"
                    )
                }
            }
        }

        list  Roles_View
        {
            displayname = "Roles View"
            show  all  rows  from  Roles 
            (
                Role_Name as "Role Name"
                Responsibilities as "Description"
            )
            options
            (
                display rows = 100
            )
        }

        htmlpage TestHTML(dept)
        <%{%>

<div elName='zc-component' formLinkName='Enter_Department' params='zc_Header=true&zc_SuccMsg=Data Added Sucessfully!&zc_SubmitVal=Submit&zc_ResetVal=Reset'></div> <%if (input.dept  !=  null)
            {
                xxx  =  Employee  [Department == input.dept];%>

<table zc-viewtable width="100%" cellspacing="1" cellpadding="1" border="0"> 
    <tbody>
        <tr class="zc-row-header">
            <td class="zc-viewrowheader">Employee Name</td>
            <td class="zc-viewrowheader">Department</td>
        </tr>
               <%if (count(Employee[Department == input.dept])  >  0)
                {
                    for each r in xxx
                    {%>

<tr class=zc-viewrow>
            <td> <%=r.Name%></td>
            <td> <%=r.Department%></td>
        </tr>
                                                        <%}
                }%>

      </tbody>
</table> 
                    <%}
        }%>

    }

    section Stateless_forms
    {
        displayname = "Stateless forms"
        hide = true
        form  Enter_Department
        {
            displayname  =  "Enter Department"
            store data in zc = false
            
            Department
            (
                type  =  picklist
                values  =  Department.Department_Name
            )

            actions
            {
                Generate_Report
                (
                    type  =  submit
                    displayname  =  "Generate Report"
                    on click
                    {
                        openUrl((((("/" + zoho.adminuser) + "/") + zoho.appname) + "/#View:TestHTML?dept=") + input.Department, "new window");
                    }
                )
            }
        }

    }

}
