From 0b7c7eddb8a871837f30525da277414979161c8d Mon Sep 17 00:00:00 2001 From: Karl Cordes Date: Thu, 16 Jun 2011 09:36:43 +1000 Subject: [PATCH] Regenerating first pages working --- views/elements/document_quote_view.ctp | 2 +- webroot/js/document_add_edit.js | 127 +++++++++++++++---------- 2 files changed, 76 insertions(+), 53 deletions(-) diff --git a/views/elements/document_quote_view.ctp b/views/elements/document_quote_view.ctp index 2621d28c..5db830da 100644 --- a/views/elements/document_quote_view.ctp +++ b/views/elements/document_quote_view.ctp @@ -15,8 +15,8 @@ echo $form->input('Document.id'); ?>
- + link('Generate PDF of this Quote', '/documents/pdf/'.$document['Document']['id']);?> diff --git a/webroot/js/document_add_edit.js b/webroot/js/document_add_edit.js index c09cd404..dd300d57 100644 --- a/webroot/js/document_add_edit.js +++ b/webroot/js/document_add_edit.js @@ -126,40 +126,7 @@ $(function() { $("#addPage").button().click(function(event) { event.preventDefault(); - - $('.page').ckeditor(function() { - this.destroy(); - }); - - - - var newPage = $('#pageContentFactory').clone(); - newPage.removeAttr('id'); - newPage.show(); - - - - var pageCount = $('.docPage').length; - - //alert(pageCount); - - pageCount++; - var model = 'DocPage'; - var field = 'content'; - var ID = getCakeID(model,pageCount, field); - var name = getCakeName(model, pageCount, field); - - newPage.find('label').attr('for', ID); - - newPage.find('textarea').attr('id', ID).attr('name', name); - newPage.addClass('docPage'); - - var hiddenName = getCakeName(model, pageCount, 'page_number'); - - newPage.append(''); - $('.pages').append(newPage); - - $('.page').ckeditor(config); + newPage(false); return false; }); @@ -265,24 +232,7 @@ $(function() { $("#savePages").click(function() { - var docPages = $('#DocumentEditForm').find('input,select,textarea'); - - $('.page').ckeditor(function() { - this.updateElement(); - }); - - $.post('/documents/ajax_edit', docPages, function(data) { - if(data =='SUCCESS') { - $("#flashMessage").html("Pages Saved Successfully"); - } - else { - $("#flashMessage").html("Unable to Save Pages"); - } - - $("#flashMessage").show(); - - loadLineItems(); - }); + savePages(); }); @@ -321,10 +271,18 @@ $(function() { $("#generateFirstPage").click(function() { + + if($(".firstPage").length == 0) { + newPage(true); + } + $.get('/documents/generateFirstPage/'+docID, function(data) { $(".firstPage").val(data); + savePages(); }); + + }); @@ -365,6 +323,71 @@ $('.generateCommercialComments').live('click', function(event) { }); +function newPage(firstPage) { + + + $('.page').ckeditor(function() { + this.destroy(); + }); + + + + var newPage = $('#pageContentFactory').clone(); + newPage.removeAttr('id'); + newPage.show(); + + + + var pageCount = $('.docPage').length; + + //alert(pageCount); + + pageCount++; + var model = 'DocPage'; + var field = 'content'; + var ID = getCakeID(model,pageCount, field); + var name = getCakeName(model, pageCount, field); + + newPage.find('label').attr('for', ID); + + newPage.find('textarea').attr('id', ID).attr('name', name); + newPage.addClass('docPage'); + + + if(firstPage == true) { + newPage.find('textarea').addClass('firstPage'); + } + + + var hiddenName = getCakeName(model, pageCount, 'page_number'); + + newPage.append(''); + $('.pages').append(newPage); + + $('.page').ckeditor(config); +} + +function savePages() { + var docPages = $('#DocumentEditForm').find('input,select,textarea'); + + $('.page').ckeditor(function() { + this.updateElement(); + }); + + $.post('/documents/ajax_edit', docPages, function(data) { + if(data =='SUCCESS') { + $("#flashMessage").html("Pages Saved Successfully"); + } + else { + $("#flashMessage").html("Unable to Save Pages"); + } + + $("#flashMessage").show(); + + loadLineItems(); + }); +} + function loadLineItems() { var documentID = $("#documentID").html();