Index: trac/ticket/roadmap.py
===================================================================
--- trac/ticket/roadmap.py	(revision 10028)
+++ trac/ticket/roadmap.py	(working copy)
@@ -16,7 +16,7 @@
 # Author: Christopher Lenz <cmlenz@gmx.de>
 
 from StringIO import StringIO
-from datetime import datetime
+from datetime import datetime, time
 import re
 
 from genshi.builder import tag
@@ -702,9 +702,16 @@
         return 'milestone_delete.html', data, None
 
     def _render_editor(self, req, db, milestone):
+       
+        #default due datetime is today at 18:00
+        now = datetime.now(req.tz)        
+        duetime = time(18,0,0,0,req.tz)
+        default_due = datetime.combine(now.date(), duetime)
+        
         data = {
             'milestone': milestone,
             'datetime_hint': get_datetime_format_hint(),
+            'default_due': default_due,
             'milestone_groups': [],
         }
 
Index: trac/ticket/templates/milestone_edit.html
===================================================================
--- trac/ticket/templates/milestone_edit.html	(revision 10028)
+++ trac/ticket/templates/milestone_edit.html	(working copy)
@@ -22,10 +22,16 @@
           retarget.enable(checked);
           $("#target").enable(checked && retarget.checked());
         }
+        function updateDueDate() {
+          var checked = $("#due").checked();
+          $("#duedate").enable(checked);
+        }        
         $("#completed").click(updateCompletedDate);
         updateCompletedDate();
         $("#retarget").click(function(){ $("#target").enable(this.checked) });
         $("#name").get(0).focus()
+        $("#due").click(updateDueDate);        
+        updateDueDate();
       });
     /*]]>*/</script>
   </head>
@@ -48,9 +54,14 @@
         <fieldset>
           <legend>Schedule</legend>
           <div class="field">
-            <label>Due:<br />
+            <label>
+              <input type="checkbox" id="due" name="due"
+                     checked="${milestone.due or None}" />
+              Due:<br />
+            </label>
+            <label>
               <input type="text" id="duedate" name="duedate" size="${len(datetime_hint)}"
-                     value="${milestone.due and format_datetime(milestone.due)}" 
+                     value="${format_datetime(milestone.due or default_due)}" 
                      title="${_('Format: %(datehint)s', datehint=datetime_hint)}" />
               <em i18n:msg="datehint">Format: ${datetime_hint}</em>        
             </label>

