changeset 607:c67dcc0fa80f

admin: Prompt the user for a commit message when committing a page.
author Ludovic Chabant <ludovic@chabant.com>
date Wed, 27 Jan 2016 22:47:24 -0800
parents f1e03f85f14d
children 8e1b38632702
files foodtruck/templates/edit_page.html foodtruck/views/edit.py foodtruckui/assets/js/foodtruck.js foodtruckui/assets/sass/foodtruck.scss
diffstat 4 files changed, 34 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/foodtruck/templates/edit_page.html	Wed Jan 27 22:47:00 2016 -0800
+++ b/foodtruck/templates/edit_page.html	Wed Jan 27 22:47:24 2016 -0800
@@ -22,17 +22,41 @@
         </div>
         <div class="col-md-2">
             <div class="btn-group">
-                <button type="button" name="do_save" class="btn btn-primary">Save</button>
+                <button type="submit" name="do_save" class="btn btn-primary">Save</button>
                 <button type="button" class="btn btn-primary dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                     <span class="caret"></span>
                     <span class="sr-only">Toggle Dropdown</span>
                 </button>
                 <ul class="dropdown-menu">
-                    <li><button type="submit" name="do_save_and_commit" class="btn btn-link">Save and Commit</button></li>
+                    <li><button type="button" class="btn btn-link" data-toggle="modal" data-target="#ft-commit-modal">Save and Commit</button></li>
                 </ul>
             </div>
         </div>
     </div>
+
+    <div id="ft-commit-modal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="ft-commit-modal-label">
+        <div class="modal-dialog" role="document">
+            <div class="modal-content">
+                <div class="modal-header">
+                    <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
+                    <h4 class="modal-title" id="ft-commit-modal-label">Commit Page</h4>
+                </div>
+                <div class="modal-body">
+                    <p>This will commit the current page to your source control.</p>
+                    <div class="form-group">
+                        <div class="input-group">
+                            <span class="input-group-addon" id="ft-commit-msg-label">Message: </span>
+                            <input type="text" class="form-control" placeholder="{{commit_msg}}" aria-describedby="ft-commit-msg-label" name="commit_msg" id="ft-commit-msg" />
+                        </div>
+                    </div>
+                </div>
+                <div class="modal-footer">
+                    <button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>
+                    <button type="submit" class="btn btn-primary" name="do_save_and_commit">Save and Commit</button>
+                </div>
+            </div>
+        </div>
+    </div>
 </div>
 </form>
 {% endblock %}
--- a/foodtruck/views/edit.py	Wed Jan 27 22:47:00 2016 -0800
+++ b/foodtruck/views/edit.py	Wed Jan 27 22:47:24 2016 -0800
@@ -39,7 +39,9 @@
                     page.path, site_app.root_dir))
 
         if 'do_save_and_commit' in request.form:
-            message = "Edit %s" % os.path.relpath(
+            message = request.form.get('commit_msg')
+            if not message:
+                message = "Edit %s" % os.path.relpath(
                     page.path, site_app.root_dir)
             site.scm.commit([page.path], message)
 
--- a/foodtruckui/assets/js/foodtruck.js	Wed Jan 27 22:47:00 2016 -0800
+++ b/foodtruckui/assets/js/foodtruck.js	Wed Jan 27 22:47:24 2016 -0800
@@ -1,6 +1,10 @@
 
 $(document).ready(function() {
     $('.ft-nav-collapsed + ul').hide();
+
+    $('#ft-commit-modal').on('shown.bs.modal', function () {
+        $('#ft-commit-msg').focus();
+    });
 });
 
 var onPublishEvent = function(e) {
--- a/foodtruckui/assets/sass/foodtruck.scss	Wed Jan 27 22:47:00 2016 -0800
+++ b/foodtruckui/assets/sass/foodtruck.scss	Wed Jan 27 22:47:24 2016 -0800
@@ -27,6 +27,7 @@
 @import "bootstrap/component-animations";
 @import "bootstrap/dropdowns";
 @import "bootstrap/input-groups";
+@import "bootstrap/modals";
 
 // Utility classes
 @import "bootstrap/utilities";