Project

General

Profile

Revision e9ccb711

IDe9ccb71170f08657db9369ac4eafed00754ce4bf
Parent 8c93d88b
Child 1bb369b9

Added by Francois POIROTTE over 14 years ago

Légère modification du code empêchant les modifications concurrentes pour éviter un problème d'arrondis liés à la gestion des microsecondes.

git-svn-id: https://vigilo-dev.si.c-s.fr/svn@1669 b22e2e97-25c9-44ff-b637-2e5ceca36478

View differences:

vigiboard/controllers/root.py
544 544
                         ).filter(EventHistory.idevent.in_(event_id_list)
545 545
                         ).scalar()
546 546
                         
547
    if last_modification_timestamp:
548
        return last_modification_timestamp
549
    return datetime.now()
550
    
551
def date_to_timestamp(date):
552
    """
553
    Convertit une date en timestamp (décimal)
554
    """
555
    return mktime(date.timetuple()) + date.microsecond / 1000000.0
547
    if not last_modification_timestamp:
548
        last_modification_timestamp = datetime.now()
549
    # On élimine la fraction (microsecondes) de l'objet datetime.
550
    # XXX Dans l'idéal, on devrait gérer les microsecondes.
551
    # Problème: les erreurs d'arrondis empêchent certaines modifications.
552
    return datetime.fromtimestamp(mktime(
553
        last_modification_timestamp.timetuple()))
554

  
vigiboard/controllers/vigiboardrequest.py
18 18
from vigilo.common.conf import settings
19 19
from tg.i18n import get_lang
20 20
from pylons.i18n import ugettext as _
21
from time import mktime
21 22

  
22 23
class VigiboardRequest():
23 24
    """
......
454 455
        """
455 456

  
456 457
        from vigiboard.controllers.root import get_last_modification_timestamp
457
        from vigiboard.controllers.root import date_to_timestamp
458 458
        
459 459
        # Dialogue d'édition
460 460
        tmpl_context.edit_event_form = EditEventForm('edit_event_form',
461
            last_modification=date_to_timestamp(
462
                            get_last_modification_timestamp(self.idevents)),
461
            last_modification=mktime(get_last_modification_timestamp(
462
                self.idevents).timetuple()),
463 463
            action=url('/update'), 
464
            )
465
    
464
        )
465

  
466 466
        # Dialogue de recherche
467 467
        tmpl_context.search_form = SearchForm('search_form', lang=self.lang,
468 468
                                        # TRANSLATORS: Format de date et heure.

Also available in: Unified diff