Module:FormCheckAndSubmit: Difference between revisions

From Tsadra Foundation Advanced Contemplative Scholarships
(by SublimeText.Mediawiker)
(by SublimeText.Mediawiker)
 
(23 intermediate revisions by the same user not shown)
Line 4: Line 4:
      
      
     local pargs = frame:getParent().args
     local pargs = frame:getParent().args
     -- local requiredFields = {
      
    --    ["firstname"] = pargs.firstname ,
    local requiredFields = {
    --    ["lastname"] = pargs.lastname ,
        pargs.firstname ,
    --    ["birthdate"] = pargs.birthdate ,
        pargs.lastname ,
    --    ["birthcountry"] = pargs.birthcountry ,
        pargs.birthdate ,
    --    ["nationality"] = pargs.nationality ,
        pargs.birthcountry ,
    --    ["street"] = pargs.street ,
        pargs.nationality ,
    --    ["city"] = pargs.city ,
        pargs.street ,
    --    ["postalcode"] = pargs.postalcode ,
        pargs.city ,
    --    ["country"] = pargs.country ,
        pargs.postalcode ,
    --    ["email"] = pargs.email ,
        pargs.country ,
    --    ["telephone"] = pargs.telephone ,
        pargs.email ,
    --    ["retreattype"] = pargs.retreattype ,
        pargs.telephone ,
    --    ["cvedu"] = pargs['cv-edu'] ,
        pargs.retreattype ,
    --    ["cvwork"] = pargs['cv-work'] ,
        pargs['cv-edu'] ,
    --    ["studiedtibetan"] = pargs.studiedtibetan ,
        pargs['cv-work'] ,
    --    ["spokentibcomprehension"] = pargs.spokentibcomprehension ,
        pargs.studiedtibetan ,
    --    ["writtentibcomprehension"] = pargs.writtentibcomprehension ,
        pargs.spokentibcomprehension ,
    --    ["tibetanrequiredforretreat"] = pargs.tibetanrequiredforretreat ,
        pargs.writtentibcomprehension ,
    --    ["tibetanretreatparts"] = pargs.tibetanretreatparts ,
        pargs.tibetanrequiredforretreat ,
    --    ["introbuddhism"] = pargs.introbuddhism ,
        pargs.tibetanretreatparts ,
    --    ["refugehistory"] = pargs.refugehistory ,
        pargs.introbuddhism ,
    --    ["formalvows"] = pargs.formalvows ,
        pargs.refugehistory ,
    --    ["ngondrocomplete"] = pargs.ngondrocomplete ,
        pargs.formalvows ,
    --    ["previousretreatscomplete"] = pargs.previousretreatscomplete ,
        pargs.ngondrocomplete ,
    --    ["ynadvstudiesprogs"] = pargs.ynadvstudiesprogs ,
        pargs.previousretreatscomplete ,
    --    ["ynofferedservices"] = pargs.ynofferedservices ,
        pargs.ynadvstudiesprogs ,
    --    ["othercommunitywork"] = pargs.othercommunitywork ,
        pargs.ynofferedservices ,
    --    ["retreatduration"] = pargs.retreatduration ,
        pargs.othercommunitywork ,
    --    ["StartFunding"] = pargs.StartFunding ,
        pargs.retreatduration ,
    --    ["EndFunding"] = pargs.EndFunding ,
        pargs.StartFunding ,
    --    ["costestimateCurrency"] = pargs.costestimateCurrency ,
        pargs.EndFunding ,
    --    ["costestimate"] = pargs.costestimate ,
        pargs.costestimateCurrency ,
    --    ["requestedamountCurrency"] = pargs.requestedamountCurrency ,
        pargs.costestimate ,
    --    ["requestedamount"] = pargs.requestedamount ,
        pargs.requestedamountCurrency ,
    --    ["othermoney"] = pargs.othermoney ,
        pargs.requestedamount ,
    --    ["letterofmotivation"] = pargs.letterofmotivation ,
        pargs.othermoney ,
    --    ["FileHaveCV"] = pargs.FileHaveCV ,
        pargs.letterofmotivation ,
    --    ["FileHaveDharmaCV"] = pargs.FileHaveDharmaCV ,
        pargs.FileHaveCV ,
    --    ["FileHavePhoto"] = pargs.FileHavePhoto ,
        pargs.FileHaveDharmaCV ,
    --    ["FileHaveDescriptFinSit"] = pargs.FileHaveDescriptFinSit ,
        pargs.FileHavePhoto ,
    --    ["recom1NameFirst"] = pargs.recom1NameFirst ,
        pargs.FileHaveDescriptFinSit ,
    --    ["recom1NameLast"] = pargs.recom1NameLast ,
        pargs.recom1NameFirst ,
    --    ["recom1Email"] = pargs.recom1Email ,
        pargs.recom1NameLast ,
    --    ["recom1Relate"] = pargs.recom1Relate ,
        pargs.recom1Email ,
    --    ["recom2NameFirst"] = pargs.recom2NameFirst ,
        pargs.recom1Relate ,
    --    ["recom2NameLast"] = pargs.recom2NameLast ,
        pargs.recom2NameFirst ,
    --    ["recom2Email"] = pargs.recom2Email ,
        pargs.recom2NameLast ,
    --    ["recom2Relate"] = pargs.recom2Relate
        pargs.recom2Email ,
     -- }
        pargs.recom2Relate
     -- local threeYearFields = {
     }
    --    ["center"] = pargs.center ,
     local threeYearFields = {
    --    ["centerstreet"] = pargs.centerstreet ,
        pargs.center ,
    --    ["centercity"] = pargs.centercity ,
        pargs.centerstreet ,
    --    ["centerpostalcode"] = pargs.centerpostalcode ,
        pargs.centercity ,
    --    ["centercountry"] = pargs.centercountry ,
        pargs.centerpostalcode ,
    --    ["startdate"] = pargs.startdate ,
        pargs.centercountry ,
    --    ["enddate"] = pargs.enddate ,
        pargs.startdate ,
    --    ["retreatmaster"] = pargs.retreatmaster ,
        pargs.enddate ,
    --    ["retreatadministrator"] = pargs.retreatadministrator ,
        pargs.retreatmaster ,
    --    ["retreatadministratoremail"] = pargs.retreatadministratoremail ,
        pargs.retreatadministrator ,
    --    ["retreatliaison"] = pargs.retreatliaison ,
        pargs.retreatadministratoremail ,
    --    ["retreatliaisonemail"] = pargs.retreatliaisonemail ,
        pargs.retreatliaison ,
    --    ["FileHaveAcceptLetter"] = pargs.FileHaveAcceptLetter ,
        pargs.retreatliaisonemail ,
    --    ["AcceptLetterAuthorFirst"] = pargs.AcceptLetterAuthorFirst ,
        pargs.FileHaveAcceptLetter ,
    --    ["AcceptLetterAuthorLast"] = pargs.AcceptLetterAuthorLast ,
        pargs.AcceptLetterAuthorFirst ,
    --    ["AcceptLetterEmail"] = pargs.AcceptLetterEmail ,
        pargs.AcceptLetterAuthorLast ,
    --    ["AcceptLetterPhone"] = pargs.AcceptLetterPhone ,
        pargs.AcceptLetterEmail ,
    --    ["FileHaveRetreatBudgCost"] = pargs.FileHaveRetreatBudgCost ,
        pargs.AcceptLetterPhone ,
    --    ["CostLetterAuthorFirst"] = pargs.CostLetterAuthorFirst ,
        pargs.FileHaveRetreatBudgCost ,
    --    ["CostLetterAuthorLast"] = pargs.CostLetterAuthorLast ,
        pargs.CostLetterAuthorFirst ,
    --    ["CostLetterEmail"] = pargs.CostLetterEmail ,
        pargs.CostLetterAuthorLast ,
    --    ["CostLetterPhone"] = pargs.CostLetterPhone ,
        pargs.CostLetterEmail ,
    --    ["FileHaveEligibilityDocs"] = pargs.FileHaveEligibilityDocs
        pargs.CostLetterPhone ,
     -- }
        pargs.FileHaveEligibilityDocs
     -- local solitaryFields = {
     }
    --    ["solcenterstreet"] = pargs.solcenterstreet ,
     local solitaryFields = {
    --    ["solcentercity"] = pargs.solcentercity ,
        pargs.solcenterstreet ,
    --    ["solcenterpostalcode"] = pargs.solcenterpostalcode ,
        pargs.solcentercity ,
    --    ["solcentercountry"] = pargs.solcentercountry ,
        pargs.solcenterpostalcode ,
    --    ["solstartdate"] = pargs.solstartdate ,
        pargs.solcentercountry ,
    --    ["solenddate"] = pargs.solenddate ,
        pargs.solstartdate ,
    --    ["solretreatliaison"] = pargs.solretreatliaison ,
        pargs.solenddate ,
    --    ["solretreatliaisonemail"] = pargs.solretreatliaisonemail ,
        pargs.solretreatliaison ,
    --    ["SolHermDescription"] = pargs.SolHermDescription ,
        pargs.solretreatliaisonemail ,
    --    ["FileHaveSolHermDescript"] = pargs.FileHaveSolHermDescript ,
        pargs.SolHermDescription ,
    --    ["FileHaveSolRetreatProg"] = pargs.FileHaveSolRetreatProg ,
        pargs.FileHaveSolHermDescript ,
    --    ["FileHaveSolRetreatBudg"] = pargs.FileHaveSolRetreatBudg
        pargs.FileHaveSolRetreatProg ,
     -- }
        pargs.FileHaveSolRetreatBudg
     }


     -- if pargs.retreattype == "Three-year retreat" then
     local saveInput = mw.html.create( 'input' )
    --    for key, value in pairs( threeYearFields ) do
     saveInput
     --         table.insert( requiredFields , key , value )
         :attr( 'id', 'TfacsSubmitApplication' )
    --    end
        :attr( 'type', 'submit' )
    -- elseif pargs.retreattype == "Solitary hermitage" then
         :attr( 'value', 'Save your application' )
    --    for key, value in pairs( solitaryFields ) do
        :attr( 'class', 'btn btn-primary' )
    --         table.insert( requiredFields , key , value )
     local saveButton = tostring( saveInput )
    --    end
     -- end


     -- for key, value in ipairs( requiredFields ) do
     local submitInput = mw.html.create( 'input' )
     --    if value == nil or value == "" then
     submitInput
    --         return 'Fields missing.'
        :attr( 'id', 'TfacsSubmitApplication' )
    --    end
         :attr( 'type', 'submit' )
    -- end
        :attr( 'value', 'Submit your final application!' )
 
        :attr( 'class', 'btn btn-danger' )
     return #pargs
     local submitButton = tostring( submitInput )


    if not pargs.retreattype or pargs.retreattype == "" then
        return "Retreat type not selected."
    elseif pargs.retreattype == "Three-year retreat" then
        for key, value in ipairs( threeYearFields ) do
            table.insert( requiredFields , key , value )
        end
        if #requiredFields == 71 then
            return "All 71 fields for 3 year filled. All done!"
        else
            return "71 required fields for 3 year not filled. Not done."
        end
    elseif pargs.retreattype == "Solitary hermitage" then
        for key, value in ipairs( solitaryFields ) do
            table.insert( requiredFields , key , value )
        end
        if #requiredFields == 60 then
            return "All 60 fields for solitary filled. All done!"
        else
            return "60 required fields for solitary not filled. Not done."
        end
    end
   
