keithsalisbury-subtrac 0.1.4 → 0.1.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (113) hide show
  1. data/VERSION.yml +1 -1
  2. data/bin/subtrac +2 -0
  3. data/lib/subtrac.rb +85 -50
  4. data/lib/subtrac/config/config.yml +22 -19
  5. data/lib/subtrac/templates/location.erb +2 -2
  6. data/lib/subtrac/templates/projects/blank/trac/wiki/WikiStart +1 -1
  7. data/lib/subtrac/templates/trac.erb +1 -1
  8. data/lib/subtrac/templates/vhost.erb +6 -6
  9. metadata +1 -105
  10. data/lib/subtrac/trac-plugins/advancedticketworkflowplugin/advancedworkflow/__init__.py +0 -0
  11. data/lib/subtrac/trac-plugins/advancedticketworkflowplugin/advancedworkflow/controller.py +0 -419
  12. data/lib/subtrac/trac-plugins/advancedticketworkflowplugin/setup.cfg +0 -3
  13. data/lib/subtrac/trac-plugins/advancedticketworkflowplugin/setup.py +0 -20
  14. data/lib/subtrac/trac-plugins/clientsplugin/clients/__init__.py +0 -0
  15. data/lib/subtrac/trac-plugins/clientsplugin/clients/action.py +0 -28
  16. data/lib/subtrac/trac-plugins/clientsplugin/clients/action_email.py +0 -168
  17. data/lib/subtrac/trac-plugins/clientsplugin/clients/action_zendesk_forum.py +0 -137
  18. data/lib/subtrac/trac-plugins/clientsplugin/clients/admin.py +0 -91
  19. data/lib/subtrac/trac-plugins/clientsplugin/clients/api.py +0 -199
  20. data/lib/subtrac/trac-plugins/clientsplugin/clients/client.py +0 -105
  21. data/lib/subtrac/trac-plugins/clientsplugin/clients/events.py +0 -287
  22. data/lib/subtrac/trac-plugins/clientsplugin/clients/eventsadmin.py +0 -71
  23. data/lib/subtrac/trac-plugins/clientsplugin/clients/htdocs/clients.css +0 -4
  24. data/lib/subtrac/trac-plugins/clientsplugin/clients/model.py +0 -135
  25. data/lib/subtrac/trac-plugins/clientsplugin/clients/processor.py +0 -70
  26. data/lib/subtrac/trac-plugins/clientsplugin/clients/reportmanager.py +0 -142
  27. data/lib/subtrac/trac-plugins/clientsplugin/clients/reports.py +0 -231
  28. data/lib/subtrac/trac-plugins/clientsplugin/clients/summary.py +0 -27
  29. data/lib/subtrac/trac-plugins/clientsplugin/clients/summary_milestone.py +0 -152
  30. data/lib/subtrac/trac-plugins/clientsplugin/clients/summary_ticketchanges.py +0 -160
  31. data/lib/subtrac/trac-plugins/clientsplugin/clients/templates/admin_client_events.html +0 -124
  32. data/lib/subtrac/trac-plugins/clientsplugin/clients/templates/admin_clients.html +0 -134
  33. data/lib/subtrac/trac-plugins/clientsplugin/cron/changes.xslt +0 -132
  34. data/lib/subtrac/trac-plugins/clientsplugin/cron/run-client-event +0 -97
  35. data/lib/subtrac/trac-plugins/clientsplugin/cron/summary.xslt +0 -161
  36. data/lib/subtrac/trac-plugins/clientsplugin/setup.py +0 -43
  37. data/lib/subtrac/trac-plugins/estimationtoolsplugin/estimationtools/__init__.py +0 -4
  38. data/lib/subtrac/trac-plugins/estimationtoolsplugin/estimationtools/burndownchart.py +0 -273
  39. data/lib/subtrac/trac-plugins/estimationtoolsplugin/estimationtools/hoursinplaceeditor.py +0 -44
  40. data/lib/subtrac/trac-plugins/estimationtoolsplugin/estimationtools/hoursremaining.py +0 -36
  41. data/lib/subtrac/trac-plugins/estimationtoolsplugin/estimationtools/htdocs/jquery-1.2.3.min.js +0 -32
  42. data/lib/subtrac/trac-plugins/estimationtoolsplugin/estimationtools/htdocs/jquery.jeditable.js +0 -409
  43. data/lib/subtrac/trac-plugins/estimationtoolsplugin/estimationtools/htdocs/jquery.jeditable.mini.js +0 -30
  44. data/lib/subtrac/trac-plugins/estimationtoolsplugin/estimationtools/templates/edithours.html +0 -53
  45. data/lib/subtrac/trac-plugins/estimationtoolsplugin/estimationtools/tests/burndownchart.py +0 -181
  46. data/lib/subtrac/trac-plugins/estimationtoolsplugin/estimationtools/tests/hoursremaining.py +0 -66
  47. data/lib/subtrac/trac-plugins/estimationtoolsplugin/estimationtools/tests/workloadchart.py +0 -47
  48. data/lib/subtrac/trac-plugins/estimationtoolsplugin/estimationtools/utils.py +0 -93
  49. data/lib/subtrac/trac-plugins/estimationtoolsplugin/estimationtools/workloadchart.py +0 -86
  50. data/lib/subtrac/trac-plugins/estimationtoolsplugin/setup.py +0 -20
  51. data/lib/subtrac/trac-plugins/timingandestimationplugin/scripts/SumRollups.js +0 -23
  52. data/lib/subtrac/trac-plugins/timingandestimationplugin/scripts/adw_tracdb.py +0 -128
  53. data/lib/subtrac/trac-plugins/timingandestimationplugin/scripts/git-post-receive +0 -40
  54. data/lib/subtrac/trac-plugins/timingandestimationplugin/scripts/trac-post-commit.py +0 -285
  55. data/lib/subtrac/trac-plugins/timingandestimationplugin/scripts/trac_billing.py +0 -173
  56. data/lib/subtrac/trac-plugins/timingandestimationplugin/scripts/utils/__init__.py +0 -0
  57. data/lib/subtrac/trac-plugins/timingandestimationplugin/scripts/utils/mail.py +0 -164
  58. data/lib/subtrac/trac-plugins/timingandestimationplugin/setup.py +0 -69
  59. data/lib/subtrac/trac-plugins/timingandestimationplugin/timingandestimationplugin/__init__.py +0 -1
  60. data/lib/subtrac/trac-plugins/timingandestimationplugin/timingandestimationplugin/api.py +0 -292
  61. data/lib/subtrac/trac-plugins/timingandestimationplugin/timingandestimationplugin/blackmagic.py +0 -172
  62. data/lib/subtrac/trac-plugins/timingandestimationplugin/timingandestimationplugin/dbhelper.py +0 -178
  63. data/lib/subtrac/trac-plugins/timingandestimationplugin/timingandestimationplugin/htdocs/billingplugin.css +0 -25
  64. data/lib/subtrac/trac-plugins/timingandestimationplugin/timingandestimationplugin/htdocs/field_disabler.js +0 -6
  65. data/lib/subtrac/trac-plugins/timingandestimationplugin/timingandestimationplugin/htdocs/formatDate.js +0 -356
  66. data/lib/subtrac/trac-plugins/timingandestimationplugin/timingandestimationplugin/htdocs/js/tip_centerwindow.js +0 -100
  67. data/lib/subtrac/trac-plugins/timingandestimationplugin/timingandestimationplugin/htdocs/js/tip_followscroll.js +0 -84
  68. data/lib/subtrac/trac-plugins/timingandestimationplugin/timingandestimationplugin/htdocs/js/wz_tooltip.js +0 -1149
  69. data/lib/subtrac/trac-plugins/timingandestimationplugin/timingandestimationplugin/htdocs/linkifyer.js +0 -119
  70. data/lib/subtrac/trac-plugins/timingandestimationplugin/timingandestimationplugin/htdocs/query.js +0 -73
  71. data/lib/subtrac/trac-plugins/timingandestimationplugin/timingandestimationplugin/htdocs/ticket.js +0 -165
  72. data/lib/subtrac/trac-plugins/timingandestimationplugin/timingandestimationplugin/query_webui.py +0 -28
  73. data/lib/subtrac/trac-plugins/timingandestimationplugin/timingandestimationplugin/reportmanager.py +0 -221
  74. data/lib/subtrac/trac-plugins/timingandestimationplugin/timingandestimationplugin/reports.py +0 -675
  75. data/lib/subtrac/trac-plugins/timingandestimationplugin/timingandestimationplugin/reports_filter.py +0 -150
  76. data/lib/subtrac/trac-plugins/timingandestimationplugin/timingandestimationplugin/statuses.py +0 -25
  77. data/lib/subtrac/trac-plugins/timingandestimationplugin/timingandestimationplugin/tande_filters.py +0 -131
  78. data/lib/subtrac/trac-plugins/timingandestimationplugin/timingandestimationplugin/templates/billing.cs +0 -84
  79. data/lib/subtrac/trac-plugins/timingandestimationplugin/timingandestimationplugin/templates/billing.html +0 -104
  80. data/lib/subtrac/trac-plugins/timingandestimationplugin/timingandestimationplugin/ticket_daemon.py +0 -194
  81. data/lib/subtrac/trac-plugins/timingandestimationplugin/timingandestimationplugin/ticket_policy.py +0 -62
  82. data/lib/subtrac/trac-plugins/timingandestimationplugin/timingandestimationplugin/ticket_webui.py +0 -28
  83. data/lib/subtrac/trac-plugins/timingandestimationplugin/timingandestimationplugin/usermanual.py +0 -127
  84. data/lib/subtrac/trac-plugins/timingandestimationplugin/timingandestimationplugin/webui.py +0 -129
  85. data/lib/subtrac/trac-plugins/worklogplugin/setup.py +0 -29
  86. data/lib/subtrac/trac-plugins/worklogplugin/worklog/__init__.py +0 -1
  87. data/lib/subtrac/trac-plugins/worklogplugin/worklog/api.py +0 -187
  88. data/lib/subtrac/trac-plugins/worklogplugin/worklog/htdocs/jqModal.css +0 -40
  89. data/lib/subtrac/trac-plugins/worklogplugin/worklog/htdocs/jqModal.js +0 -67
  90. data/lib/subtrac/trac-plugins/worklogplugin/worklog/htdocs/jquery.mousewheel.pack.js +0 -12
  91. data/lib/subtrac/trac-plugins/worklogplugin/worklog/htdocs/jquery.timeentry.pack.js +0 -7
  92. data/lib/subtrac/trac-plugins/worklogplugin/worklog/htdocs/tracWorklog.js +0 -40
  93. data/lib/subtrac/trac-plugins/worklogplugin/worklog/htdocs/ui.datepicker.css +0 -208
  94. data/lib/subtrac/trac-plugins/worklogplugin/worklog/htdocs/ui.datepicker.js +0 -1439
  95. data/lib/subtrac/trac-plugins/worklogplugin/worklog/htdocs/work.png +0 -0
  96. data/lib/subtrac/trac-plugins/worklogplugin/worklog/htdocs/work.xcf +0 -0
  97. data/lib/subtrac/trac-plugins/worklogplugin/worklog/htdocs/worklogplugin.css +0 -80
  98. data/lib/subtrac/trac-plugins/worklogplugin/worklog/htdocs/workstart.png +0 -0
  99. data/lib/subtrac/trac-plugins/worklogplugin/worklog/htdocs/workstop.png +0 -0
  100. data/lib/subtrac/trac-plugins/worklogplugin/worklog/manager.py +0 -336
  101. data/lib/subtrac/trac-plugins/worklogplugin/worklog/reports.py +0 -598
  102. data/lib/subtrac/trac-plugins/worklogplugin/worklog/templates/worklog.html +0 -45
  103. data/lib/subtrac/trac-plugins/worklogplugin/worklog/templates/worklog_stop.html +0 -70
  104. data/lib/subtrac/trac-plugins/worklogplugin/worklog/templates/worklog_user.html +0 -40
  105. data/lib/subtrac/trac-plugins/worklogplugin/worklog/templates/worklog_webadminui.html +0 -59
  106. data/lib/subtrac/trac-plugins/worklogplugin/worklog/ticket_daemon.py +0 -33
  107. data/lib/subtrac/trac-plugins/worklogplugin/worklog/ticket_filter.py +0 -153
  108. data/lib/subtrac/trac-plugins/worklogplugin/worklog/timeline_hook.py +0 -96
  109. data/lib/subtrac/trac-plugins/worklogplugin/worklog/usermanual.py +0 -29
  110. data/lib/subtrac/trac-plugins/worklogplugin/worklog/util.py +0 -31
  111. data/lib/subtrac/trac-plugins/worklogplugin/worklog/webadminui.py +0 -47
  112. data/lib/subtrac/trac-plugins/worklogplugin/worklog/webui.py +0 -174
  113. data/lib/subtrac/trac-plugins/worklogplugin/worklog/xmlrpc.py +0 -73
