Ignore:
Timestamp:
3 Aug 2017, 07:30:06 (7 years ago)
Author:
Henrik Bettermann
Message:

Add a session-based 'switch' to disable Interswitch payments. If the session configuration field interswitch_enabled is missing in custom packages, Interswitch payments are enabled by default (in contrast to Remita payments which are disabled by default).

Location:
main/kofacustom.nigeria/trunk/src/kofacustom/nigeria
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • main/kofacustom.nigeria/trunk/src/kofacustom/nigeria/interfaces.py

    r14742 r14755  
    102102        )
    103103
     104    interswitch_enabled = schema.Bool(
     105        title = _(u'Interswitch integration enabled'),
     106        default = True,
     107        )
     108
    104109class ICustomSessionConfigurationAdd(ICustomSessionConfiguration):
    105110    """A session configuration object in add mode.
  • main/kofacustom.nigeria/trunk/src/kofacustom/nigeria/interswitch/browser.py

    r13585 r14755  
    3636# Buttons
    3737
     38def module_activated(session):
     39    try:
     40        return getattr(grok.getSite()['configuration'][str(session)],
     41            'interswitch_enabled', True)
     42    except KeyError:
     43        return False
     44
    3845class InterswitchActionButtonStudent(ManageActionButton):
    3946    grok.order(1)
     
    4754    @property
    4855    def target_url(self):
     56        if not module_activated(self.context.student.current_session):
     57            return ''
    4958        if self.context.p_state != 'unpaid':
    5059            return ''
     
    5463    grok.view(OPDPApplicant)
    5564    grok.require('waeup.payApplicant')
     65
     66    @property
     67    def target_url(self):
     68        if not module_activated(self.context.__parent__.__parent__.year):
     69            return ''
     70        if self.context.p_state != 'unpaid':
     71            return ''
     72        return self.view.url(self.view.context, self.target)
    5673
    5774class InterswitchRequestWebserviceActionButtonStudent(ManageActionButton):
     
    6683    @property
    6784    def target_url(self):
     85        if not module_activated(self.context.student.current_session):
     86            return ''
    6887        if self.context.p_state in ('paid', 'waived'):
    6988            return ''
     
    7493    grok.view(OPDPApplicant)
    7594    grok.require('waeup.payApplicant')
     95
     96    @property
     97    def target_url(self):
     98        if not module_activated(self.context.__parent__.__parent__.year):
     99            return ''
     100        if self.context.p_state in ('paid', 'waived'):
     101            return ''
     102        return self.view.url(self.view.context, self.target)
    76103
    77104class InterswitchVerifyWebserviceActionButtonStudent(ManageActionButton):
     
    86113    @property
    87114    def target_url(self):
     115        if not module_activated(self.context.student.current_session):
     116            return ''
    88117        if self.context.p_state != 'paid' \
    89118            or self.context.r_company != u'interswitch':
     
    96125    grok.require('waeup.manageApplication')
    97126
     127    @property
     128    def target_url(self):
     129        if not module_activated(self.context.__parent__.__parent__.year):
     130            return ''
     131        if self.context.p_state != 'paid' \
     132            or self.context.r_company != u'interswitch':
     133            return ''
     134        return self.view.url(self.view.context, self.target)
    98135
    99136# Webservice request views
     
    113150
    114151    def update(self):
     152        if not module_activated(self.context.student.current_session):
     153            return
    115154        if self.context.p_state in ('paid', 'waived'):
    116155            self.flash(_('This ticket has already been paid.'), type='danger')
     
    150189
    151190    def update(self):
     191        if not module_activated(self.context.__parent__.__parent__.year):
     192            return
    152193        if self.context.p_state == 'paid':
    153194            self.flash(_('This ticket has already been paid.'), type='danger')
     
    187228
    188229    def update(self):
     230        if not module_activated(self.context.student.current_session):
     231            return
    189232        if self.context.p_state  != 'paid' \
    190233            or self.context.r_company != u'interswitch':
     
    221264
    222265    def update(self):
     266        if not module_activated(self.context.__parent__.__parent__.year):
     267            return
    223268        if self.context.p_state != 'paid' \
    224269            or self.context.r_company != u'interswitch':
     
    299344
    300345    def update(self):
     346        if not module_activated(self.context.student.current_session):
     347            return
    301348        error = self.init_update()
    302349        if error:
     
    345392
    346393    def update(self):
     394        if not module_activated(self.context.__parent__.__parent__.year):
     395            return
    347396        error = self.init_update()
    348397        if error:
  • main/kofacustom.nigeria/trunk/src/kofacustom/nigeria/remita/browser.py

    r14753 r14755  
    3838    try:
    3939        return getattr(grok.getSite()['configuration'][str(session)],
    40             'remita_enabled', None)
     40            'remita_enabled', False)
    4141    except KeyError:
    4242        return False
Note: See TracChangeset for help on using the changeset viewer.