mirror of
				https://github.com/janeczku/calibre-web
				synced 2025-10-30 23:03:02 +00:00 
			
		
		
		
	Always use bootstrap datepicker
This commit is contained in:
		| @@ -21,57 +21,26 @@ if ($(".tiny_editor").length) { | ||||
|     }); | ||||
| } | ||||
|  | ||||
| if (!Modernizr.inputtypes.date) { | ||||
|     $("#pubdate").datepicker({ | ||||
|         format: "yyyy-mm-dd", | ||||
|         language: language | ||||
|     }).on("change", function () { | ||||
|         // Show localized date over top of the standard YYYY-MM-DD date | ||||
|         var pubDate; | ||||
|         var results = /(\d{4})[-\/\\](\d{1,2})[-\/\\](\d{1,2})/.exec(this.value); // YYYY-MM-DD | ||||
|         if (results) { | ||||
|             pubDate = new Date(results[1], parseInt(results[2], 10) - 1, results[3]) || new Date(this.value); | ||||
|             $("#fake_pubdate") | ||||
|                 .val(pubDate.toLocaleDateString(language)) | ||||
|                 .removeClass("hidden"); | ||||
|         } | ||||
|     }).trigger("change"); | ||||
| } | ||||
| $(".datepicker").datepicker({ | ||||
|     format: "yyyy-mm-dd", | ||||
|     language: language | ||||
| }).on("change", function () { | ||||
|     // Show localized date over top of the standard YYYY-MM-DD date | ||||
|     var pubDate; | ||||
|     var results = /(\d{4})[-\/\\](\d{1,2})[-\/\\](\d{1,2})/.exec(this.value); // YYYY-MM-DD | ||||
|     if (results) { | ||||
|         pubDate = new Date(results[1], parseInt(results[2], 10) - 1, results[3]) || new Date(this.value); | ||||
|         $(this).next('input') | ||||
|             .val(pubDate.toLocaleDateString(language)) | ||||
|             .removeClass("hidden"); | ||||
|     } | ||||
| }).trigger("change"); | ||||
|  | ||||
|  | ||||
| if (!Modernizr.inputtypes.date) { | ||||
|     $("#Publishstart").datepicker({ | ||||
|         format: "yyyy-mm-dd", | ||||
|         language: language | ||||
|     }).on("change", function () { | ||||
|         // Show localized date over top of the standard YYYY-MM-DD date | ||||
|         var pubDate; | ||||
|         var results = /(\d{4})[-\/\\](\d{1,2})[-\/\\](\d{1,2})/.exec(this.value); // YYYY-MM-DD | ||||
|         if (results) { | ||||
|             pubDate = new Date(results[1], parseInt(results[2], 10) - 1, results[3]) || new Date(this.value); | ||||
|             $("#fake_Publishstart") | ||||
|                 .val(pubDate.toLocaleDateString(language)) | ||||
|                 .removeClass("hidden"); | ||||
|         } | ||||
|     }).trigger("change"); | ||||
| } | ||||
|  | ||||
| if (!Modernizr.inputtypes.date) { | ||||
|     $("#Publishend").datepicker({ | ||||
|         format: "yyyy-mm-dd", | ||||
|         language: language | ||||
|     }).on("change", function () { | ||||
|         // Show localized date over top of the standard YYYY-MM-DD date | ||||
|         var pubDate; | ||||
|         var results = /(\d{4})[-\/\\](\d{1,2})[-\/\\](\d{1,2})/.exec(this.value); // YYYY-MM-DD | ||||
|         if (results) { | ||||
|             pubDate = new Date(results[1], parseInt(results[2], 10) - 1, results[3]) || new Date(this.value); | ||||
|             $("#fake_Publishend") | ||||
|                 .val(pubDate.toLocaleDateString(language)) | ||||
|                 .removeClass("hidden"); | ||||
|         } | ||||
|     }).trigger("change"); | ||||
| } | ||||
| $(".datepicker_delete").click(function() { | ||||
|     var inputs = $(this).parent().siblings('input'); | ||||
|     $(inputs[0]).data('datepicker').clearDates(); | ||||
|     $(inputs[1]).addClass('hidden'); | ||||
| }); | ||||
|  | ||||
|  | ||||
| /* | ||||
|   | ||||
							
								
								
									
										5
									
								
								cps/static/js/libs/plugins.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										5
									
								
								cps/static/js/libs/plugins.js
									
									
									
									
										vendored
									
									
								
							| @@ -1,8 +1,3 @@ | ||||
| /* Function to select for custom build: form input types | ||||
| /*! modernizr 3.6.0 (Custom Build) | MIT * | ||||
|  * https://modernizr.com/download/?-inputtypes-setclasses !*/ | ||||
| !function(e,t,n){function a(e,t){return typeof e===t}function s(){var e,t,n,s,i,o,c;for(var u in r)if(r.hasOwnProperty(u)){if(e=[],t=r[u],t.name&&(e.push(t.name.toLowerCase()),t.options&&t.options.aliases&&t.options.aliases.length))for(n=0;n<t.options.aliases.length;n++)e.push(t.options.aliases[n].toLowerCase());for(s=a(t.fn,"function")?t.fn():t.fn,i=0;i<e.length;i++)o=e[i],c=o.split("."),1===c.length?Modernizr[c[0]]=s:(!Modernizr[c[0]]||Modernizr[c[0]]instanceof Boolean||(Modernizr[c[0]]=new Boolean(Modernizr[c[0]])),Modernizr[c[0]][c[1]]=s),l.push((s?"":"no-")+c.join("-"))}}function i(e){var t=u.className,n=Modernizr._config.classPrefix||"";if(f&&(t=t.baseVal),Modernizr._config.enableJSClass){var a=new RegExp("(^|\\s)"+n+"no-js(\\s|$)");t=t.replace(a,"$1"+n+"js$2")}Modernizr._config.enableClasses&&(t+=" "+n+e.join(" "+n),f?u.className.baseVal=t:u.className=t)}function o(){return"function"!=typeof t.createElement?t.createElement(arguments[0]):f?t.createElementNS.call(t,"http://www.w3.org/2000/svg",arguments[0]):t.createElement.apply(t,arguments)}var l=[],r=[],c={_version:"3.6.0",_config:{classPrefix:"",enableClasses:!0,enableJSClass:!0,usePrefixes:!0},_q:[],on:function(e,t){var n=this;setTimeout(function(){t(n[e])},0)},addTest:function(e,t,n){r.push({name:e,fn:t,options:n})},addAsyncTest:function(e){r.push({name:null,fn:e})}},Modernizr=function(){};Modernizr.prototype=c,Modernizr=new Modernizr;var u=t.documentElement,f="svg"===u.nodeName.toLowerCase(),p=o("input"),d="search tel url email datetime date month week time datetime-local number range color".split(" "),m={};Modernizr.inputtypes=function(e){for(var a,s,i,o=e.length,l="1)",r=0;o>r;r++)p.setAttribute("type",a=e[r]),i="text"!==p.type&&"style"in p,i&&(p.value=l,p.style.cssText="position:absolute;visibility:hidden;",/^range$/.test(a)&&p.style.WebkitAppearance!==n?(u.appendChild(p),s=t.defaultView,i=s.getComputedStyle&&"textfield"!==s.getComputedStyle(p,null).WebkitAppearance&&0!==p.offsetHeight,u.removeChild(p)):/^(search|tel)$/.test(a)||(i=/^(url|email)$/.test(a)?p.checkValidity&&p.checkValidity()===!1:p.value!=l)),m[e[r]]=!!i;return m}(d),s(),i(l),delete c.addTest,delete c.addAsyncTest;for(var h=0;h<Modernizr._q.length;h++)Modernizr._q[h]();e.Modernizr=Modernizr}(window,document); | ||||
|  | ||||
| /*! | ||||
|  * @fileOverview TouchSwipe - jQuery Plugin | ||||
|  * @version 1.6.18 | ||||
|   | ||||
| @@ -105,12 +105,13 @@ | ||||
|       </div> | ||||
|       {% endif %} | ||||
|     {% endif %} | ||||
|     <div class="form-group"> | ||||
|       <label for="pubdate">{{_('Published Date')}}</label> | ||||
|       <div style="position: relative"> | ||||
|         <input type="date" class="form-control" name="pubdate" id="pubdate" value="{% if book.pubdate %}{{book.pubdate|formatdateinput}}{% endif %}"> | ||||
|         <input type="text" class="form-control fake-input hidden" id="fake_pubdate" value="{% if book.pubdate %}{{book.pubdate|formatdate}}{% endif %}"> | ||||
|       </div> | ||||
|     <label for="pubdate">{{_('Published Date')}}</label> | ||||
|     <div class="form-group input-group"> | ||||
|        <input type="text" style="position: static;"  class="datepicker form-control" name="pubdate" id="pubdate" value="{% if book.pubdate %}{{book.pubdate|formatdateinput}}{% endif %}"> | ||||
|        <input type="text" style="position: absolute;" class="form-control fake-input hidden" id="fake_pubdate" value="{% if book.pubdate %}{{book.pubdate|formatdate}}{% endif %}"> | ||||
|       <span class="input-group-btn"> | ||||
|         <button type="button" id="pubdate_delete" class="datepicker_delete btn btn-default"><span class="glyphicon glyphicon-remove-circle"></span></button> | ||||
|       </span> | ||||
|     </div> | ||||
|     <div class="form-group"> | ||||
|       <label for="publisher">{{_('Publisher')}}</label> | ||||
| @@ -150,15 +151,18 @@ | ||||
|             {% endif %} | ||||
|  | ||||
|             {% if c.datatype == 'datetime' %} | ||||
|               <div style="position: relative"> | ||||
|                 <input type="date" class="form-control" name="{{ 'custom_column_' ~ c.id }}" id="{{ 'custom_column_' ~ c.id }}" | ||||
|               <div class="input-group"> | ||||
|                 <input type="text" style="position: static;"  class="datepicker form-control" name="{{ 'custom_column_' ~ c.id }}" id="{{ 'custom_column_' ~ c.id }}" | ||||
|                   {% if book['custom_column_' ~ c.id]|length > 0 %} | ||||
|                     value="{% if book['custom_column_' ~ c.id][0].value  %}{{ book['custom_column_' ~ c.id][0].value|formatdateinput}}{% endif %}" | ||||
|                   {% endif %}> | ||||
|                 <input type="text" class="fake_custom_column_{{ c.id }} form-control fake-input hidden " | ||||
|                 <input type="text" style="position: absolute;" class="fake_custom_column_{{ c.id }} form-control fake-input hidden" id="fake_pubdate" | ||||
|                   {% if book['custom_column_' ~ c.id]|length > 0 %} | ||||
|                     value="{% if book['custom_column_' ~ c.id][0].value %}{{book['custom_column_' ~ c.id][0].value|formatdate}}{% endif %}" | ||||
|                   {% endif %}> | ||||
|                 <span class="input-group-btn"> | ||||
|                   <button type="button" class="datepicker_delete btn btn-default"><span class="glyphicon glyphicon-remove-circle"></span></button> | ||||
|                 </span> | ||||
|               </div> | ||||
|             {% endif %} | ||||
|  | ||||
|   | ||||
| @@ -18,16 +18,22 @@ | ||||
|     <div class="row"> | ||||
|       <div class="form-group col-sm-6"> | ||||
|         <label for="Publishstart">{{_('Published Date From')}}</label> | ||||
|         <div style="position: relative"> | ||||
|           <input type="date" class="form-control" name="Publishstart" id="Publishstart" value=""> | ||||
|           <input type="text" class="form-control fake-input hidden" id="fake_Publishstart" value=""> | ||||
|         <div class="input-group"> | ||||
|           <input type="text" style="position: static;"  class="datepicker form-control" name="Publishstart" id="Publishstart" value=""> | ||||
|           <input type="text" style="position: absolute;" class="form-control fake-input hidden" id="fake_Publishstart" value=""> | ||||
|           <span class="input-group-btn"> | ||||
|             <button type="button" id="pubstart_delete" class="datepicker_delete btn btn-default"><span class="glyphicon glyphicon-remove-circle"></span></button> | ||||
|           </span> | ||||
|         </div> | ||||
|       </div> | ||||
|       <div class="form-group col-sm-6"> | ||||
|         <label for="Publishend">{{_('Published Date To')}}</label> | ||||
|         <div style="position: relative"> | ||||
|           <input type="date" class="form-control" name="Publishend" id="Publishend" value=""> | ||||
|           <input type="text" class="form-control fake-input hidden" id="fake_Publishend" value=""> | ||||
|         <div class="input-group "> | ||||
|           <input type="text" style="position: static;"  class="datepicker form-control" name="Publishend" id="Publishend" value=""> | ||||
|           <input type="text" style="position: absolute;" class="form-control fake-input hidden" id="fake_Publishend" value=""> | ||||
|           <span class="input-group-btn"> | ||||
|             <button type="button" id="pubend_delete" class="datepicker_delete btn btn-default"><span class="glyphicon glyphicon-remove-circle"></span></button> | ||||
|           </span> | ||||
|         </div> | ||||
|       </div> | ||||
|     </div> | ||||
| @@ -170,17 +176,23 @@ | ||||
|       {% if c.datatype == 'datetime' %} | ||||
|       <div class="row"> | ||||
|         <div class="form-group col-sm-6"> | ||||
|             <label for="{{ 'custom_column_' ~ c.id }}">{{_('From:')}}</label> | ||||
|           <div style="position: relative"> | ||||
|             <input type="date" class="form-control" name="{{ 'custom_column_' ~ c.id }}_start" id="{{ 'custom_column_' ~ c.id }}_start" value=""> | ||||
|             <input type="text" class="form-control fake-input hidden" id="fake_{{ 'custom_column_' ~ c.id }}_start" value=""> | ||||
|           <label for="{{ 'custom_column_' ~ c.id }}">{{_('From:')}}</label> | ||||
|           <div class="input-group"> | ||||
|             <input type="text" style="position: static;"  class="datepicker form-control" name="{{ 'custom_column_' ~ c.id }}_start" id="{{ 'custom_column_' ~ c.id }}_start" value=""> | ||||
|             <input type="text" style="position: absolute;" class="form-control fake-input hidden" id="fake_{{ 'custom_column_' ~ c.id }}_start" value=""> | ||||
|             <span class="input-group-btn"> | ||||
|               <button type="button" id="pubstart_delete" class="datepicker_delete btn btn-default"><span class="glyphicon glyphicon-remove-circle"></span></button> | ||||
|             </span> | ||||
|           </div> | ||||
|         </div> | ||||
|         <div class="form-group col-sm-6"> | ||||
|             <label for="{{ 'custom_column_' ~ c.id }}">{{_('To:')}}</label> | ||||
|           <div style="position: relative"> | ||||
|             <input type="date" class="form-control" name="{{ 'custom_column_' ~ c.id }}_end" id="{{ 'custom_column_' ~ c.id }}_end" value=""> | ||||
|             <input type="text" class="form-control fake-input hidden" id="fake_{{ 'custom_column_' ~ c.id }}_end" value=""> | ||||
|           <label for="{{ 'custom_column_' ~ c.id }}">{{_('To:')}}</label> | ||||
|           <div class="input-group "> | ||||
|             <input type="text" style="position: static;"  class="datepicker form-control" name="{{ 'custom_column_' ~ c.id }}_end" id="{{ 'custom_column_' ~ c.id }}_end" value=""> | ||||
|             <input type="text" style="position: absolute;" class="form-control fake-input hidden" id="fake_{{ 'custom_column_' ~ c.id }}_end" value=""> | ||||
|             <span class="input-group-btn"> | ||||
|               <button type="button" id="pubend_delete" class="datepicker_delete btn btn-default"><span class="glyphicon glyphicon-remove-circle"></span></button> | ||||
|             </span> | ||||
|           </div> | ||||
|         </div> | ||||
|       </div> | ||||
|   | ||||
							
								
								
									
										12
									
								
								cps/web.py
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								cps/web.py
									
									
									
									
									
								
							| @@ -1274,10 +1274,18 @@ def render_adv_search_results(term, offset=None, order=None, limit=None): | ||||
|             column_start = term.get('custom_column_' + str(c.id) + '_start') | ||||
|             column_end = term.get('custom_column_' + str(c.id) + '_end') | ||||
|             if column_start: | ||||
|                 searchterm.extend([u"{} >= {}".format(c.name, column_start)]) | ||||
|                 searchterm.extend([u"{} >= {}".format(c.name, | ||||
|                                                       format_date(datetime.strptime(column_start, "%Y-%m-%d"), | ||||
|                                                                       format='medium', | ||||
|                                                                       locale=get_locale()) | ||||
|                                                       )]) | ||||
|                 cc_present = True | ||||
|             if column_end: | ||||
|                 searchterm.extend([u"{} <= {}".format(c.name, column_end)]) | ||||
|                 searchterm.extend([u"{} <= {}".format(c.name, | ||||
|                                                       format_date(datetime.strptime(column_end, "%Y-%m-%d").date(), | ||||
|                                                                       format='medium', | ||||
|                                                                       locale=get_locale()) | ||||
|                                                       )]) | ||||
|                 cc_present = True | ||||
|         elif term.get('custom_column_' + str(c.id)): | ||||
|             searchterm.extend([(u"{}: {}".format(c.name, term.get('custom_column_' + str(c.id))))]) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Ozzie Isaacs
					Ozzie Isaacs