Esempio n. 1
0
    def index(self):
        c = TemplateContext()
        c.heading = _('Statistics')

        c.members = len(self.mf.getUserList())
        activeMembers = self.mf.getActiveMemberList()
        c.activeMembers = len(activeMembers)
        c.formerMembers = c.members - c.activeMembers

        c.paymentsOk = 0

        for uid in activeMembers:
            last_payment = None

            try:
                last_payment = self.db.query(Payment).filter(
                    and_(Payment.uid == uid, Payment.verified == 1)).order_by(
                        Payment.date.desc()).limit(1)[0]
            except Exception as e:
                ''' Don't care if there is no payment '''
                pass

            if last_payment:
                d = last_payment.date
                today = datetime.datetime.now().date()

                if d.year > today.year or (d.year == today.year
                                           and d.month >= today.month):
                    c.paymentsOk += 1

        c.paymentsNotOk = c.activeMembers - c.paymentsOk

        return self.render('/statistics/index.mako', template_context=c)
Esempio n. 2
0
    def exportList(self, listType='plain'):
        c = TemplateContext()
        try:
            members = self.mf.getUsers()
            c.members = []

            # make sure to clean out some vars
            for m in members:
                m.sambaNTPassword = '******'
                m.userPassword = '******'

                if not m.lockedMember:
                    c.members.append(m)

            if listType == 'RCSL':
                cherrypy.response.content_type = 'text/plain'
                return self.render('/members/exportRCSLCSV.mako',
                                   template_context=c)
            else:
                cherrypy.response.content_type = 'text/plain'
                return self.render('/members/exportCSV.mako',
                                   template_context=c)

        except LookupError as e:
            print 'Lookup error!'
            print e
            pass

        return 'ERROR 4x0'
Esempio n. 3
0
    def index(self):
        c = TemplateContext()
        c.heading = _("Statistics")

        c.members = len(self.mf.getUserList())
        activeMembers = self.mf.getActiveMemberList()
        c.activeMembers = len(activeMembers)
        c.formerMembers = c.members - c.activeMembers

        c.paymentsOk = 0

        for uid in activeMembers:
            last_payment = None

            try:
                last_payment = (
                    self.db.query(Payment)
                    .filter(and_(Payment.uid == uid, Payment.verified == 1))
                    .order_by(Payment.date.desc())
                    .limit(1)[0]
                )
            except Exception as e:
                """ Don't care if there is no payment """
                pass

            if last_payment:
                d = last_payment.date
                today = datetime.datetime.now().date()

                if d.year > today.year or (d.year == today.year and d.month >= today.month):
                    c.paymentsOk += 1

        c.paymentsNotOk = c.activeMembers - c.paymentsOk

        return self.render("/statistics/index.mako", template_context=c)
Esempio n. 4
0
    def showAllMembers(self, _filter='active'):
        c = TemplateContext()
        try:
            c.heading = _('All members')

            members = self.mf.getUsers(clear_credentials=True)
            c.members = []

            # make sure to clean out some vars
            for m in members:
                if _filter == 'active' and not m.lockedMember:
                    c.members.append(m)
                elif _filter == 'former' and m.lockedMember:
                    c.members.append(m)
                elif _filter == 'all':
                    c.members.append(m)

            return self.render('/members/viewAll.mako', template_context=c)

        except LookupError as e:
            import sys, traceback
            traceback.print_exc(file=sys.stdout)
            print 'Lookup error!'
            print e
            pass
        except NoResultFound:
            print 'No such sql user !'

        return 'ERROR 4x0'
Esempio n. 5
0
  def exportList(self, listType='plain'):
    c = TemplateContext()
    try:
      members = self.mf.getUsers()
      c.members = []

      # make sure to clean out some vars
      for m in members:
        m.sambaNTPassword = '******'
        m.userPassword = '******'

        if not m.lockedMember:
          c.members.append(m)

      if listType == 'RCSL':
        cherrypy.response.content_type = 'text/plain'
        return self.render('/members/exportRCSLCSV.mako', template_context=c)
      else:
        cherrypy.response.content_type = 'text/plain'
        return self.render('/members/exportCSV.mako', template_context=c)

    except LookupError as e:
      print 'Lookup error!'
      print e
      pass

    return 'ERROR 4x0'
Esempio n. 6
0
  def showAllMembers(self, _filter='active'):
    c = TemplateContext()
    try:
      c.heading = _('All members')

      members = self.mf.getUsers(clear_credentials=True)
      c.members = []

      # make sure to clean out some vars
      for m in members:
        if _filter == 'active' and not m.lockedMember:
          c.members.append(m)
        elif _filter == 'former' and m.lockedMember:
          c.members.append(m)
        elif _filter == 'all':
          c.members.append(m)

      return self.render('/members/viewAll.mako', template_context=c)

    except LookupError as e:
      import sys, traceback
      traceback.print_exc(file=sys.stdout)
      print 'Lookup error!'
      print e
      pass
    except NoResultFound:
      print 'No such sql user !'

    return 'ERROR 4x0'
Esempio n. 7
0
    def showOutstanding(self, showAll=0):
        """ Show which users still need to pay their membership fees and if a reminder has already been sent """
        if showAll == '1':
            showAll = True
        else:
            showAll = False

        activeMembers = self.mf.getActiveMemberList()

        # Prepare add payment form
        c = TemplateContext()
        c.heading = _('Outstanding payments')
        c.members = []
        c.member_ids = []
        for uid in activeMembers:
            last_payment = None

            try:
                last_payment = self.db.query(Payment).filter(
                    and_(Payment.uid == uid, Payment.verified == 1)).order_by(
                        Payment.date.desc()).limit(1)[0]
            except:
                ''' Don't care if there is no payment '''
                pass

            m = self.mf.getUser(uid)
            m.paymentGood = False

            if last_payment:
                d = last_payment.date
                today = datetime.datetime.now().date()

                if d.year > today.year or (d.year == today.year
                                           and d.month >= today.month):
                    m.paymentGood = True

            if not m.paymentGood or showAll:
                c.members.append(m)

            c.member_ids.append(uid)

        return self.render('/payments/showOutstanding.mako',
                           template_context=c)
Esempio n. 8
0
  def showOutstanding(self, showAll=0):
    """ Show which users still need to pay their membership fees and if a reminder has already been sent """
    if showAll == '1':
      showAll = True
    else:
      showAll = False

    activeMembers = self.mf.getActiveMemberList()

    # Prepare add payment form
    c = TemplateContext()
    c.heading = _('Outstanding payments')
    c.members = []
    c.member_ids = []
    for uid in activeMembers:
      last_payment = None

      try:
        last_payment = self.db.query(Payment).filter(and_(Payment.uid == uid, Payment.verified == 1)).order_by(Payment.date.desc()).limit(1)[0]
      except:
        ''' Don't care if there is no payment '''
        pass

      m = self.mf.getUser(uid)
      m.paymentGood = False

      if last_payment:
        d = last_payment.date
        today = datetime.datetime.now().date()

        if d.year > today.year or (d.year == today.year and d.month >= today.month):
          m.paymentGood = True

      if not m.paymentGood or showAll:
        c.members.append(m)

      c.member_ids.append(uid)

    return self.render('/payments/showOutstanding.mako', template_context=c)