コード例 #1
0
ファイル: admin.py プロジェクト: pfrancois/grisbi_django
 def __init__(self, field, request, params, model, model_admin, field_path):
     super(Date_perso_filter, self).__init__(field, request, params, model, model_admin, field_path)
     today = utils.today()
     tomorrow = today + timedelta(days=1)
     troismois = today + relativedelta(months=-3, day=1)
     self.links = (
         (_('Any date'), {}),
         (_('Today'), {
             self.lookup_kwarg_since: str(today - timedelta(days=1)),
             self.lookup_kwarg_until: str(tomorrow),
         }),
         (_('Past 7 days'), {
             self.lookup_kwarg_since: str(today - timedelta(days=7)),
             self.lookup_kwarg_until: str(tomorrow),
         }),
         (_('This month'), {
             self.lookup_kwarg_since: str(today.replace(day=1)),
             self.lookup_kwarg_until: str(tomorrow),
         }),
         ('Les trois derniers mois', {
             self.lookup_kwarg_since: str(troismois),
             self.lookup_kwarg_until: str(today.replace(day=15)),  # fin du mois precedent car pour la sg c'est jusqu'au 6
         }),
         (_('This year'), {
             self.lookup_kwarg_since: str(today.replace(month=1, day=1)),
             self.lookup_kwarg_until: str(tomorrow),
         }),
         ('L\'an dernier', {
             self.lookup_kwarg_since: str(today.replace(day=1, year=today.year - 1, month=1)),
             self.lookup_kwarg_until: str(today.replace(day=31, month=12, year=today.year - 1)),
         }),
     )
コード例 #2
0
 def all_since_date(self, lastmaj):
     nb = collections.Counter()
     ope_list = List_ope()
     cat_list = List_cat_compte()
     cpt_list = List_cat_compte()
     # par defaut on parcours les operation modfie max il y a trois mois
     date_min = utils.today() - relativedelta(month=3)
     objs_a_parcourir = models.Db_log.objects.filter(date_time_action__gte=lastmaj, datamodel__in=['ope', 'cat', 'compte'], date_ref__gte=date_min).order_by('id')
     opes = dict((ob.pk, ob) for ob in models.Ope.objects.select_related('compte', 'tiers').filter(id__in=objs_a_parcourir.filter(datamodel="ope").values_list('id_model', flat=True)))
     cats = dict((ob.pk, ob) for ob in models.Cat.objects.order_by('id').all())
     cpts = dict((ob.pk, ob) for ob in models.Compte.objects.order_by('id').all())
     for element in objs_a_parcourir:
         if element.datamodel == "ope":
             obj_list = ope_list
             obj = opes
         if element.datamodel == "compte":
             obj_list = cpt_list
             obj = cpts
         if element.datamodel == "cat":
             obj_list = cat_list
             obj = cats
         if element.type_action == "I":
             try:
                 nb[element.datamodel] += 1
                 nb['global'] += 1
                 obj_list.add(obj=obj[element.id_model], status=element.type_action)
             except KeyError:
                 # ca veut dire que l'operation a ate efface depuis donc on ne s'y interresse pas
                 nb[element.datamodel] -= 1
                 nb['global'] -= 1
                 continue
         if element.type_action == "U":
             try:
                 if element.id_model not in obj_list:
                     nb[element.datamodel] += 1
                     nb['global'] += 1
                 obj_list.add(obj=obj[element.id_model], status=element.type_action)
             except KeyError:
                 # ca veut dire que l'operation a ate efface depuis donc on ne s'y interresse pas
                 nb[element.datamodel] -= 1
                 nb['global'] -= 1
                 continue
         if element.type_action == "D":
             if element.id_model not in obj_list:
                 nb[element.datamodel] += 1
                 nb['global'] += 1
             obj_list.set_deleted(element.id_model, element.date_time_action)
     for cat in cat_list.sorted():
         self.cat_unique(cat_list[cat])
     for cpt in cpt_list.sorted():
         self.compte_unique(cpt_list[cpt])
     for ope in ope_list.sorted():
         self.ope_unique(ope_list[ope])
     return nb
