Ticket #101: dates-parsing.patch

File dates-parsing.patch, 2.1 KB (added by dfraser, 3 years ago)

Patch to parse dates on submission (version 2)

  • agiletrac/workflow.py

     
    300300                    date_name = stage['date'].get('name') 
    301301                    date = ticket[ date_name ] and ticket[ date_name ] or None 
    302302                    if date: 
     303                        if isinstance(date, basestring): 
     304                            date = parse_date(date) 
    303305                        formatted_date = format_date(date) 
    304306                        date_hint = 'Previously completed on ' + formatted_date 
    305307                        label = 'Reopen ' + stage['date'].get('stage') 
     
    366368                            label = stage['date'].get('label') + ' ' 
    367369                            name = stage['date'].get('name') 
    368370                            date = ticket[ name ] and ticket[ name ] or None 
     371                            if date and isinstance(date, basestring): 
     372                                date = parse_date(date) 
    369373                            id = action + '_' + name 
    370374                            date_hint = 'Format: ' + get_date_format_hint() 
    371375                            date_chooser_id = 'dp_' + name 
     
    525529                    # We want to make sure we don't silently overwrite a size field because it was already 
    526530                    # completed and there is therefore no element of that name on the web page. Therefore 
    527531                    # first assign the current value and overwrite that if the element was present 
    528                     formatted_date = ticket[name] and format_date(ticket[name]) 
     532                    raw_date_value = ticket[name] 
     533                    if raw_date_value and isinstance(raw_date_value, basestring): 
     534                        raw_date_value = parse_date(raw_date_value) 
     535                    formatted_date = raw_date_value and format_date(raw_date_value) 
    529536                    if req.args.has_key(arg_name): 
    530537                        new_formatted_date = req.args.get(arg_name) 
    531538                        new_date = new_formatted_date and parse_date(new_formatted_date, tzinfo=req.tz) or 0