@@ -1,29 +0,0 @@
1
- #!/usr/bin/env python
2
-
3
- from setuptools import setup
4
-
5
- PACKAGE = 'worklog'
6
-
7
- setup(name=PACKAGE,
8
- description='Plugin to manage the which tickets users are currently working on',
9
- keywords='trac plugin ticket working',
10
- version='0.1',
11
- url='',
12
- license='http://www.opensource.org/licenses/mit-license.php',
13
- author='Colin Guthrie',
14
- author_email='trac@colin.guthr.ie',
15
- long_description="""
16
- I'll write this later!
17
- """,
18
- packages=[PACKAGE],
19
- package_data={PACKAGE : ['templates/*.cs', 'templates/*.html', 'htdocs/*.css', 'htdocs/*.png', 'htdocs/*.js']},
20
- entry_points={'trac.plugins': '%s = %s' % (PACKAGE, PACKAGE)})
21
-
22
-
23
- #### AUTHORS ####
24
- ## Primary Author:
25
- ## Colin Guthrie
26
- ## http://colin.guthr.ie/
27
- ## trac@colin.guthr.ie
28
- ## trac-hacks user: coling
29
-
@@ -1 +0,0 @@
1
- from api import *
@@ -1,187 +0,0 @@
1
- import re
2
- import time
3
- from usermanual import *
4
- from trac.log import logger_factory
5
- from trac.ticket import ITicketChangeListener, Ticket
6
- from trac.core import *
7
- from trac.env import IEnvironmentSetupParticipant
8
- from trac.perm import IPermissionRequestor, PermissionSystem
9
- from webui import *
10
- from webadminui import *
11
- from ticket_filter import *
12
- from timeline_hook import *
13
- from ticket_daemon import *
14
- try:
15
- from xmlrpc import *
16
- except:
17
- pass
18
-
19
- class WorkLogSetupParticipant(Component):
20
- implements(IEnvironmentSetupParticipant)
21
-
22
- db_version_key = None
23
- db_version = None
24
- db_installed_version = None
25
-
26
- """Extension point interface for components that need to participate in the
27
- creation and upgrading of Trac environments, for example to create
28
- additional database tables."""
29
- def __init__(self):
30
- self.db_version_key = 'WorklogPlugin_Db_Version'
31
- self.db_version = 3
32
- self.db_installed_version = None
33
-
34
- # Initialise database schema version tracking.
35
- db = self.env.get_db_cnx()
36
- cursor = db.cursor()
37
- cursor.execute("SELECT value FROM system WHERE name=%s", (self.db_version_key,))
38
- try:
39
- self.db_installed_version = int(cursor.fetchone()[0])
40
- except:
41
- self.db_installed_version = 0
42
- cursor.execute("INSERT INTO system (name,value) VALUES(%s,%s)",
43
- (self.db_version_key, self.db_installed_version))
44
- db.commit()
45
- db.close()
46
-
47
-
48
- def environment_created(self):
49
- """Called when a new Trac environment is created."""
50
- if self.environment_needs_upgrade(None):
51
- self.upgrade_environment(None)
52
-
53
- def system_needs_upgrade(self):
54
- return self.db_installed_version < self.db_version
55
-
56
- def do_db_upgrade(self):
57
- # Legacy support hack (supports upgrades from revisions r2495 or before)
58
- if self.db_installed_version == 0:
59
- db = self.env.get_db_cnx()
60
- cursor = db.cursor()
61
- try:
62
- cursor.execute('SELECT * FROM work_log LIMIT 1')
63
- # We've succeeded so we actually have version 1
64
- self.db_installed_version = 1
65
- except:
66
- pass
67
- db.close()
68
- # End Legacy support hack
69
-
70
- db = self.env.get_db_cnx()
71
- cursor = db.cursor()
72
-
73
- # Do the staged updates
74
- try:
75
- # This var is to deal with a problem case with pgsql and the "user"
76
- # keyword. We need to skip over new installations but not upgrades
77
- # for other db backends.
78
- skip = False
79
-
80
- if self.db_installed_version < 1:
81
- print 'Creating work_log table'
82
- cursor.execute('CREATE TABLE work_log ('
83
- 'worker TEXT,'
84
- 'ticket INTEGER,'
85
- 'lastchange INTEGER,'
86
- 'starttime INTEGER,'
87
- 'endtime INTEGER'
88
- ')')
89
- skip = True
90
-
91
- if self.db_installed_version < 2:
92
- print 'Updating work_log table (v2)'
93
- cursor.execute('ALTER TABLE work_log '
94
- 'ADD COLUMN comment TEXT')
95
-
96
- if self.db_installed_version < 3:
97
- print 'Updating work_log table (v3)'
98
- if not skip:
99
- # This whole section is just to rename the "user" column to "worker"
100
- # This column used to be created in step 1 above, but we
101
- # can no longer do this in order to support pgsql.
102
- # This step is skipped if step 1 was also run (e.g. new installs)
103
- # The below seems to be the only way to rename (or drop) a column on sqlite *sigh*
104
- cursor.execute('CREATE TABLE work_log_tmp ('
105
- 'worker TEXT,'
106
- 'ticket INTEGER,'
107
- 'lastchange INTEGER,'
108
- 'starttime INTEGER,'
109
- 'endtime INTEGER,'
110
- 'comment TEXT'
111
- ')')
112
- cursor.execute('INSERT INTO work_log_tmp (worker, ticket, lastchange, starttime, endtime, comment) '
113
- 'SELECT user, ticket, lastchange, starttime, endtime, comment FROM work_log')
114
- cursor.execute('DROP TABLE work_log')
115
- cursor.execute('ALTER TABLE work_log_tmp RENAME TO work_log')
116
-
117
- #if self.db_installed_version < 4:
118
- # print 'Updating work_log table (v4)'
119
- # cursor.execute('...')
120
-
121
- # Updates complete, set the version
122
- cursor.execute("UPDATE system SET value=%s WHERE name=%s",
123
- (self.db_version, self.db_version_key))
124
- db.commit()
125
- db.close()
126
- except Exception, e:
127
- self.log.error("WorklogPlugin Exception: %s" % (e,));
128
- db.rollback()
129
-
130
-
131
-
132
- def needs_user_man(self):
133
- db = self.env.get_db_cnx()
134
- cursor = db.cursor()
135
- try:
136
- cursor.execute('SELECT MAX(version) FROM wiki WHERE name=%s', (user_manual_wiki_title,))
137
- maxversion = int(cursor.fetchone()[0])
138
- except:
139
- maxversion = 0
140
- db.close()
141
-
142
- return maxversion < user_manual_version
143
-
144
- def do_user_man_update(self):
145
- when = int(time.time())
146
- db = self.env.get_db_cnx()
147
- cursor = db.cursor()
148
- cursor.execute('INSERT INTO wiki (name,version,time,author,ipnr,text,comment,readonly) '
149
- 'VALUES (%s, %s, %s, %s, %s, %s, %s, %s)',
150
- (user_manual_wiki_title, user_manual_version, when,
151
- 'WorkLog Plugin', '127.0.0.1', user_manual_content,
152
- '', 0))
153
- db.commit()
154
- db.close()
155
-
156
- def environment_needs_upgrade(self, db):
157
- """Called when Trac checks whether the environment needs to be upgraded.
158
-
159
- Should return `True` if this participant needs an upgrade to be
160
- performed, `False` otherwise.
161
-
162
- """
163
- return (self.system_needs_upgrade() \
164
- or self.needs_user_man())
165
-
166
- def upgrade_environment(self, db):
167
- """Actually perform an environment upgrade.
168
-
169
- Implementations of this method should not commit any database
170
- transactions. This is done implicitly after all participants have
171
- performed the upgrades they need without an error being raised.
172
- """
173
- def p(s):
174
- print s
175
- return True
176
- print "Worklog needs an upgrade"
177
- if self.system_needs_upgrade():
178
- p("Upgrading Database")
179
- self.do_db_upgrade()
180
- if self.needs_user_man():
181
- p("Upgrading usermanual")
182
- self.do_user_man_update()
183
- print "Done upgrading Worklog"
184
-
185
-
186
-
187
-
@@ -1,40 +0,0 @@
1
- /* jqModal base Styling courtesy of;
2
- Brice Burgess <bhb@iceburg.net> */
3
-
4
- /* The Window's CSS z-index value is respected (takes priority). If none is supplied,
5
- the Window's z-index value will be set to 3000 by default (in jqModal.js). You
6
- can change this value by either;
7
- a) supplying one via CSS
8
- b) passing the "zIndex" parameter. E.g. (window).jqm({zIndex: 500}); */
9
-
10
- .jqmWindow {
11
- display: none;
12
-
13
- position: fixed;
14
- top: 17%;
15
- left: 50%;
16
-
17
- margin-left: -300px;
18
- width: 600px;
19
-
20
- background-color: #EEE;
21
- color: #333;
22
- border: 1px solid black;
23
- padding: 12px;
24
- }
25
-
26
- .jqmOverlay { background-color: #000; }
27
-
28
- /* Background iframe styling for IE6. Prevents ActiveX bleed-through (<select> form elements, etc.) */
29
- * iframe.jqm {position:absolute;top:0;left:0;z-index:-1;
30
- width: expression(this.parentNode.offsetWidth+'px');
31
- height: expression(this.parentNode.offsetHeight+'px');
32
- }
33
-
34
- /* Fixed posistioning emulation for IE6
35
- Star selector used to hide definition from browsers other than IE6
36
- For valid CSS, use a conditional include instead */
37
- * html .jqmWindow {
38
- position: absolute;
39
- top: expression((document.documentElement.scrollTop || document.body.scrollTop) + Math.round(17 * (document.documentElement.offsetHeight || document.body.clientHeight) / 100) + 'px');
40
- }
@@ -1,67 +0,0 @@
1
- /*
2
- * jqModal - Minimalist Modaling with jQuery
3
- *
4
- * Copyright (c) 2007 Brice Burgess <bhb@iceburg.net>, http://www.iceburg.net
5
- * Licensed under the MIT License:
6
- * http://www.opensource.org/licenses/mit-license.php
7
- *
8
- * $Version: 2007.08.17 +r11
9
- *
10
- */
11
- (function($) {
12
- $.fn.jqm=function(o){
13
- var _o = {
14
- zIndex: 3000,
15
- overlay: 50,
16
- overlayClass: 'jqmOverlay',
17
- closeClass: 'jqmClose',
18
- trigger: '.jqModal',
19
- ajax: false,
20
- target: false,
21
- modal: false,
22
- toTop: false,
23
- onShow: false,
24
- onHide: false,
25
- onLoad: false
26
- };
27
- return this.each(function(){if(this._jqm)return; s++; this._jqm=s;
28
- H[s]={c:$.extend(_o, o),a:false,w:$(this).addClass('jqmID'+s),s:s};
29
- if(_o.trigger)$(this).jqmAddTrigger(_o.trigger);
30
- });};
31
-
32
- $.fn.jqmAddClose=function(e){hs(this,e,'jqmHide'); return this;};
33
- $.fn.jqmAddTrigger=function(e){hs(this,e,'jqmShow'); return this;};
34
- $.fn.jqmShow=function(t){return this.each(function(){if(!H[this._jqm].a)$.jqm.open(this._jqm,t)});};
35
- $.fn.jqmHide=function(t){return this.each(function(){if(H[this._jqm].a)$.jqm.close(this._jqm,t)});};
36
-
37
- $.jqm = {
38
- hash:{},
39
- open:function(s,t){var h=H[s],c=h.c,cc='.'+c.closeClass,z=(/^\d+$/.test(h.w.css('z-index')))?h.w.css('z-index'):c.zIndex,o=$('<div></div>').css({height:'100%',width:'100%',position:'fixed',left:0,top:0,'z-index':z-1,opacity:c.overlay/100});h.t=t;h.a=true;h.w.css('z-index',z);
40
- if(c.modal) {if(!A[0])F('bind');A.push(s);o.css('cursor','wait');}
41
- else if(c.overlay > 0)h.w.jqmAddClose(o);
42
- else o=false;
43
-
44
- h.o=(o)?o.addClass(c.overlayClass).prependTo('body'):false;
45
- if(ie6){$('html,body').css({height:'100%',width:'100%'});if(o){o=o.css({position:'absolute'})[0];for(var y in {Top:1,Left:1})o.style.setExpression(y.toLowerCase(),"(_=(document.documentElement.scroll"+y+" || document.body.scroll"+y+"))+'px'");}}
46
-
47
- if(c.ajax) {var r=c.target||h.w,u=c.ajax,r=(typeof r == 'string')?$(r,h.w):$(r),u=(u.substr(0,1) == '@')?$(t).attr(u.substring(1)):u;
48
- r.load(u,function(){if(c.onLoad)c.onLoad.call(this,h);if(cc)h.w.jqmAddClose($(cc,h.w));e(h);});}
49
- else if(cc)h.w.jqmAddClose($(cc,h.w));
50
-
51
- if(c.toTop&&h.o)h.w.before('<span id="jqmP'+h.w[0]._jqm+'"></span>').insertAfter(h.o);
52
- (c.onShow)?c.onShow(h):h.w.show();e(h);return false;
53
- },
54
- close:function(s){var h=H[s];h.a=false;
55
- if(A[0]){A.pop();if(!A[0])F('unbind');}
56
- if(h.c.toTop&&h.o)$('#jqmP'+h.w[0]._jqm).after(h.w).remove();
57
- if(h.c.onHide)h.c.onHide(h);else{h.w.hide();if(h.o)h.o.remove();} return false;
58
- }};
59
- var s=0,H=$.jqm.hash,A=[],ie6=$.browser.msie&&($.browser.version == "6.0"),
60
- i=$('<iframe src="javascript:false;document.write(\'\');" class="jqm"></iframe>').css({opacity:0}),
61
- e=function(h){if(ie6)if(h.o)h.o.html('<p style="width:100%;height:100%"/>').prepend(i);else if(!$('iframe.jqm',h.w)[0])h.w.prepend(i); f(h);},
62
- f=function(h){try{$(':input:visible',h.w)[0].focus();}catch(e){}},
63
- F=function(t){$()[t]("keypress",m)[t]("keydown",m)[t]("mousedown",m);},
64
- m=function(e){var h=H[A[A.length-1]],r=(!$(e.target).parents('.jqmID'+h.s)[0]);if(r)f(h);return !r;},
65
- hs=function(w,e,y){var s=[];w.each(function(){s.push(this._jqm)});
66
- $(e).each(function(){if(this[y])$.extend(this[y],s);else{this[y]=s;$(this).click(function(){for(var i in {jqmShow:1,jqmHide:1})for(var s in this[i])if(H[this[i][s]])H[this[i][s]].w[i](this);return false;});}});};
67
- })(jQuery);
@@ -1,12 +0,0 @@
1
- /* Copyright (c) 2006 Brandon Aaron (brandon.aaron@gmail.com || http://brandonaaron.net)
2
- * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
3
- * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
4
- * Thanks to: http://adomas.org/javascript-mouse-wheel/ for some pointers.
5
- * Thanks to: Mathias Bank(http://www.mathias-bank.de) for a scope bug fix.
6
- *
7
- * $LastChangedDate: 2007-06-20 16:24:37 -0500 (Wed, 20 Jun 2007) $
8
- * $Rev: 2124 $
9
- *
10
- * Version: 2.2
11
- */
12
- eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('(5($){$.V.x({t:5(f){2(!f.d)f.d=$.7.d++;2(!$.7.l)$.7.l=[];j 1.A(5(){2(1.4)j 1.4.n(f);8 1.4=[];1.4.n(f);c s=1;1.6=5(e){e=$.7.R(e||o.7);$.x(e,1.p||{});c a=0,m=P;2(e.u)a=e.u/M;2(e.H)a=-e.H/3;2(o.I)a=-e.u;r(c i=0;i<s.4.q;i++)2(s.4[i])2(s.4[i].U(s,e,a)===9){m=9;e.T();e.S()}j m};2($.k.h&&!1.b){1.b=5(e){1.p={F:e.F,E:e.E,D:e.D,C:e.C}};$(1).Q(\'B\',1.b)}2(1.g)2($.k.h)1.g(\'z\',1.6,9);8 1.g(\'t\',1.6,9);8 1.y=1.6;$.7.l.n($(1))})},v:5(f){j 1.A(5(){2(f&&1.4){r(c i=0;i<1.4.q;i++)2(1.4[i]&&1.4[i].d==f.d)O 1.4[i]}8{2($.k.h&&!1.b)$(1).N(\'B\',1.b);2(1.g)2($.k.h)1.w(\'z\',1.6,9);8 1.w(\'t\',1.6,9);8 1.y=G;1.4=1.6=1.b=1.p=G}})}});$(o).L(\'K\',5(){c a=$.7.l||[];r(c i=0;i<a.q;i++)a[i].v()})})(J);',58,58,'|this|if||_mwHandlers|function|_mwHandler|event|else|false||_mwFixCursorPos|var|guid|||addEventListener|mozilla||return|browser|_mwCache|returnValue|push|window|_mwCursorPos|length|for||mousewheel|wheelDelta|unmousewheel|removeEventListener|extend|onmousewheel|DOMMouseScroll|each|mousemove|clientY|clientX|pageY|pageX|null|detail|opera|jQuery|unload|one|120|unbind|delete|true|bind|fix|stopPropagation|preventDefault|call|fn'.split('|'),0,{}))
@@ -1,7 +0,0 @@
1
- /* http://keith-wood.name/timeEntry.html
2
- Time entry for jQuery v1.3.0.
3
- Written by Keith Wood (kbwood@virginbroadband.com.au) June 2007.
4
- Dual licensed under the GPL (http://dev.jquery.com/browser/trunk/jquery/GPL-LICENSE.txt) and
5
- MIT (http://dev.jquery.com/browser/trunk/jquery/MIT-LICENSE.txt) licenses.
6
- Please attribute the author if you use it. */
7
- eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('(o($){o 15(){7.2O=0;7.1r=[];7.H=[];7.28=[];7.28[\'\']={1b:x,W:\':\',16:\'\',X:[\'3l\',\'4F\'],2W:[\'4e\',\'41 2N\',\'3R 2N\',\'3N\',\'3I\']};7.19={2v:\'\',1o:x,1M:[1,1,1],2g:0,2f:S,3g:t,2Y:t,2T:\'p.47\',1u:[20,20,8],2K:x,1Y:[3Q,3M],2A:t};$.1i(7.19,7.28[\'\'])}$.1i(15.1R,{1j:\'3D\',2u:o(a){m b=7.2O++;7.1r[b]=a;r b},D:o(a){r 7.1r[a]||a},3p:o(a){1e(7.19,a||{})},1s:o(a){m b=(a.1m&&a.1m.1d()==\'F\'?a:7);n($.p.L==b){r}n($.p.1D(b)){r}m c=$.p.D(b.w);c.A=$(b);$.p.L=b;$.p.13=t;m d=c.q(\'2A\');1e(c.17,(d?d(b):{}));c.1w()},27:o(a){$.p.13=$.p.L;$.p.L=t},25:o(a){m b=a.23;m c=$.p.D(b.w);m d=c.q(\'W\').y+2;c.s=0;n($.u.1t){m e=a.3S;c.s=(e>z.R(1,c.J)*d+2?c.v:z.3O(e/d))}G n($.u.1h){m f=b.1z;Z(m g=0;g<=z.R(1,c.J,c.v);g++){m h=(g!=c.v?(g*d)+2:(c.v*d)+c.q(\'16\').y+c.q(\'X\')[0].y);b.1z=f.Y(0,h);m i=b.1Q();n(a.3C<i.3A){c.s=g;B}}b.1z=f}G n($.u.T||$.u.3w){m f=b.1z;Z(m g=0;g<=z.R(1,c.J,c.v);g++){m j=(g!=c.v?(g*d):(c.v*d)+c.q(\'16\').y);n(j>=b.3v){c.s=g;B}}}c.M()},1K:o(a){n(a.1L>=48){r S}m b=$.p.D(7.w);2o(a.1L){C 9:r(a.3o?b.1p(S):b.1a(S));C 35:n(a.2i){b.1y(\'\')}G{b.s=z.R(1,b.J,b.v);b.I(0)}B;C 36:n(a.2i){b.N()}G{b.s=0;b.I(0)}B;C 37:b.1p(x);B;C 38:b.I(+1);B;C 39:b.1a(x);B;C 40:b.I(-1);B;C 46:b.1y(\'\');B}r x},21:o(a){m b=3j.4C(a.3e==3c?a.1L:a.3e);n(b<\' \'){r S}m c=$.p.D(7.w);c.3b(b);r x},34:o(a,b){b=($.u.T?-b/z.2b(b):b);m c=$.p.D(7.w);c.I(b);a.4r()},30:o(b,c){m d=$(b);n(d.2U(\'.\'+7.1j)){r}m e=c.q(\'2T\');m f=c.q(\'4o\');m g=c.q(\'1u\');m h=c.q(\'2v\');m i=(!e?t:$(\'<V 2a="4j" 4h="\'+c.1C+\'" 4f="4d: 4a-49; 2R: 45(\\\'\'+e+\'\\\') 0 0 44-43; \'+\'42: \'+g[0]+\'1c; 3Z: \'+g[1]+\'1c;\'+($.u.1t?\' 2P-3Y: \'+g[0]+\'1c; 2P-3X: \'+(g[1]-18)+\'1c;\':\'\')+\'"></V>\'));d.3W(\'<V 2a="3V"></V>\').2L(h?\'<V 2a="3U">\'+h+\'</V>\':\'\').2L(i||\'\');d.3T(7.1j).1Z(7.1s).2J(7.27).2I(7.25).2H(7.1K).2M(7.21);n($.u.1t){d.2G(\'F\',o(a){c.1w()})}n($.u.1h){d.2G(\'2F\',o(a){1X(o(){c.1w()},1)})}n(c.q(\'2f\')&&$.29.1W){d.1W(7.34)}d[0].w=c.1C;n(i){i.3P(7.2E).2D(7.1V).2C(7.1V).3L(7.2B);i[0].w=c.1C}},3K:o(a){7.1U(a,x)},3J:o(a){7.1U(a,S)},1U:o(b,c){m d=$.p.D(b.w);n(!d){r}b.2z=c;n(b.1T&&b.1T.1m.1d()==\'V\'){$.p.1B(d,b.1T,(c?5:-1))}$.p.H=$.2x($.p.H,o(a){r(a==b?t:a)});n(c){$.p.H[$.p.H.y]=b}},1D:o(a){Z(m i=0;i<7.H.y;i++){n(7.H[i]==a){r S}}r x},3H:o(a,b){m c=7.D(a.w);n(c){m d=c.1A();1e(c.17,b||{});n(d){c.N(K 14(0,0,0,d[0],d[1],d[2]))}}},3G:o(b){$F=$(b);n(!$F.2U(\'.\'+7.1j)){r}b.1q.1q.3F(b,b.1q);$F.3E(7.1j).P(\'1Z\',7.1s).P(\'2J\',7.27).P(\'2I\',7.25).P(\'2H\',7.1K).P(\'2M\',7.21);n($.u.1t){$F.P(\'F\')}n($.u.1h){$F.P(\'2F\')}n($.29.1W){$F.3B()}7.1r[b.w]=t;b.w=3c;7.H=$.2x(7.H,o(a){r(a==b?t:a)})},3z:o(a,b){m c=7.D(a.w);n(c){c.A=$(a);c.N(b)}},3y:o(a){m b=7.D(a.w);m c=(b?b.1A():t);r(!c?t:K 14(0,0,0,c[0],c[1],c[2]))},2B:o(a){m b=$.p.1g(a);m c=$.p.D(b.w);b.3x=c.q(\'2W\')[$.p.1F(c,a)]},2E:o(a){m b=$.p.1g(a);m c=b.2t;n($.p.1D(c)){r}n(c==$.p.13){$.p.L=c;$.p.13=t}m d=$.p.D(c.w);$.p.1s(c);m e=$.p.1F(d,a);$.p.1B(d,b,e);$.p.1P(d,e);m f=d.q(\'1Y\');n(e>=3&&f[0]){$.p.1O=1X(o(){$.p.1J(d,e)},f[0]);$(b).2s(\'2C\',$.p.1N).2s(\'2D\',$.p.1N)}},1P:o(a,b){2o(b){C 0:a.N();B;C 1:a.1p(x);B;C 2:a.1a(x);B;C 3:a.I(+1);B;C 4:a.I(-1);B}},1J:o(a,b){$.p.L=$.p.13;7.1P(a,b);7.1O=1X(o(){$.p.1J(a,b)},a.q(\'1Y\')[1])},1N:o(a){3u($.p.1O)},1V:o(a){m b=$.p.1g(a);m c=$.p.D(b.w);n(!$.p.1D(b.2t)){$.p.1B(c,b,-1)}n(!$.u.T){$.p.L=$.p.13}n($.p.L){c.M()}},1g:o(a){r(a.23?a.23:a.3t)},1F:o(a,b){m c=7.1g(b);m d=7.2r(c);m e=7.2q(c);m f=a.q(\'2K\');m g=(f?2p:b.3s+e[0]-d[0]-($.u.1h?1:0));m h=b.3r+e[1]-d[1]-($.u.1h?1:0);m i=a.q(\'1u\');m j=(f?2p:i[0]-g);m k=i[1]-h;n(i[2]>0&&z.2b(g-j)<=i[2]&&z.2b(h-k)<=i[2]){r 0}m l=z.2n(g,h,j,k);r(l==g?1:(l==j?2:(l==h?3:4)))},1B:o(a,b,c){$(b).2w(\'2R-2m\',\'-\'+((c+1)*a.q(\'1u\')[0])+\'1c 3q\')},2r:o(a){m b=1n=0;n(a.2l){b=a.2k;1n=a.3h;2j(a=a.2l){m c=b;b+=a.2k;n(b<0){b=c}1n+=a.3h}}r[b,1n]},2q:o(a){m b=x;$(a).3n().2y(o(){b|=$(7).2w(\'2m\')==\'3m\'});n(b&&!$.u.T){r[0,0]}m c=($.u.T?1S.2h.1I:a.1I);m d=($.u.T?1S.2h.2c:a.2c);n(!$.u.T){2j(a=a.1q){c+=a.1I||0;d+=a.2c||0}}r[c,d]}});o 1H(a){7.1C=$.p.2u(7);7.E=0;7.Q=0;7.U=0;7.A=t;7.17=1e({},a||{})}$.1i(1H.1R,{q:o(a){r(7.17[a]!=t?7.17[a]:$.p.19[a])},1w:o(){m a=7.1A();m b=7.q(\'1o\');n(a){7.E=a[0];7.Q=a[1];7.U=a[2]}G{m c=7.1l();7.E=c[0];7.Q=c[1];7.U=(b?c[2]:0)}7.J=(b?2:-1);7.v=(7.q(\'1b\')?-1:(b?3:2));7.1f=\'\';7.s=z.R(0,z.2n(z.R(1,7.J,7.v),7.q(\'2g\')));n(7.A.O()!=\'\'){7.1G()}},1A:o(){m a=(7.A?7.A.O():\'\');m b=7.q(\'W\');m c=a.3k(b);n(b==\'\'&&a!=\'\'){c[0]=a.Y(0,2);c[1]=a.Y(2,4);c[2]=a.Y(4,6)}m d=7.q(\'X\');n(c.y>=2){m e=(a.2S(d[0])>-1);m f=(a.2S(d[1])>-1);m g=22(c[0],10);g=(1E(g)?0:g);g=((e||f)&&g==12?0:g)+(f?12:0);m h=22(c[1],10);h=(1E(h)?0:h);m i=(c.y>=3?22(c[2],10):0);i=(1E(i)||!7.q(\'1o\')?0:i);r[g,h,i]}r t},1l:o(a){m b=(a!=t);n(!b){m c=K 14();a=[c.2e(),c.2d(),c.2Q()]}m d=x;m e=7.q(\'1M\');Z(m i=0;i<e.y;i++){n(d){a[i]=0}G n(e[i]>1){a[i]=z.3i(a[i]/e[i])*e[i];d=!b}}r a},1G:o(){m a=7.q(\'1b\');m b=7.q(\'W\');m c=(7.1v(a?7.E:((7.E+11)%12)+1)+b+7.1v(7.Q)+(7.q(\'1o\')?b+7.1v(7.U):\'\')+(a?\'\':7.q(\'16\')+7.q(\'X\')[(7.E<12?0:1)]));7.1y(c);7.M()},M:o(){n(!7.A){r}m a=7.A[0];m b=7.q(\'W\');m c=b.y+2;m d=(7.s!=7.v?(7.s*c):(7.v*c)-b.y+7.q(\'16\').y);m e=d+(7.s!=7.v?2:7.q(\'X\')[0].y);n(a.3f){a.3f(d,e)}G n(a.1Q){m f=a.1Q();f.4z(\'3d\',d);f.4y(\'3d\',e-7.A.O().y);f.4x()}n(!a.2z){a.1Z()}},1v:o(a){r(a<10?\'0\':\'\')+a},1y:o(a){7.A.O(a);7.A.4w(\'4v\')},1p:o(a){m b=(7.A.O()==\'\'||7.s==0);n(!b){7.s--}7.M();7.1f=\'\';r(b&&a)},1a:o(a){m b=(7.A.O()==\'\'||7.s==z.R(1,7.J,7.v));n(!b){7.s++}7.M();7.1f=\'\';r(b&&a)},I:o(a){n(7.A.O()==\'\'){a=0}m b=7.q(\'1M\');7.N(K 14(0,0,0,7.E+(7.s==0?a*b[0]:0)+(7.s==7.v?a*12:0),7.Q+(7.s==1?a*b[1]:0),7.U+(7.s==7.J?a*b[2]:0)))},N:o(a){n(!a){m b=7.1l();a=K 14(0,0,0,b[0],b[1],b[2])}m a=7.1k(a);m c=7.1k(7.q(\'3g\'));m d=7.1k(7.q(\'2Y\'));a=(c&&a<c?c:(d&&a>d?d:a));7.E=a.2e();7.Q=a.2d();7.U=a.2Q();7.1G()},1k:o(a){n(!a){r t}a.4u(4t);a.4s(1-1);a.4q(26);r a},3b:o(a){n(a==7.q(\'W\')){7.1a(x)}G n(a>=\'0\'&&a<=\'9\'){m b=(7.1f+a)*1;m c=(7.s==0&&((7.q(\'1b\')&&b<24)||(b>=1&&b<=12))?b:7.E);m d=(7.s==1&&b<2Z?b:7.Q);m e=(7.s==7.J&&b<2Z?b:7.U);m f=7.1l([c,d,e]);7.N(K 14(0,0,0,f[0],f[1],f[2]));7.1f=a}G n(!7.q(\'1b\')){m g=7.q(\'X\');n((a==g[0].Y(0,1).1d()&&7.E>=12)||(a==g[1].Y(0,1).1d()&&7.E<12)){m h=7.s;7.s=7.v;7.I(+1);7.s=h;7.M()}}}});o 1e(a,b){$.1i(a,b);Z(m c 2X b){n(b[c]==t){a[c]=t}}r a}$.29.p=o(e){m f=4p.1R.4n.4m(4l,1);n(2V e==\'32\'&&(e==\'4k\'||e==\'4i\')){r $.p[\'31\'+e+\'15\'].3a($.p,[7[0]].33(f))}r 7.2y(o(){m a=7.1m.1d();n(a==\'F\'){n(2V e==\'32\'){$.p[\'31\'+e+\'15\'].3a($.p,[7].33(f))}G{m b=t;Z(1x 2X $.p.19){m c=7.4g(\'4A:\'+1x);n(c){b=b||{};4B{b[1x]=4c(c)}4b(4D){b[1x]=c}}}m d=(d&&!b?d:K 1H(!b?e:$.1i(b,e)));$.p.30(7,d)}}})};$(1S).4E(o(){$.p=K 15()})})(4G);',62,291,'|||||||this|||||||||||||||var|if|function|timeEntry|_get|return|_field|null|browser|_ampmField|_timeId|false|length|Math|_input|break|case|_getInst|_selectedHour|input|else|_disabledInputs|_adjustField|_secondField|new|_lastInput|_showField|_setTime|val|unbind|_selectedMinute|max|true|opera|_selectedSecond|span|separator|ampmNames|substring|for||||_blurredInput|Date|TimeEntry|ampmPrefix|_settings||_defaults|_nextField|show24Hours|px|toLowerCase|extendRemove|_lastChr|_getSpinnerTarget|msie|extend|markerClassName|_normaliseTime|_constrainTime|nodeName|curTop|showSeconds|_previousField|parentNode|_inst|_doFocus|mozilla|spinnerSize|_formatNumber|_parseTime|attrName|_setValue|value|_extractTime|_changeSpinner|_id|_isDisabledTimeEntry|isNaN|_getSpinnerRegion|_showTime|TimeEntryInstance|scrollLeft|_repeatSpinner|_doKeyDown|keyCode|timeSteps|_releaseSpinner|_timer|_actionSpinner|createTextRange|prototype|document|nextSibling|_enableDisable|_endSpinner|mousewheel|setTimeout|spinnerRepeat|focus||_doKeyPress|parseInt|target||_doDblClick||_doBlur|regional|fn|class|abs|scrollTop|getMinutes|getHours|useMouseWheel|initialField|body|ctrlKey|while|offsetLeft|offsetParent|position|min|switch|99|_findScroll|_findPos|one|previousSibling|_register|appendText|css|map|each|disabled|beforeShow|_describeSpinner|mouseout|mouseup|_handleSpinner|paste|bind|keydown|dblclick|blur|spinnerIncDecOnly|after|keypress|field|_nextId|padding|getSeconds|background|indexOf|spinnerImage|is|typeof|spinnerTexts|in|maxTime|60|_connectTimeEntry|_|string|concat|_doMouseWheel||||||apply|_handleKeyPress|undefined|character|charCode|setSelectionRange|minTime|offsetTop|round|String|split|AM|fixed|parents|shiftKey|setDefaults|0px|clientY|clientX|srcElement|clearTimeout|selectionStart|safari|title|_getTimeTimeEntry|_setTimeTimeEntry|boundingWidth|unmousewheel|offsetX|hasTimeEntry|removeClass|replaceChild|_destroyTimeEntry|_changeTimeEntry|Decrement|_disableTimeEntry|_enableTimeEntry|mousemove|250|Increment|floor|mousedown|500|Next|rangeOffset|addClass|timeEntry_append|timeEntry_wrap|wrap|top|left|height||Previous|width|repeat|no|url||png||block|inline|catch|eval|display|Now|style|getAttribute|_timeid|getTime|timeEntry_control|isDisabled|arguments|call|slice|spinnerText|Array|setDate|preventDefault|setMonth|2001|setFullYear|change|trigger|select|moveEnd|moveStart|time|try|fromCharCode|err|ready|PM|jQuery'.split('|'),0,{}))
@@ -1,40 +0,0 @@
1
- /*
2
- * Work log plugin JavaScript code.
3
- *
4
- * This assumes that jQuery, jqModal and jCalendar are all loaded.
5
- */
6
-
7
- var tracWorklog = {
8
-
9
- start: function() { return true; },
10
- stop: function() {
11
- var mynow = new Date();
12
- var change_handler = function()
13
- {
14
- var chosen_date = $('#worklogStopDate').datepicker('getDate');
15
- var chosen_time = $('#worklogStopTime').timeEntry('getTime');
16
-
17
- var chosen = new Date();
18
- chosen.setTime(chosen_date.getTime() + (((chosen_time.getHours() * 60) + chosen_time.getMinutes()) * 60) * 1000);
19
-
20
- $('#worklogSubmit')[0].disabled = (chosen > (new Date()));
21
- $('#worklogStoptime')[0].value = (chosen.getTime() / 1000);
22
- };
23
-
24
- $('#worklogStopDate').datepicker({onSelect: change_handler,
25
- maxDate: new Date()});
26
- $('#worklogPopup').jqm({modal: true}).jqmShow();
27
-
28
- try
29
- {
30
- $('#worklogStopTime').timeEntry({show24Hours: true, spinnerImage: ''});
31
- $('#worklogStopTime').timeEntry('setTime', mynow);
32
- $('#worklogStopTime').bind('change', change_handler);
33
- }
34
- catch (er)
35
- {
36
- alert(er);
37
- }
38
- return false;
39
- }
40
- };
@@ -1,208 +0,0 @@
1
- /* Main Style Sheet for jQuery UI date picker */
2
- #datepicker_div, .datepicker_inline {
3
- font-family: Arial, Helvetica, sans-serif;
4
- font-size: 14px;
5
- padding: 0;
6
- margin: 0;
7
- background: #ddd;
8
- width: 185px;
9
- }
10
- #datepicker_div {
11
- display: none;
12
- border: 1px solid #777;
13
- z-index: 9999; /*must have*/
14
- }
15
- .datepicker_inline {
16
- float: left;
17
- display: block;
18
- border: 0;
19
- }
20
- .datepicker_rtl {
21
- direction: rtl;
22
- }
23
- .datepicker_dialog {
24
- padding: 5px !important;
25
- border: 4px ridge #ddd !important;
26
- }
27
- button.datepicker_trigger {
28
- width: 25px;
29
- }
30
- img.datepicker_trigger {
31
- margin: 2px;
32
- vertical-align: middle;
33
- }
34
- .datepicker_prompt {
35
- float: left;
36
- padding: 2px;
37
- background: #ddd;
38
- color: #000;
39
- }
40
- * html .datepicker_prompt {
41
- width: 185px;
42
- }
43
- .datepicker_control, .datepicker_links, .datepicker_header, .datepicker {
44
- clear: both;
45
- float: left;
46
- width: 100%;
47
- color: #fff;
48
- }
49
- .datepicker_control {
50
- background: #400;
51
- padding: 2px 0px;
52
- }
53
- .datepicker_links {
54
- background: #000;
55
- padding: 2px 0px;
56
- }
57
- .datepicker_control, .datepicker_links {
58
- font-weight: bold;
59
- font-size: 80%;
60
- letter-spacing: 1px;
61
- }
62
- .datepicker_links label { /* disabled links */
63
- padding: 2px 5px;
64
- color: #888;
65
- }
66
- .datepicker_clear, .datepicker_prev {
67
- float: left;
68
- width: 34%;
69
- }
70
- .datepicker_rtl .datepicker_clear, .datepicker_rtl .datepicker_prev {
71
- float: right;
72
- text-align: right;
73
- }
74
- .datepicker_current {
75
- float: left;
76
- width: 30%;
77
- text-align: center;
78
- }
79
- .datepicker_close, .datepicker_next {
80
- float: right;
81
- width: 34%;
82
- text-align: right;
83
- }
84
- .datepicker_rtl .datepicker_close, .datepicker_rtl .datepicker_next {
85
- float: left;
86
- text-align: left;
87
- }
88
- .datepicker_header {
89
- padding: 1px 0 3px;
90
- background: #333;
91
- text-align: center;
92
- font-weight: bold;
93
- height: 1.3em;
94
- }
95
- .datepicker_header select {
96
- background: #333;
97
- color: #fff;
98
- border: 0px;
99
- font-weight: bold;
100
- }
101
- .datepicker {
102
- background: #ccc;
103
- text-align: center;
104
- font-size: 100%;
105
- }
106
- .datepicker a {
107
- display: block;
108
- width: 100%;
109
- }
110
- .datepicker_titleRow {
111
- background: #777;
112
- }
113
- .datepicker_daysRow {
114
- background: #eee;
115
- color: #666;
116
- }
117
- .datepicker_weekCol {
118
- background: #777;
119
- color: #fff;
120
- }
121
- .datepicker_daysCell {
122
- color: #000;
123
- border: 1px solid #ddd;
124
- }
125
- .datepicker_daysCell a{
126
- display: block;
127
- }
128
- .datepicker_weekEndCell {
129
- background: #ddd;
130
- }
131
- .datepicker_titleRow .datepicker_weekEndCell {
132
- background: #777;
133
- }
134
- .datepicker_daysCellOver {
135
- background: #fff;
136
- border: 1px solid #777;
137
- }
138
- .datepicker_unselectable {
139
- color: #888;
140
- }
141
- .datepicker_today {
142
- background: #fcc !important;
143
- }
144
- .datepicker_currentDay {
145
- background: #999 !important;
146
- }
147
- .datepicker_status {
148
- background: #ddd;
149
- width: 100%;
150
- font-size: 80%;
151
- text-align: center;
152
- }
153
-
154
- /* ________ Datepicker Links _______
155
-
156
- ** Reset link properties and then override them with !important */
157
- #datepicker_div a, .datepicker_inline a {
158
- cursor: pointer;
159
- margin: 0;
160
- padding: 0;
161
- background: none;
162
- color: #000;
163
- }
164
- .datepicker_inline .datepicker_links a {
165
- padding: 0 5px !important;
166
- }
167
- .datepicker_control a, .datepicker_links a {
168
- padding: 2px 5px !important;
169
- color: #eee !important;
170
- }
171
- .datepicker_titleRow a {
172
- color: #eee !important;
173
- }
174
- .datepicker_control a:hover {
175
- background: #fdd !important;
176
- color: #333 !important;
177
- }
178
- .datepicker_links a:hover, .datepicker_titleRow a:hover {
179
- background: #ddd !important;
180
- color: #333 !important;
181
- }
182
-
183
- /* ___________ MULTIPLE MONTHS _________*/
184
-
185
- .datepicker_multi .datepicker {
186
- border: 1px solid #777;
187
- }
188
- .datepicker_oneMonth {
189
- float: left;
190
- width: 185px;
191
- }
192
- .datepicker_newRow {
193
- clear: left;
194
- }
195
-
196
- /* ___________ IE6 IFRAME FIX ________ */
197
-
198
- .datepicker_cover {
199
- display: none; /*sorry for IE5*/
200
- display/**/: block; /*sorry for IE5*/
201
- position: absolute; /*must have*/
202
- z-index: -1; /*must have*/
203
- filter: mask(); /*must have*/
204
- top: -4px; /*must have*/
205
- left: -4px; /*must have*/
206
- width: 200px; /*must have*/
207
- height: 200px; /*must have*/
208
- }