## $Id: viewlets.py 15990 2020-02-05 22:35:58Z 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.browser.viewlets import ManageActionButton
from waeup.kofa.students.viewlets import (
    AdmissionSlipActionButton,
    AddPreviousPaymentActionButton, AddBalancePaymentActionButton,
    ApprovePaymentActionButton)
from waeup.kofa.students.interfaces import IStudentStudyLevel
from waeup.kofa.students.browser import StudyLevelDisplayFormPage
from waeup.kofa.students.workflow import ADMITTED, VALIDATED

class AdmissionSlipActionButton(AdmissionSlipActionButton):

    @property
    def target_url(self):
        if self.context.state in (ADMITTED,):
            return ''
        return self.view.url(self.view.context, self.target)

class AddPreviousPaymentActionButton(AddPreviousPaymentActionButton):

    @property
    def target_url(self):
        return ''

#class AddBalancePaymentActionButton(AddBalancePaymentActionButton):

#    @property
#    def target_url(self):
#        return ''

class ApprovePaymentActionButton(ApprovePaymentActionButton):

    grok.require('waeup.manageStudent')

class ExaminationClearanceSlipActionButton1(ManageActionButton):
    grok.order(7)
    grok.context(IStudentStudyLevel)
    grok.view(StudyLevelDisplayFormPage)
    grok.require('waeup.viewStudent')
    icon = 'actionicon_pdf.png'
    text = 'Download 1st semester examination clearance slip'
    target = 'examination_clearance_slip_1.pdf'

    @property
    def target_url(self):
        is_current = self.context.__parent__.is_current
        if not is_current:
            return ''
        if self.context.student.state != VALIDATED \
            or self.context.student.current_level != self.context.level:
            return ''
        return self.view.url(self.view.context, self.target)

class ExaminationClearanceSlipActionButton2(ExaminationClearanceSlipActionButton1):
    grok.order(8)
    text = 'Download 2nd semester examination clearance slip'
    target = 'examination_clearance_slip_2.pdf'
