Module:FormCheckAndSubmit: Difference between revisions

From Tsadra Foundation Advanced Contemplative Scholarships
(by SublimeText.Mediawiker)
(by SublimeText.Mediawiker)
Line 96: Line 96:


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


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



Revision as of 05:13, 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 saveButton = mw.html.create( 'input' )
    input
        :attr( 'id', 'TfacsSubmitApplication' )
        :attr( 'type', 'submit' )
        :attr( 'value', 'Save your application' )
        :attr( 'class', 'btn btn-primary' )
    saveButton = tostring( input )

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



    if not pargs.retreattype or pargs.retreattype == "" then
        return saveButton
    elseif pargs.retreattype == "Three-year retreat" then
        for key, value in ipairs( threeYearFields ) do 
            table.insert( requiredFields , key , value )
        end
        return #requiredFields
    elseif pargs.retreattype == "Solitary hermitage" then
        for key, value in ipairs( solitaryFields ) do 
            table.insert( requiredFields , key , value )
        end
        return #requiredFields
    end

    for key, value in ipairs( requiredFields ) do 
        if value == nil or value == "" then
            return 'Fields missing.'
        end
    end

    return #pargs

end

return p