/*
 * Author       : zchelp
 * Generated on : 22-Nov-2009 21:24:58
 * Version      : 3.0
 */
application "Meeting Tracker"
{
    type = public
    allow html = true
    date format = "dd-MMM-yyyy"
    time zone = "America/Los_Angeles"
    section Meetings
    {
        form  Add_Meetings
        {
            displayname  =  "Add Meetings"
            
            Meeting_Name
            (
                displayname  =  "Meeting Name"
                type  =  text
            )

            Meeting_Venue
            (
                displayname  =  "Meeting Venue"
                type  =  text
            )

            Proposed_Meeting_Time
            (
                displayname  =  "Meeting Time"
                type  =  date
            )

            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  Meetings1
        {
            displayname = "Meetings"
            show  all  rows  from  Add_Meetings 
            (
                Meeting_Name as "Meeting Name"
                Meeting_Venue as "Meeting Venue"
                Proposed_Meeting_Time as "Meeting Time"
            )
            filters 
            (
                Proposed_Meeting_Time
            )
            options
            (
                display rows = 100
            )
            custom actions
            (
                "Add Attendance"
                (
                    function = display.addattendance(ID)
                    show action in view header = false
                    show action for each record = true
                )
                "View Attendance"
                (
                    function = display.viewattendance(ID)
                    show action in view header = false
                    show action for each record = true
                )
            )
        }

    }

    section Members
    {
        hide = true
        form  Add_Member
        {
            displayname  =  "Add Member"
            
            meeting_id
            (
                type  =  text
            )

            Member_Name
            (
                displayname  =  "Member Name"
                type  =  text
            )

            Member_Age
            (
                displayname  =  "Member Age"
                type  =  number
            )

            Member_Address
            (
                displayname  =  "Member Address"
                type  =  textarea
            )

            Member_Contact
            (
                displayname  =  "Member Contact"
                type  =  email
            )

            actions
            {
                on add
                {
                    on load
                    {
                        hide meeting_id;
                    }
                    Submit
                    (
                        type  =  submit
                        displayname  =  "Submit"
                        on success
                        {
                            openUrl((((("http://creator.zoho.com/" + zoho.adminuser) + "/") + zoho.appname) + "/form-embed/Add_Meeting_Attendance/meetingid=") + input.meeting_id, "same window");
                        }
                    )
                    Reset
                    (
                        type  =  reset
                        displayname  =  "Reset"
                    )
                }
                on edit
                {
                    Update
                    (
                        type  =  submit
                        displayname  =  "Update"
                    )
                    Cancel
                    (
                        type  =  cancel
                        displayname  =  "Cancel"
                    )
                }
            }
        }

    }

    section Attendance
    {
        hide = true
        form  Add_Meeting_Attendance
        {
            displayname  =  "Add Meeting Attendance"
            
            column
            {
                meetingid
                (
                    displayname  =  "meeting id"
                    type  =  text
                )

                Pick_Meeting
                (
                    displayname  =  "Pick Meeting"
                    type  =  picklist
                    values  =  Add_Meetings.Meeting_Name
                )

                Pick_Attendees1
                (
                    displayname  =  "Pick Attendees"
                    type  =  list
                    values  =  {"John",   "Samuel",   "Helen",   "Dev"}
                )

                Your_Comments
                (
                    displayname  =  "Your Comments"
                    type  =  textarea
                )

            }
            column
            {
                Add_New_Member
                (
                    type  =  plaintext
                )

            }
            actions
            {
                on add
                {
                    on load
                    {
                        hide meetingid;
                        selectedMeeting  =  Add_Meetings  [ID == input.meetingid.toLong()];
                        clear Pick_Meeting;
                        Pick_Meeting:ui.add(selectedMeeting.Meeting_Name);
                        Pick_Meeting.select(selectedMeeting.Meeting_Name);
                    }
                    Submit
                    (
                        type  =  submit
                        displayname  =  "Submit"
                        on success
                        {
                            openUrl("#View:Meetings1", "parent window");
                        }
                    )
                    Reset
                    (
                        type  =  reset
                        displayname  =  "Reset"
                    )
                }
                on edit
                {
                    Update
                    (
                        type  =  submit
                        displayname  =  "Update"
                    )
                    Cancel
                    (
                        type  =  cancel
                        displayname  =  "Cancel"
                    )
                }
            }
        }

        list  Attendance1
        {
            displayname = "Attendance"
            show  all  rows  from  Add_Meeting_Attendance 
            (
                meetingid as "meeting id"
                Pick_Meeting as "Pick Meeting"
                Pick_Attendees1 as "Pick Attendees"
                Your_Comments as "Your Comments"
            )
            filters 
            (
                Pick_Meeting
            )
            options
            (
                display rows = 100
            )
        }

    }

    functions
    {
        void display.addattendance(int id)
        {
            openUrl(((((("http://creator.zoho.com/" + zoho.adminuser) + "/") + zoho.appname) + "/form-embed/Add_Meeting_Attendance/meetingid=") + input.id) + "", "popup window", "height=400,width=550");
        }

        void display.viewattendance(int id)
        {
            openUrl(((((("http://creator.zoho.com/" + zoho.adminuser) + "/") + zoho.appname) + "/view-embed/Attendance1/meetingid=") + input.id) + "", "popup window", "height=300,width=550");
        }

    }

}
