Module:FormCheckAndSubmit: Difference between revisions

From Tsadra Foundation Advanced Contemplative Scholarships
(by SublimeText.Mediawiker)
(by SublimeText.Mediawiker)
Line 110: Line 110:
         :attr( 'class', 'btn btn-danger' )
         :attr( 'class', 'btn btn-danger' )
     local submitButton = tostring( submitInput )
     local submitButton = tostring( submitInput )


     if not pargs.retreattype or pargs.retreattype == "" then
     if not pargs.retreattype or pargs.retreattype == "" then
Line 119: Line 117:
             table.insert( requiredFields , key , value )
             table.insert( requiredFields , key , value )
         end
         end
         return 'requiredFields 3 year: ' .. #requiredFields
         if #requiredFields == 71 then
            return submitButton
        else
            return saveButton
        end
     elseif pargs.retreattype == "Solitary hermitage" then
     elseif pargs.retreattype == "Solitary hermitage" then
         for key, value in ipairs( solitaryFields ) do  
         for key, value in ipairs( solitaryFields ) do  

Revision as of 06:17, 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 saveButton
    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 submitButton
        else
            return saveButton
        end
    elseif pargs.retreattype == "Solitary hermitage" then
        for key, value in ipairs( solitaryFields ) do 
            table.insert( requiredFields , key , value )
        end
        return 'requiredFields Solitary: ' .. #requiredFields
    end

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

    return 'pargs: ' .. #pargs

end

return p