コード例 #3
0
 def test_exercice_cache(self):
     cache = import_base.Exercice_cache(self.request_get('url_exemple'))
     self.assertEqual(cache.goc("exo1"), 1)
     m = models.Exercice.objects.get(id=1)
     self.assertEqual(m.nom, 'exo1')
     self.assertEqual(m.date_debut, utils.today())
     self.assertEqual(m.date_fin, utils.today())
     models.Exercice.objects.create(nom='test', id=30, date_debut=utils.today(), date_fin=utils.today())
     self.assertEqual(cache.goc("test"), 30)
     m = models.Exercice.objects.get(id=30)
     self.assertEqual(m.id, 30)
     self.assertEqual(m.nom, 'test')
     self.assertEqual(cache.goc("test2", {"nom": 'test2', 'id': 31, 'date_debut': utils.today(), 'date_fin': utils.today()}), 31)
     m = models.Exercice.objects.get(id=31)
     self.assertEqual(m.id, 31)
     self.assertEqual(m.date_debut, utils.today())
     self.assertEqual(m.date_fin, utils.today())
     self.assertEqual(m.nom, 'test2')
コード例 #4
0
 def all_since_date(self, lastmaj):
     nb = collections.Counter()
     ope_list = List_ope()
     cat_list = List_cat_compte()
     cpt_list = List_cat_compte()
     # par defaut on parcours les operation modfie max il y a trois mois
     date_min = utils.today() - relativedelta(month=3)
     objs_a_parcourir = models.Db_log.objects.filter(
         date_time_action__gte=lastmaj,
         datamodel__in=['ope', 'cat', 'compte'],
         date_ref__gte=date_min).order_by('id')
     opes = dict((ob.pk, ob) for ob in models.Ope.objects.select_related(
         'compte', 'tiers').filter(id__in=objs_a_parcourir.filter(
             datamodel="ope").values_list('id_model', flat=True)))
     cats = dict(
         (ob.pk, ob) for ob in models.Cat.objects.order_by('id').all())
     cpts = dict(
         (ob.pk, ob) for ob in models.Compte.objects.order_by('id').all())
     for element in objs_a_parcourir:
         if element.datamodel == "ope":
             obj_list = ope_list
             obj = opes
         if element.datamodel == "compte":
             obj_list = cpt_list
             obj = cpts
         if element.datamodel == "cat":
             obj_list = cat_list
             obj = cats
         if element.type_action == "I":
             try:
                 nb[element.datamodel] += 1
                 nb['global'] += 1
                 obj_list.add(obj=obj[element.id_model],
                              status=element.type_action)
             except KeyError:
                 # ca veut dire que l'operation a ate efface depuis donc on ne s'y interresse pas
                 nb[element.datamodel] -= 1
                 nb['global'] -= 1
                 continue
         if element.type_action == "U":
             try:
                 if element.id_model not in obj_list:
                     nb[element.datamodel] += 1
                     nb['global'] += 1
                 obj_list.add(obj=obj[element.id_model],
                              status=element.type_action)
             except KeyError:
                 # ca veut dire que l'operation a ate efface depuis donc on ne s'y interresse pas
                 nb[element.datamodel] -= 1
                 nb['global'] -= 1
                 continue
         if element.type_action == "D":
             if element.id_model not in obj_list:
                 nb[element.datamodel] += 1
                 nb['global'] += 1
             obj_list.set_deleted(element.id_model,
                                  element.date_time_action)
     for cat in cat_list.sorted():
         self.cat_unique(cat_list[cat])
     for cpt in cpt_list.sorted():
         self.compte_unique(cpt_list[cpt])
     for ope in ope_list.sorted():
         self.ope_unique(ope_list[ope])
     return nb