def perform_cleaning(self, store, itip_id, tip_id_number): itip = store.find(InternalTip, InternalTip.id == itip_id).one() # Is happen that itip was NoneType, so, we are managing this condition if itip: db_delete_itip(store, itip, tip_id_number) else: log.err("DB Inconsistency ? InternalTip to be deleted %s is None" % itip_id)
def reset_submissions(session, tid): session.query(Config).filter( Config.tid == tid, Config.var_name == 'counter_submissions').update({'value': 0}) for itip in session.query(InternalTip).filter(InternalTip.tid == tid): db_delete_itip(session, itip)
def perform_tips_operation(store, receiver_id, operation, rtips_ids): receiver = store.find(models.Receiver, models.Receiver.id == receiver_id).one() for itip in store.find( models.InternalTip, models.ReceiverTip.receiver_id == receiver_id, In(models.ReceiverTip.id, rtips_ids), models.InternalTip.id == models.ReceiverTip.internaltip_id): if operation == 'postpone': can_postpone_expiration = State.tenant_cache[ 1].can_postpone_expiration or receiver.can_postpone_expiration if not can_postpone_expiration: raise errors.ForbiddenOperation db_postpone_expiration_date(store, itip) elif operation == 'delete': can_delete_submission = State.tenant_cache[ 1].can_delete_submission or receiver.can_delete_submission if not can_delete_submission: raise errors.ForbiddenOperation db_delete_itip(store, itip) log.debug("Multiple %s of %d Tips completed" % (operation, len(rtips_ids)))
def perform_cleaning(self, store): for itip in store.find(InternalTip, InternalTip.expiration_date < datetime_now()): db_delete_itip(store, itip) # delete stats older than 3 months store.find( Stats, Stats.start < datetime_now() - timedelta(3 * (365 / 12))).remove()
def perform_tips_operation(session, tid, receiver_id, operation, rtips_ids): receiver = session.query(models.Receiver).filter(models.Receiver.id == receiver_id).one() can_postpone_expiration = State.tenant_cache[tid].can_postpone_expiration or receiver.can_postpone_expiration can_delete_submission = State.tenant_cache[tid].can_delete_submission or receiver.can_delete_submission for itip in session.query(models.InternalTip) \ .filter(models.ReceiverTip.receiver_id == receiver_id, models.ReceiverTip.id.in_(rtips_ids), models.InternalTip.id == models.ReceiverTip.internaltip_id, models.InternalTip.tid == tid): if operation == 'postpone' and can_postpone_expiration: db_postpone_expiration_date(session, tid, itip) elif operation == 'delete' and can_delete_submission: db_delete_itip(session, itip) else: raise errors.ForbiddenOperation
def perform_tips_operation(session, tid, receiver_id, operation, rtips_ids): receiver = models.db_get(session, models.User, models.User.id == receiver_id) can_postpone_expiration = State.tenant_cache[tid].can_postpone_expiration or receiver.can_postpone_expiration can_delete_submission = State.tenant_cache[tid].can_delete_submission or receiver.can_delete_submission for itip in session.query(models.InternalTip) \ .filter(models.ReceiverTip.receiver_id == receiver_id, models.ReceiverTip.id.in_(rtips_ids), models.InternalTip.id == models.ReceiverTip.internaltip_id, models.InternalTip.tid == tid): if operation == 'postpone' and can_postpone_expiration: db_postpone_expiration_date(session, tid, itip) elif operation == 'delete' and can_delete_submission: db_delete_itip(session, itip) else: raise errors.ForbiddenOperation
def reset_submissions(session, tid): session.query(Config).filter(Config.tid == tid, Config.var_name == u'counter_submissions').update({'value': 0}) for itip in session.query(InternalTip).filter(InternalTip.tid == tid): db_delete_itip(session, itip)
def perform_cleaning(self, store): for itip in store.find(InternalTip, InternalTip.expiration_date < datetime_now()): db_delete_itip(store, itip) # delete stats older than 3 months store.find(Stats, Stats.start < datetime_now() - timedelta(3 * (365 / 12))).remove()