end
end


return p
return p

Latest revision as of 06:20, 20 May 2024

Documentation for this module may be created at Module:FormCheckAndSubmit/doc

local p = {}

function p.main(frame)
    
    local pargs = frame:getParent().args
    
    local requiredFields = {
        pargs.firstname ,
        pargs.lastname ,
        pargs.birthdate ,
        pargs.birthcountry ,
        pargs.nationality ,
        pargs.street ,
        pargs.city ,
        pargs.postalcode ,
        pargs.country ,
        pargs.email ,
        pargs.telephone ,
        pargs.retreattype ,
        pargs['cv-edu'] ,
        pargs['cv-work'] ,
        pargs.studiedtibetan ,
        pargs.spokentibcomprehension ,
        pargs.writtentibcomprehension ,
        pargs.tibetanrequiredforretreat ,
        pargs.tibetanretreatparts ,
        pargs.introbuddhism ,
        pargs.refugehistory ,
        pargs.formalvows ,
        pargs.ngondrocomplete ,
        pargs.previousretreatscomplete ,
        pargs.ynadvstudiesprogs ,
        pargs.ynofferedservices ,
        pargs.othercommunitywork ,
        pargs.retreatduration ,
        pargs.StartFunding ,
        pargs.EndFunding ,
        pargs.costestimateCurrency ,
        pargs.costestimate ,
        pargs.requestedamountCurrency ,
        pargs.requestedamount ,
        pargs.othermoney ,
        pargs.letterofmotivation ,
        pargs.FileHaveCV ,
        pargs.FileHaveDharmaCV ,
        pargs.FileHavePhoto ,
        pargs.FileHaveDescriptFinSit ,
        pargs.recom1NameFirst ,
        pargs.recom1NameLast ,
        pargs.recom1Email ,
        pargs.recom1Relate ,
        pargs.recom2NameFirst ,
        pargs.recom2NameLast ,
        pargs.recom2Email ,
        pargs.recom2Relate
    }
    local threeYearFields = {
        pargs.center ,
        pargs.centerstreet ,
        pargs.centercity ,
        pargs.centerpostalcode ,
        pargs.centercountry ,
        pargs.startdate ,
        pargs.enddate ,
        pargs.retreatmaster ,
        pargs.retreatadministrator ,
        pargs.retreatadministratoremail ,
        pargs.retreatliaison ,
        pargs.retreatliaisonemail ,
        pargs.FileHaveAcceptLetter ,
        pargs.AcceptLetterAuthorFirst ,
        pargs.AcceptLetterAuthorLast ,
        pargs.AcceptLetterEmail ,
        pargs.AcceptLetterPhone ,
        pargs.FileHaveRetreatBudgCost ,
        pargs.CostLetterAuthorFirst ,
        pargs.CostLetterAuthorLast ,
        pargs.CostLetterEmail ,
        pargs.CostLetterPhone ,
        pargs.FileHaveEligibilityDocs
    }
    local solitaryFields = {
        pargs.solcenterstreet ,
        pargs.solcentercity ,
        pargs.solcenterpostalcode ,
        pargs.solcentercountry ,
        pargs.solstartdate ,
        pargs.solenddate ,
        pargs.solretreatliaison ,
        pargs.solretreatliaisonemail ,
        pargs.SolHermDescription ,
        pargs.FileHaveSolHermDescript ,
        pargs.FileHaveSolRetreatProg ,
        pargs.FileHaveSolRetreatBudg
    }

    local saveInput = mw.html.create( 'input' )
    saveInput
        :attr( 'id', 'TfacsSubmitApplication' )
        :attr( 'type', 'submit' )
        :attr( 'value', 'Save your application' )
        :attr( 'class', 'btn btn-primary' )
    local saveButton = tostring( saveInput )

    local submitInput = mw.html.create( 'input' )
    submitInput
        :attr( 'id', 'TfacsSubmitApplication' )
        :attr( 'type', 'submit' )
        :attr( 'value', 'Submit your final application!' )
        :attr( 'class', 'btn btn-danger' )
    local submitButton = tostring( submitInput )

    if not pargs.retreattype or pargs.retreattype == "" then
        return "Retreat type not selected."
    elseif pargs.retreattype == "Three-year retreat" then
        for key, value in ipairs( threeYearFields ) do 
            table.insert( requiredFields , key , value )
        end
        if #requiredFields == 71 then
            return "All 71 fields for 3 year filled. All done!"
        else
            return "71 required fields for 3 year not filled. Not done."
        end
    elseif pargs.retreattype == "Solitary hermitage" then
        for key, value in ipairs( solitaryFields ) do 
            table.insert( requiredFields , key , value )
        end
        if #requiredFields == 60 then
            return "All 60 fields for solitary filled. All done!"
        else
            return "60 required fields for solitary not filled. Not done."
        end
    end
    
end

return p