## $Id: viewlets.py 17254 2022-12-30 09:25:50Z henrik $ ## ## Copyright (C) 2011 Uli Fouquet & Henrik Bettermann ## This program is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by ## the Free Software Foundation; either version 2 of the License, or ## (at your option) any later version. ## ## This program is distributed in the hope that it will be useful, ## but WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ## GNU General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program; if not, write to the Free Software ## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ## import grok from waeup.kofa.interfaces import IKofaObject from waeup.kofa.browser.viewlets import ManageActionButton from waeup.kofa.applicants.viewlets import ApplicantsAuthTab from waeup.kofa.applicants.browser import OnlinePaymentDisplayFormPage from kofacustom.lpng.applicants.interfaces import ( ICustomApplicant, ICustomApplicantOnlinePayment) from kofacustom.lpng.applicants.browser import (ApplicantDisplayFormPage, ApplicantEditFormPage) from kofacustom.lpng.interfaces import MessageFactory as _ grok.context(IKofaObject) # Make IKofaObject the default context class ApplicantsAnonTab(ApplicantsAuthTab): """Applicants tab in primary navigation. Do not display the tab. """ grok.require('waeup.Anonymous') tab_title = _(u'Application') @property def link_target(self): return class SelectPunitActionButton(ManageActionButton): grok.order(2) grok.context(ICustomApplicant) grok.require('waeup.handleApplication') grok.view(ApplicantDisplayFormPage) icon = 'actionicon_polling.png' text = _('Locate Polling Unit') target ='punitformpage' class MakeUSSDDonationActionButton(ManageActionButton): grok.order(1) grok.context(ICustomApplicant) grok.require('waeup.handleApplication') grok.view(ApplicantDisplayFormPage) icon = 'actionicon_donate.png' text = _('Make Donation') target ='addbp' class MakeUSSDDonationActionButton2(MakeUSSDDonationActionButton): grok.view(ApplicantEditFormPage) class MakeUSSDDonationActionButton3(ManageActionButton): grok.order(1) grok.context(ICustomApplicantOnlinePayment) grok.view(OnlinePaymentDisplayFormPage) grok.require('waeup.payApplicant') icon = 'actionicon_pay.png' text = _('Pay via USSD') target = 'ussdinfo' @property def target_url(self): if self.context.p_state != 'unpaid': return '' if self.context.p_currency != 'NGN': return '' if self.context.amount_auth == 0: return '' return self.view.url(self.view.context, self.target)