From 9b439fffbce0eaeb60e965bf9c8daec1dce782b2 Mon Sep 17 00:00:00 2001 From: Rushabh Mehta Date: Mon, 16 Apr 2012 13:32:00 +0530 Subject: [PATCH] moved build.json to framework and updates to login page and update password --- build.json | 175 +++++++++++++++++++++++ conf/build.json | 182 ++---------------------- css/legacy/body.css | 4 + css/legacy/fields.css | 65 +++++++++ css/legacy/forms.css | 66 --------- css/ui/views.css | 2 +- js/wn/ui/appframe.js | 3 + js/wn/ui/dialog.js | 10 ++ py/build/bundle.py | 24 +++- py/build/project.py | 2 +- py/core/page/login_page/login_page.html | 62 ++++---- py/core/page/login_page/login_page.js | 37 +++-- py/webnotes/handler.py | 16 +-- 13 files changed, 349 insertions(+), 299 deletions(-) create mode 100644 build.json create mode 100644 css/legacy/fields.css diff --git a/build.json b/build.json new file mode 100644 index 0000000000..79c6dd9a3c --- /dev/null +++ b/build.json @@ -0,0 +1,175 @@ +[ + { + "lib/js/core.min.js": [ + "lib/js/wn/class.js", + "lib/js/wn/provide.js", + "lib/js/wn/versions.js", + "lib/js/wn/assets.js", + "lib/js/wn/require.js", + "lib/js/wn/dom.js", + "lib/js/wn/model.js", + "lib/js/wn/misc/tools.js", + "lib/js/wn/misc/user.js", + "lib/js/lib/json2.js", + "lib/js/wn/router.js", + "lib/js/wn/ui/listing.js", + "lib/js/wn/views/container.js", + "lib/js/wn/views/doclistview.js", + "lib/js/wn/views/pageview.js", + "lib/js/wn/views/formview.js", + "lib/js/wn/views/reportview.js", + "lib/js/wn/request.js", + "lib/js/core.js" + ] + }, + + { + "lib/js/wn/ui/toolbar.min.js": [ + "lib/js/wn/ui/toolbar/selector_dialog.js", + "lib/js/wn/ui/toolbar/new.js", + "lib/js/wn/ui/toolbar/search.js", + "lib/js/wn/ui/toolbar/report.js", + "lib/js/wn/ui/toolbar/recent.js", + "lib/js/wn/ui/toolbar/toolbar.js" + ] + }, + + { + "lib/js/legacy/report.compressed.js": [ + "lib/js/legacy/widgets/report_builder/report_builder.js", + "lib/js/legacy/widgets/report_builder/datatable.js", + "lib/js/legacy/widgets/report_builder/calculator.js" + ] + }, + + { + "css/all-web.css": [ + "lib/css/bootstrap/headings.css", + "lib/css/bootstrap/buttons.css", + "lib/css/bootstrap/navbar.css", + "lib/css/bootstrap/dropdown.css", + "lib/css/bootstrap/tooltip.css", + "lib/css/legacy/body.css", + "lib/css/legacy/messages.css", + "lib/css/legacy/dialog.css", + "lib/css/ui/common.css", + "lib/css/ui/fonts.css", + "lib/css/ui/list.css", + "lib/css/ui/views.css" + ] + }, + + { + "css/all-app.css": [ + "lib/css/bootstrap/headings.css", + "lib/css/bootstrap/buttons.css", + "lib/css/bootstrap/navbar.css", + "lib/css/bootstrap/dropdown.css", + "lib/css/bootstrap/tooltip.css", + "lib/css/bootstrap/label.css", + "lib/css/bootstrap/icons.css", + "lib/css/bootstrap/popover.css", + "lib/css/legacy/body.css", + "lib/css/legacy/messages.css", + "lib/css/legacy/forms.css", + "lib/css/legacy/fields.css", + "lib/css/legacy/grid.css", + "lib/css/legacy/listing.css", + "lib/css/legacy/report.css", + "lib/css/legacy/dialog.css", + "lib/css/legacy/tabs.css", + "lib/css/legacy/sidebar.css", + "lib/css/Aristo/aristo.selected.css", + "lib/css/ui/common.css", + "lib/css/ui/list.css", + "lib/css/ui/views.css", + "lib/css/ui/fonts.css", + ] + }, + + { + "js/all-web.js": [ + "lib/js/lib/history/history.min.js:concat", + "lib/js/lib/bootstrap.min.js:concat", + "lib/js/core.min.js:concat", + "lib/js/legacy/globals.js", + "lib/js/legacy/utils/datatype.js", + "lib/js/legacy/utils/datetime.js", + "lib/js/legacy/utils/dom.js", + "lib/js/legacy/utils/handler.js", + "lib/js/legacy/utils/msgprint.js", + "lib/js/wn/ui/appframe.js", + "lib/js/wn/ui/dialog.js", + "lib/js/legacy/widgets/dialog.js", + "lib/js/wn/ui/listing.js", + "lib/js/legacy/webpage/page_header.js", + "lib/js/legacy/webpage/spinner.js", + "lib/js/legacy/webpage/loaders.js", + "lib/js/legacy/wn/widgets/footer.js", + "lib/js/legacy/model/local_data.js", + "lib/js/legacy/model/doclist.js", + "lib/js/wn/app.js", + "js/app.js" + ] + }, + + { + "js/all-app.js": [ + "lib/js/lib/history/history.min.js:concat", + "lib/js/lib/jquery/jquery.ui.core.js:concat", + "lib/js/lib/jquery/jquery.ui.datepicker.js:concat", + "lib/js/lib/jquery/jquery.ui.autocomplete.js:concat", + "lib/js/lib/tiny_mce_33/jquery.tinymce.js:concat", + "lib/js/lib/bootstrap.min.js:concat", + "lib/js/lib/sprintf.js", + "lib/js/core.min.js:concat", + "lib/js/legacy/globals.js", + "lib/js/legacy/utils/datatype.js", + "lib/js/legacy/utils/datetime.js", + "lib/js/legacy/utils/dom.js", + "lib/js/legacy/utils/handler.js", + "lib/js/legacy/utils/msgprint.js", + "lib/js/legacy/utils/printElement.js", + "lib/js/legacy/widgets/form/fields.js", + "lib/js/wn/ui/appframe.js", + "lib/js/wn/ui/dialog.js", + "lib/js/wn/ui/button.js", + "lib/js/legacy/widgets/dialog.js", + "lib/js/legacy/widgets/layout.js", + "lib/js/legacy/widgets/tabbedpage.js", + "lib/js/legacy/webpage/page_header.js", + "lib/js/legacy/widgets/tags.js", + "lib/js/legacy/widgets/export_query.js", + "lib/js/legacy/webpage/search.js", + "lib/js/legacy/webpage/spinner.js", + "lib/js/legacy/webpage/error_console.js", + "lib/js/legacy/webpage/loaders.js", + "lib/js/legacy/webpage/uploader.js", + "lib/js/legacy/wn/page_layout.js", + "lib/js/legacy/wn/widgets/page_sidebar.js", + "lib/js/legacy/wn/widgets/footer.js", + "lib/js/legacy/model/local_data.js", + "lib/js/legacy/model/doclist.js", + "lib/js/wn/ui/toolbar.min.js:concat", + "lib/js/wn/views/breadcrumbs.js", + "lib/js/legacy/widgets/form/fields.js", + "lib/js/legacy/widgets/form/form_dialog.js", + "lib/js/legacy/widgets/form/form_header.js", + "lib/js/legacy/widgets/form/form.js", + "lib/js/legacy/widgets/form/form_fields.js", + "lib/js/legacy/widgets/form/grid.js", + "lib/js/legacy/widgets/form/form_grid.js", + "lib/js/legacy/widgets/form/print_format.js", + "lib/js/legacy/widgets/form/email.js", + "lib/js/legacy/widgets/form/clientscriptAPI.js", + "lib/js/legacy/widgets/form/form_comments.js", + "lib/js/legacy/wn/widgets/form/sidebar.js", + "lib/js/legacy/wn/widgets/form/comments.js", + "lib/js/legacy/wn/widgets/form/attachments.js", + "lib/js/legacy/wn/widgets/form/assign_to.js", + "lib/js/wn/app.js", + "js/app.js" + ] + } +] + diff --git a/conf/build.json b/conf/build.json index e18c52fc40..f1cea6c7a8 100644 --- a/conf/build.json +++ b/conf/build.json @@ -1,172 +1,10 @@ -[ - { - "lib/js/core.min.js": [ - "lib/js/wn/class.js", - "lib/js/wn/provide.js", - "lib/js/wn/versions.js", - "lib/js/wn/assets.js", - "lib/js/wn/require.js", - "lib/js/wn/dom.js", - "lib/js/wn/model.js", - "lib/js/wn/misc/tools.js", - "lib/js/wn/misc/user.js", - "lib/js/lib/json2.js", - "lib/js/wn/router.js", - "lib/js/wn/ui/listing.js", - "lib/js/wn/views/container.js", - "lib/js/wn/views/doclistview.js", - "lib/js/wn/views/pageview.js", - "lib/js/wn/views/formview.js", - "lib/js/wn/views/reportview.js", - "lib/js/wn/request.js", - "lib/js/core.js" - ] - }, - - { - "lib/js/wn/ui/toolbar.min.js": [ - "lib/js/wn/ui/toolbar/selector_dialog.js", - "lib/js/wn/ui/toolbar/new.js", - "lib/js/wn/ui/toolbar/search.js", - "lib/js/wn/ui/toolbar/report.js", - "lib/js/wn/ui/toolbar/recent.js", - "lib/js/wn/ui/toolbar/toolbar.js" - ] - }, - - { - "lib/js/legacy/report.compressed.js": [ - "lib/js/legacy/widgets/report_builder/report_builder.js", - "lib/js/legacy/widgets/report_builder/datatable.js", - "lib/js/legacy/widgets/report_builder/calculator.js" - ] - }, - - { - "css/all-web.css": [ - "lib/css/legacy/body.css", - "lib/css/legacy/messages.css", - "lib/css/legacy/dialog.css", - "lib/css/bootstrap/headings.css", - "lib/css/bootstrap/buttons.css", - "lib/css/bootstrap/navbar.css", - "lib/css/bootstrap/dropdown.css", - "lib/css/bootstrap/tooltip.css", - "lib/css/ui/fonts.css", - "lib/css/ui/list.css" - ] - }, - - { - "css/all-app.css": [ - "lib/css/legacy/body.css", - "lib/css/legacy/messages.css", - "lib/css/legacy/forms.css", - "lib/css/legacy/grid.css", - "lib/css/legacy/listing.css", - "lib/css/legacy/report.css", - "lib/css/legacy/dialog.css", - "lib/css/legacy/tabs.css", - "lib/css/legacy/sidebar.css", - "lib/css/Aristo/aristo.selected.css", - "lib/css/ui/list.css", - "lib/css/ui/views.css", - "lib/css/ui/fonts.css", - "lib/css/bootstrap/headings.css", - "lib/css/bootstrap/buttons.css", - "lib/css/bootstrap/navbar.css", - "lib/css/bootstrap/dropdown.css", - "lib/css/bootstrap/tooltip.css", - "lib/css/bootstrap/label.css", - "lib/css/bootstrap/icons.css", - "lib/css/bootstrap/popover.css", - ] - }, - - { - "js/all-web.js": [ - "lib/js/lib/history/history.min.js:concat", - "lib/js/lib/bootstrap.min.js:concat", - "lib/js/core.min.js:concat", - "lib/js/legacy/globals.js", - "lib/js/legacy/utils/datatype.js", - "lib/js/legacy/utils/datetime.js", - "lib/js/legacy/utils/dom.js", - "lib/js/legacy/utils/handler.js", - "lib/js/legacy/utils/msgprint.js", - "lib/js/wn/ui/appframe.js", - "lib/js/wn/ui/dialog.js", - "lib/js/legacy/widgets/dialog.js", - "lib/js/wn/ui/listing.js", - "lib/js/legacy/webpage/page_header.js", - "lib/js/legacy/webpage/spinner.js", - "lib/js/legacy/webpage/loaders.js", - "lib/js/legacy/wn/widgets/footer.js", - "lib/js/legacy/model/local_data.js", - "lib/js/legacy/model/doclist.js", - "lib/js/legacy/app.js", - "js/app.js" - ] - }, - - { - "js/all-app.js": [ - "lib/js/lib/history/history.min.js:concat", - "lib/js/lib/jquery/jquery.ui.core.js:concat", - "lib/js/lib/jquery/jquery.ui.datepicker.js:concat", - "lib/js/lib/jquery/jquery.ui.autocomplete.js:concat", - "lib/js/lib/tiny_mce_33/jquery.tinymce.js:concat", - "lib/js/lib/bootstrap.min.js:concat", - "lib/js/lib/sprintf.js", - "lib/js/core.min.js:concat", - "lib/js/legacy/globals.js", - "lib/js/legacy/utils/datatype.js", - "lib/js/legacy/utils/datetime.js", - "lib/js/legacy/utils/dom.js", - "lib/js/legacy/utils/handler.js", - "lib/js/legacy/utils/msgprint.js", - "lib/js/legacy/utils/printElement.js", - "lib/js/legacy/widgets/form/fields.js", - "lib/js/wn/ui/appframe.js", - "lib/js/wn/ui/dialog.js", - "lib/js/wn/ui/button.js", - "lib/js/legacy/widgets/dialog.js", - "lib/js/legacy/widgets/layout.js", - "lib/js/legacy/widgets/tabbedpage.js", - "lib/js/legacy/webpage/page_header.js", - "lib/js/legacy/widgets/tags.js", - "lib/js/legacy/widgets/export_query.js", - "lib/js/legacy/webpage/search.js", - "lib/js/legacy/webpage/spinner.js", - "lib/js/legacy/webpage/error_console.js", - "lib/js/legacy/webpage/loaders.js", - "lib/js/legacy/webpage/uploader.js", - "lib/js/legacy/wn/page_layout.js", - "lib/js/legacy/wn/widgets/page_sidebar.js", - "lib/js/legacy/wn/widgets/footer.js", - "lib/js/legacy/model/local_data.js", - "lib/js/legacy/model/doclist.js", - "lib/js/wn/ui/toolbar.min.js:concat", - "lib/js/wn/views/breadcrumbs.js", - "lib/js/legacy/widgets/form/fields.js", - "lib/js/legacy/widgets/form/form_dialog.js", - "lib/js/legacy/widgets/form/form_header.js", - "lib/js/legacy/widgets/form/form.js", - "lib/js/legacy/widgets/form/form_fields.js", - "lib/js/legacy/widgets/form/grid.js", - "lib/js/legacy/widgets/form/form_grid.js", - "lib/js/legacy/widgets/form/print_format.js", - "lib/js/legacy/widgets/form/email.js", - "lib/js/legacy/widgets/form/clientscriptAPI.js", - "lib/js/legacy/widgets/form/form_comments.js", - "lib/js/legacy/wn/widgets/form/sidebar.js", - "lib/js/legacy/wn/widgets/form/comments.js", - "lib/js/legacy/wn/widgets/form/attachments.js", - "lib/js/legacy/wn/widgets/form/assign_to.js", - "lib/js/legacy/app.js", - "js/app.js" - ] - } - -] - +{ + "css/all-web.css": [ + ], + "css/all-app.css": [ + ], + "js/all-web.js": [ + ], + "js/all-app.js": [ + ] +} \ No newline at end of file diff --git a/css/legacy/body.css b/css/legacy/body.css index abe8c32b5a..a5bb32f6f1 100644 --- a/css/legacy/body.css +++ b/css/legacy/body.css @@ -225,6 +225,10 @@ div.std-footer-item { padding: 0px; } +.layout-section { + padding: 15px; +} + .layout-main-section { width: 71%; float: left; diff --git a/css/legacy/fields.css b/css/legacy/fields.css new file mode 100644 index 0000000000..ed3d2b4797 --- /dev/null +++ b/css/legacy/fields.css @@ -0,0 +1,65 @@ +/* Documents */ + +.frm_field_table { + width: 100%; + border-collapse: collapse; +} + +.datalabelcell { + padding: 2px 0px; + width: 160px; + vertical-align: top; +} +.datainputcell { padding: 2px 0px; } + + +.help ol { + padding-left: 19px; +} + +.field_description_top { + margin-bottom: 3px; +} + +.input_area input, select, textarea { + font-size: 14px; + padding: 2px; +} + +.input_area input { + width: 80%; + margin: 0px; +} +.input_area select { + width: 80%; +} +.input_area textarea { + width: 90%; +} + +.disp_area { + width: 80%; + padding: 2px 0px; + font-size: 12px; +} +.disp_area_no_val { + height: 14px; +} + +.no_img { + padding: 40px; + width: 100px; + height: 20px; + color: #888; + text-align: center; + border: 1px solid #AAA; +} + +.input-mandatory { + font-size: 14px !important; + font-weight: bold; +} + +.field-to-update { + background-color:#FEE; +} \ No newline at end of file diff --git a/css/legacy/forms.css b/css/legacy/forms.css index 7ade7d93d1..da76fe33c1 100644 --- a/css/legacy/forms.css +++ b/css/legacy/forms.css @@ -136,72 +136,6 @@ div.time_field select{ width: 45px; } -/* Documents */ - -.frm_field_table { - width: 100%; - border-collapse: collapse; -} - -.datalabelcell { - padding: 2px 0px; - width: 160px; - vertical-align: top; -} -.datainputcell { padding: 2px 0px; } - - -.help ol { - padding-left: 19px; -} - -.field_description_top { - margin-bottom: 3px; -} - -.input_area input, select, textarea { - font-size: 14px; - padding: 2px; -} - -.input_area input { - width: 80%; - margin: 0px; -} -.input_area select { - width: 80%; -} -.input_area textarea { - width: 90%; -} - -.disp_area { - width: 80%; - padding: 2px 0px; - font-size: 12px; -} -.disp_area_no_val { - height: 14px; -} - -.no_img { - padding: 40px; - width: 100px; - height: 20px; - color: #888; - text-align: center; - border: 1px solid #AAA; -} - -.input-mandatory { - font-size: 14px !important; - font-weight: bold; -} - -.field-to-update { - background-color:#FEE; -} - /* sidebar */ div.sidebar-comment-wrapper input { diff --git a/css/ui/views.css b/css/ui/views.css index a73caeca50..1951d47b7d 100644 --- a/css/ui/views.css +++ b/css/ui/views.css @@ -17,7 +17,7 @@ div.appframe-titlebar { background: -ms-linear-gradient(top, #eeeeee 0%,#cccccc 100%); /* IE10+ */ background: linear-gradient(top, #eeeeee 0%,#cccccc 100%); /* W3C */ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#eeeeee', endColorstr='#cccccc',GradientType=0 ); /* IE6-9 */ - border-bottom: 1px solid #ccc; + border-bottom: 1px solid #aaa; min-height: 1.2em; } diff --git a/js/wn/ui/appframe.js b/js/wn/ui/appframe.js index 3d5ee5639f..fe8948b50b 100644 --- a/js/wn/ui/appframe.js +++ b/js/wn/ui/appframe.js @@ -13,6 +13,9 @@ wn.ui.AppFrame = Class.extend({ }) }, + title: function(txt) { + this.$titlebar.find('.appframe-title').text(txt); + }, add_button: function(label, click, icon) { if(!this.$w.find('.appframe-toolbar').length) this.$w.append('
'); diff --git a/js/wn/ui/dialog.js b/js/wn/ui/dialog.js index f32fa11235..42d8a8f049 100644 --- a/js/wn/ui/dialog.js +++ b/js/wn/ui/dialog.js @@ -25,6 +25,13 @@ wn.widgets.FieldGroup = function() { this.first_button = false; this.make_fields = function(body, fl) { + if(!window.make_field) { + // called in website, load some libs + wn.require('lib/css/legacy/fields.css'); + wn.require('lib/js/legacy/widgets/form/fields.js'); + wn.require('lib/js/wn/ui/button.js'); + } + $y(this.body, {padding:'11px'}); this.fields_dict = {}; // reset for(var i=0; i -

Login

- - - - - - - - - - - - - - - - - - - - - - - -
Login Id
Password
Remember Me
  
  - -
-

Forgot Password

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + +
Login Id
Password
Remember Me
  
  + +
+

Forgot Password

+
\ No newline at end of file diff --git a/py/core/page/login_page/login_page.js b/py/core/page/login_page/login_page.js index 100aecfe90..a14ce45590 100644 --- a/py/core/page/login_page/login_page.js +++ b/py/core/page/login_page/login_page.js @@ -20,7 +20,10 @@ // OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. // -pscript['onload_Login Page'] = function(){ +pscript['onload_Login Page'] = function(wrapper){ + wrapper.appframe = new wn.ui.AppFrame($(wrapper).find('.appframe-area')); + wrapper.appframe.title('Login'); + var lw = $i('login_wrapper'); $bs(lw, '1px 1px 3px #888'); @@ -63,18 +66,26 @@ pscript.doLogin = function(){ } -pscript.show_forgot_password = function(){ +wn.show_forgot_password = function(){ // create dialog - var d = new Dialog(400, 400, 'Reset Password') - d.make_body([['HTML','Title','Enter your email id to reset the password'], ['Data','Email Id'], ['Button','Reset']]); + var d = new wn.ui.Dialog({ + title:"Forgot Password", + fields: [ + {'label':'Email Id', 'fieldname':'email_id', 'fieldtype':'Data', 'reqd':true}, + {'label':'Email Me A New Password', 'fieldname':'run', 'fieldtype':'Button'} + ] + }); - var callback = function(r,rt) { - if(!r.exc) pscript.forgot_dialog.hide(); - } - - d.widgets['Reset'].onclick = function() { - $c('reset_password', {user: pscript.forgot_dialog.widgets['Email Id'].value}, callback) - } - d.show(); - pscript.forgot_dialog = d; + $(d.fields_dict.run.input).click(function() { + var values = d.get_values(); + if(!values) return; + wn.call({ + method:'reset_password', + args: { user: values.email_id }, + callback: function() { + d.hide(); + } + }) + }) + d.show(); } diff --git a/py/webnotes/handler.py b/py/webnotes/handler.py index 99f0dafd78..707c43a637 100755 --- a/py/webnotes/handler.py +++ b/py/webnotes/handler.py @@ -198,19 +198,11 @@ def reset_password(): import profile user_profile = profile.Profile(user) pwd = user_profile.reset_password() - try: - from server_tools.gateway_utils import change_password - res = change_password(None, pwd, user=user) - except ImportError, e: - res = 'No Gateway' - if res and res.get('message')=='Password Updated' or res=='No Gateway': - user_profile.send_new_pwd(pwd) - webnotes.msgprint("Password has been reset and sent to your email id.") - else: - webnotes.msgprint('Unable to reset password. Please contact support@erpnext.com') - webnotes.msgprint(res) + user_profile.send_new_pwd(pwd) + + webnotes.msgprint("Password has been reset and sent to your email id.") else: - webnotes.msgprint("No such user (%s)", user) + webnotes.msgprint("No such user (%s)" % user) def handle():