Project

General

Profile

Revision 54371cd7

ID54371cd7369d7f2c3c101ca78d400efe29148f38
Parent 70c5f034
Child 49c8da1d

Added by Thomas ANDREJAK almost 15 years ago

Changement de nom 1/2

git-svn-id: https://vigilo-dev.si.c-s.fr/svn@245 b22e2e97-25c9-44ff-b637-2e5ceca36478

View differences:

MANIFEST.in
1
recursive-include dashboard/public *
2
include dashboard/public/favicon.ico
3
recursive-include dashboard/i18n *
4
recursive-include dashboard/templates *
README.txt
1
########################
2
#    Désactiver l'environement virtuel
3
########################
4

  
5
Editer le fichier apache/dashboard.wsgi et commenter la section 3
6

  
7
########################
8
#    Configuration de l'application
9
########################
10

  
11
Les variables de configuration de l'application (par exemple les liens externes)
12
sont dans le fichier dashboard/config/dashboard_config.py
13

  
14
########################
15
#    Installation des Eggs
16
########################
17

  
18
Installer la liste des Eggs du fichier README_Eggs_Requis.txt en utilisant easy_install
19

  
20
Pour JQuery, pour avoir UI.Dialog, il faut :
21

  
22
1 ) Ajouter la ligne suivante au fichier /path/to/lib/python2.6/site-packages/tw.jquery-0.9.4.5-py2.6.egg/tw/jquery/__init__.py
23
from tw.jquery.ui_dialog import JQueryUIDialog
24
2 ) Copier le fichier README_jquery/ui_dialog.py vers /path/to/lib/python2.6/site-packages/tw.jquery-0.9.4.5-py2.6.egg/tw/jquery/ui_dialog.py
25
3 ) Copier les fichiers README_jquery/static/css vers /path/to/lib/python2.6/site-packages/tw.jquery-0.9.4.5-py2.6.egg/tw/jquery/static/css
26

  
README_Eggs_Requis.txt
1
AddOns-0.6
2
Babel-0.9.4
3
Beaker-1.3
4
BytecodeAssembler-0.3
5
Catwalk-2.0.2
6
decorator-3.0.0
7
DecoratorTools-1.7
8
Extremes-1.1
9
FormEncode-1.2.1
10
Genshi-0.5.1
11
Mako-0.2.4
12
MySQL_python-1.2.3c1
13
nose-0.10.4
14
Paste-1.7.2
15
PasteDeploy-1.3.3
16
PasteScript-1.7.3
17
PEAK_Rules-0.5a1.dev_r2582
18
prioritized_methods-0.2.1
19
Pygments-1.0
20
Pylons-0.9.7
21
repoze.tm2-1.0a4
22
repoze.what-1.0.8
23
repoze.what.plugins.sql-1.0rc1
24
repoze.what_pylons-1.0rc3
25
repoze.what_quickstart-1.0
26
repoze.who-1.0.10
27
repoze.who_friendlyform-1.0b3
28
repoze.who.plugins.sa-1.0rc1
29
repoze.who_testutil-1.0rc1
30
Routes-1.10.3
31
setuptools-0.6c9
32
simplejson-2.0.8
33
sprox-0.6.2
34
SQLAlchemy-0.5.1
35
sqlalchemy_migrate-0.5.2
36
SymbolType-1.0
37
Tempita-0.2
38
tg.devtools-2.0.1
39
tgext.admin-0.2.4
40
tgext.crud-0.2.4
41
ToscaWidgets-0.9.7.1
42
transaction-1.0a1
43
TurboGears2-2.0.1
44
TurboJson-1.2.1
45
tw.forms-0.9.7
46
tw.jquery-0.9.4.5
47
WebError-0.10.1
48
WebFlash-0.1a9
49
WebHelpers-0.6.4
50
WebOb-0.9.6.1
51
WebTest-1.1
52
zope.interface-3.4.1
53
zope.sqlalchemy-0.4
README_jquery/static/css/ui.accordion.css
1
/* Accordion
2
----------------------------------*/
3
.ui-accordion .ui-accordion-header { cursor: pointer; position: relative; margin-top: 1px; zoom: 1; }
4
.ui-accordion .ui-accordion-li-fix { display: inline; }
5
.ui-accordion .ui-accordion-header-active { border-bottom: 0 !important; }
6
.ui-accordion .ui-accordion-header a { display: block; font-size: 1em; padding: .5em .5em .5em 2.2em; }
7
.ui-accordion .ui-accordion-header .ui-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; }
8
.ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-top: 0; margin-top: -2px; position: relative; top: 1px; margin-bottom: 2px; overflow: auto; display: none; }
9
.ui-accordion .ui-accordion-content-active { display: block; }
README_jquery/static/css/ui.all.css
1
@import "ui.base.css";
2
@import "ui.theme.css";
README_jquery/static/css/ui.base.css
1
@import url("ui.core.css");
2
@import url("ui.resizable.css");
3
@import url("ui.dialog.css");@import url("ui.core.css");
4
@import url("ui.resizable.css");
5
@import url("ui.dialog.css");
README_jquery/static/css/ui.core.css
1
/*
2
* jQuery UI CSS Framework
3
* Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
4
* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses.
5
*/
6

  
7
/* Layout helpers
8
----------------------------------*/
9
.ui-helper-hidden { display: none; }
10
.ui-helper-hidden-accessible { position: absolute; left: -99999999px; }
11
.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; }
12
.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
13
.ui-helper-clearfix { display: inline-block; }
14
/* required comment for clearfix to work in Opera \*/
15
* html .ui-helper-clearfix { height:1%; }
16
.ui-helper-clearfix { display:block; }
17
/* end clearfix */
18
.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); }
19

  
20

  
21
/* Interaction Cues
22
----------------------------------*/
23
.ui-state-disabled { cursor: default !important; }
24

  
25

  
26
/* Icons
27
----------------------------------*/
28

  
29
/* states and images */
30
.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; }
31

  
32

  
33
/* Misc visuals
34
----------------------------------*/
35

  
36
/* Overlays */
37
.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
README_jquery/static/css/ui.datepicker.css
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
}
README_jquery/static/css/ui.dialog.css
1
/* Dialog
2
----------------------------------*/
3
.ui-dialog { position: relative; padding: .2em; width: 300px; }
4
.ui-dialog .ui-dialog-titlebar { padding: .5em .3em .3em 1em; position: relative;  }
5
.ui-dialog .ui-dialog-title { float: left; margin: .1em 0 .2em; } 
6
.ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; }
7
.ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; }
8
.ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; }
9
.ui-dialog .ui-dialog-content { border: 0; padding: .5em 1em; background: none; overflow: auto; zoom: 1; }
10
.ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin: .5em 0 0 0; padding: .3em 1em .5em .4em; }
11
.ui-dialog .ui-dialog-buttonpane button { float: right; margin: .5em .4em .5em 0; cursor: pointer; padding: .2em .6em .3em .6em; line-height: 1.4em; width:auto; overflow:visible; }
12
.ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; }
13
.ui-draggable .ui-dialog-titlebar { cursor: move; }
README_jquery/static/css/ui.progressbar.css
1
/* Progressbar
2
----------------------------------*/
3
.ui-progressbar { height:2em; text-align: left; }
4
.ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; }
README_jquery/static/css/ui.resizable.css
1
/* Resizable
2
----------------------------------*/
3
.ui-resizable { position: relative;}
4
.ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block;}
5
.ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; }
6
.ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0px; }
7
.ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0px; }
8
.ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0px; height: 100%; }
9
.ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0px; height: 100%; }
10
.ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; }
11
.ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; }
12
.ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; }
13
.ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;}
README_jquery/static/css/ui.slider.css
1
/* Slider
2
----------------------------------*/
3
.ui-slider { position: relative; text-align: left; }
4
.ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; }
5
.ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; }
6

  
7
.ui-slider-horizontal { height: .8em; }
8
.ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em; }
9
.ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; }
10
.ui-slider-horizontal .ui-slider-range-min { left: 0; }
11
.ui-slider-horizontal .ui-slider-range-max { right: 0; }
12

  
13
.ui-slider-vertical { width: .8em; height: 100px; }
14
.ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; }
15
.ui-slider-vertical .ui-slider-range { left: 0; width: 100%; }
16
.ui-slider-vertical .ui-slider-range-min { bottom: 0; }
17
.ui-slider-vertical .ui-slider-range-max { top: 0; }
README_jquery/static/css/ui.tabs.css
1
/* Tabs
2
----------------------------------*/
3
.ui-tabs { padding: .2em; zoom: 1; }
4
.ui-tabs .ui-tabs-nav { list-style: none; position: relative; padding: .2em .2em 0; }
5
.ui-tabs .ui-tabs-nav li { position: relative; float: left; border-bottom-width: 0 !important; margin: 0 .2em -1px 0; padding: 0; }
6
.ui-tabs .ui-tabs-nav li a { float: left; text-decoration: none; padding: .5em 1em; }
7
.ui-tabs .ui-tabs-nav li.ui-tabs-selected { padding-bottom: 1px; border-bottom-width: 0; }
8
.ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a { cursor: text; }
9
.ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */
10
.ui-tabs .ui-tabs-panel { padding: 1em 1.4em; display: block; border-width: 0; background: none; }
11
.ui-tabs .ui-tabs-hide { display: none !important; }
README_jquery/static/css/ui.theme.css
1

  
2

  
3

  
4

  
5
/*
6
* jQuery UI CSS Framework
7
* Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
8
* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses.
9
* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Trebuchet%20MS,%20Tahoma,%20Verdana,%20Arial,%20sans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=f6a828&bgTextureHeader=12_gloss_wave.png&bgImgOpacityHeader=35&borderColorHeader=e78f08&fcHeader=ffffff&iconColorHeader=ffffff&bgColorContent=eeeeee&bgTextureContent=03_highlight_soft.png&bgImgOpacityContent=100&borderColorContent=dddddd&fcContent=333333&iconColorContent=222222&bgColorDefault=f6f6f6&bgTextureDefault=02_glass.png&bgImgOpacityDefault=100&borderColorDefault=cccccc&fcDefault=1c94c4&iconColorDefault=ef8c08&bgColorHover=fdf5ce&bgTextureHover=02_glass.png&bgImgOpacityHover=100&borderColorHover=fbcb09&fcHover=c77405&iconColorHover=ef8c08&bgColorActive=ffffff&bgTextureActive=02_glass.png&bgImgOpacityActive=65&borderColorActive=fbd850&fcActive=eb8f00&iconColorActive=ef8c08&bgColorHighlight=ffe45c&bgTextureHighlight=03_highlight_soft.png&bgImgOpacityHighlight=75&borderColorHighlight=fed22f&fcHighlight=363636&iconColorHighlight=228ef1&bgColorError=b81900&bgTextureError=08_diagonals_thick.png&bgImgOpacityError=18&borderColorError=cd0a0a&fcError=ffffff&iconColorError=ffd27a&bgColorOverlay=666666&bgTextureOverlay=08_diagonals_thick.png&bgImgOpacityOverlay=20&opacityOverlay=50&bgColorShadow=000000&bgTextureShadow=01_flat.png&bgImgOpacityShadow=10&opacityShadow=20&thicknessShadow=5px&offsetTopShadow=-5px&offsetLeftShadow=-5px&cornerRadiusShadow=5px
10
*/
11

  
12

  
13
/* Component containers
14
----------------------------------*/
15
.ui-widget { font-family: Trebuchet MS, Tahoma, Verdana, Arial, sans-serif; font-size: 1.1em; }
16
.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Trebuchet MS, Tahoma, Verdana, Arial, sans-serif; font-size: 1em; }
17
.ui-widget-content { border: 1px solid #dddddd; background: #eeeeee url(images/ui-bg_highlight-soft_100_eeeeee_1x100.png) 50% top repeat-x; color: #333333; }
18
.ui-widget-content a { color: #333333; }
19
.ui-widget-header { border: 1px solid #e78f08; background: #f6a828 url(images/ui-bg_gloss-wave_35_f6a828_500x100.png) 50% 50% repeat-x; color: #ffffff; font-weight: bold; }
20
.ui-widget-header a { color: #ffffff; }
21

  
22
/* Interaction states
23
----------------------------------*/
24
.ui-state-default, .ui-widget-content .ui-state-default { border: 1px solid #cccccc; background: #f6f6f6 url(images/ui-bg_glass_100_f6f6f6_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #1c94c4; outline: none; }
25
.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #1c94c4; text-decoration: none; outline: none; }
26
.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus { border: 1px solid #fbcb09; background: #fdf5ce url(images/ui-bg_glass_100_fdf5ce_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #c77405; outline: none; }
27
.ui-state-hover a, .ui-state-hover a:hover { color: #c77405; text-decoration: none; outline: none; }
28
.ui-state-active, .ui-widget-content .ui-state-active { border: 1px solid #fbd850; background: #ffffff url(images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #eb8f00; outline: none; }
29
.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #eb8f00; outline: none; text-decoration: none; }
30

  
31
/* Interaction Cues
32
----------------------------------*/
33
.ui-state-highlight, .ui-widget-content .ui-state-highlight {border: 1px solid #fed22f; background: #ffe45c url(images/ui-bg_highlight-soft_75_ffe45c_1x100.png) 50% top repeat-x; color: #363636; }
34
.ui-state-highlight a, .ui-widget-content .ui-state-highlight a { color: #363636; }
35
.ui-state-error, .ui-widget-content .ui-state-error {border: 1px solid #cd0a0a; background: #b81900 url(images/ui-bg_diagonals-thick_18_b81900_40x40.png) 50% 50% repeat; color: #ffffff; }
36
.ui-state-error a, .ui-widget-content .ui-state-error a { color: #ffffff; }
37
.ui-state-error-text, .ui-widget-content .ui-state-error-text { color: #ffffff; }
38
.ui-state-disabled, .ui-widget-content .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; }
39
.ui-priority-primary, .ui-widget-content .ui-priority-primary { font-weight: bold; }
40
.ui-priority-secondary, .ui-widget-content .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; }
41

  
42
/* Icons
43
----------------------------------*/
44

  
45
/* states and images */
46
.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_222222_256x240.png); }
47
.ui-widget-content .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); }
48
.ui-widget-header .ui-icon {background-image: url(images/ui-icons_ffffff_256x240.png); }
49
.ui-state-default .ui-icon { background-image: url(images/ui-icons_ef8c08_256x240.png); }
50
.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_ef8c08_256x240.png); }
51
.ui-state-active .ui-icon {background-image: url(images/ui-icons_ef8c08_256x240.png); }
52
.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_228ef1_256x240.png); }
53
.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_ffd27a_256x240.png); }
54

  
55
/* positioning */
56
.ui-icon-carat-1-n { background-position: 0 0; }
57
.ui-icon-carat-1-ne { background-position: -16px 0; }
58
.ui-icon-carat-1-e { background-position: -32px 0; }
59
.ui-icon-carat-1-se { background-position: -48px 0; }
60
.ui-icon-carat-1-s { background-position: -64px 0; }
61
.ui-icon-carat-1-sw { background-position: -80px 0; }
62
.ui-icon-carat-1-w { background-position: -96px 0; }
63
.ui-icon-carat-1-nw { background-position: -112px 0; }
64
.ui-icon-carat-2-n-s { background-position: -128px 0; }
65
.ui-icon-carat-2-e-w { background-position: -144px 0; }
66
.ui-icon-triangle-1-n { background-position: 0 -16px; }
67
.ui-icon-triangle-1-ne { background-position: -16px -16px; }
68
.ui-icon-triangle-1-e { background-position: -32px -16px; }
69
.ui-icon-triangle-1-se { background-position: -48px -16px; }
70
.ui-icon-triangle-1-s { background-position: -64px -16px; }
71
.ui-icon-triangle-1-sw { background-position: -80px -16px; }
72
.ui-icon-triangle-1-w { background-position: -96px -16px; }
73
.ui-icon-triangle-1-nw { background-position: -112px -16px; }
74
.ui-icon-triangle-2-n-s { background-position: -128px -16px; }
75
.ui-icon-triangle-2-e-w { background-position: -144px -16px; }
76
.ui-icon-arrow-1-n { background-position: 0 -32px; }
77
.ui-icon-arrow-1-ne { background-position: -16px -32px; }
78
.ui-icon-arrow-1-e { background-position: -32px -32px; }
79
.ui-icon-arrow-1-se { background-position: -48px -32px; }
80
.ui-icon-arrow-1-s { background-position: -64px -32px; }
81
.ui-icon-arrow-1-sw { background-position: -80px -32px; }
82
.ui-icon-arrow-1-w { background-position: -96px -32px; }
83
.ui-icon-arrow-1-nw { background-position: -112px -32px; }
84
.ui-icon-arrow-2-n-s { background-position: -128px -32px; }
85
.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
86
.ui-icon-arrow-2-e-w { background-position: -160px -32px; }
87
.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
88
.ui-icon-arrowstop-1-n { background-position: -192px -32px; }
89
.ui-icon-arrowstop-1-e { background-position: -208px -32px; }
90
.ui-icon-arrowstop-1-s { background-position: -224px -32px; }
91
.ui-icon-arrowstop-1-w { background-position: -240px -32px; }
92
.ui-icon-arrowthick-1-n { background-position: 0 -48px; }
93
.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
94
.ui-icon-arrowthick-1-e { background-position: -32px -48px; }
95
.ui-icon-arrowthick-1-se { background-position: -48px -48px; }
96
.ui-icon-arrowthick-1-s { background-position: -64px -48px; }
97
.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
98
.ui-icon-arrowthick-1-w { background-position: -96px -48px; }
99
.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
100
.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
101
.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
102
.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
103
.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
104
.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
105
.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
106
.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
107
.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
108
.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
109
.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
110
.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
111
.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
112
.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
113
.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
114
.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
115
.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
116
.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
117
.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
118
.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
119
.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
120
.ui-icon-arrow-4 { background-position: 0 -80px; }
121
.ui-icon-arrow-4-diag { background-position: -16px -80px; }
122
.ui-icon-extlink { background-position: -32px -80px; }
123
.ui-icon-newwin { background-position: -48px -80px; }
124
.ui-icon-refresh { background-position: -64px -80px; }
125
.ui-icon-shuffle { background-position: -80px -80px; }
126
.ui-icon-transfer-e-w { background-position: -96px -80px; }
127
.ui-icon-transferthick-e-w { background-position: -112px -80px; }
128
.ui-icon-folder-collapsed { background-position: 0 -96px; }
129
.ui-icon-folder-open { background-position: -16px -96px; }
130
.ui-icon-document { background-position: -32px -96px; }
131
.ui-icon-document-b { background-position: -48px -96px; }
132
.ui-icon-note { background-position: -64px -96px; }
133
.ui-icon-mail-closed { background-position: -80px -96px; }
134
.ui-icon-mail-open { background-position: -96px -96px; }
135
.ui-icon-suitcase { background-position: -112px -96px; }
136
.ui-icon-comment { background-position: -128px -96px; }
137
.ui-icon-person { background-position: -144px -96px; }
138
.ui-icon-print { background-position: -160px -96px; }
139
.ui-icon-trash { background-position: -176px -96px; }
140
.ui-icon-locked { background-position: -192px -96px; }
141
.ui-icon-unlocked { background-position: -208px -96px; }
142
.ui-icon-bookmark { background-position: -224px -96px; }
143
.ui-icon-tag { background-position: -240px -96px; }
144
.ui-icon-home { background-position: 0 -112px; }
145
.ui-icon-flag { background-position: -16px -112px; }
146
.ui-icon-calendar { background-position: -32px -112px; }
147
.ui-icon-cart { background-position: -48px -112px; }
148
.ui-icon-pencil { background-position: -64px -112px; }
149
.ui-icon-clock { background-position: -80px -112px; }
150
.ui-icon-disk { background-position: -96px -112px; }
151
.ui-icon-calculator { background-position: -112px -112px; }
152
.ui-icon-zoomin { background-position: -128px -112px; }
153
.ui-icon-zoomout { background-position: -144px -112px; }
154
.ui-icon-search { background-position: -160px -112px; }
155
.ui-icon-wrench { background-position: -176px -112px; }
156
.ui-icon-gear { background-position: -192px -112px; }
157
.ui-icon-heart { background-position: -208px -112px; }
158
.ui-icon-star { background-position: -224px -112px; }
159
.ui-icon-link { background-position: -240px -112px; }
160
.ui-icon-cancel { background-position: 0 -128px; }
161
.ui-icon-plus { background-position: -16px -128px; }
162
.ui-icon-plusthick { background-position: -32px -128px; }
163
.ui-icon-minus { background-position: -48px -128px; }
164
.ui-icon-minusthick { background-position: -64px -128px; }
165
.ui-icon-close { background-position: -80px -128px; }
166
.ui-icon-closethick { background-position: -96px -128px; }
167
.ui-icon-key { background-position: -112px -128px; }
168
.ui-icon-lightbulb { background-position: -128px -128px; }
169
.ui-icon-scissors { background-position: -144px -128px; }
170
.ui-icon-clipboard { background-position: -160px -128px; }
171
.ui-icon-copy { background-position: -176px -128px; }
172
.ui-icon-contact { background-position: -192px -128px; }
173
.ui-icon-image { background-position: -208px -128px; }
174
.ui-icon-video { background-position: -224px -128px; }
175
.ui-icon-script { background-position: -240px -128px; }
176
.ui-icon-alert { background-position: 0 -144px; }
177
.ui-icon-info { background-position: -16px -144px; }
178
.ui-icon-notice { background-position: -32px -144px; }
179
.ui-icon-help { background-position: -48px -144px; }
180
.ui-icon-check { background-position: -64px -144px; }
181
.ui-icon-bullet { background-position: -80px -144px; }
182
.ui-icon-radio-off { background-position: -96px -144px; }
183
.ui-icon-radio-on { background-position: -112px -144px; }
184
.ui-icon-pin-w { background-position: -128px -144px; }
185
.ui-icon-pin-s { background-position: -144px -144px; }
186
.ui-icon-play { background-position: 0 -160px; }
187
.ui-icon-pause { background-position: -16px -160px; }
188
.ui-icon-seek-next { background-position: -32px -160px; }
189
.ui-icon-seek-prev { background-position: -48px -160px; }
190
.ui-icon-seek-end { background-position: -64px -160px; }
191
.ui-icon-seek-first { background-position: -80px -160px; }
192
.ui-icon-stop { background-position: -96px -160px; }
193
.ui-icon-eject { background-position: -112px -160px; }
194
.ui-icon-volume-off { background-position: -128px -160px; }
195
.ui-icon-volume-on { background-position: -144px -160px; }
196
.ui-icon-power { background-position: 0 -176px; }
197
.ui-icon-signal-diag { background-position: -16px -176px; }
198
.ui-icon-signal { background-position: -32px -176px; }
199
.ui-icon-battery-0 { background-position: -48px -176px; }
200
.ui-icon-battery-1 { background-position: -64px -176px; }
201
.ui-icon-battery-2 { background-position: -80px -176px; }
202
.ui-icon-battery-3 { background-position: -96px -176px; }
203
.ui-icon-circle-plus { background-position: 0 -192px; }
204
.ui-icon-circle-minus { background-position: -16px -192px; }
205
.ui-icon-circle-close { background-position: -32px -192px; }
206
.ui-icon-circle-triangle-e { background-position: -48px -192px; }
207
.ui-icon-circle-triangle-s { background-position: -64px -192px; }
208
.ui-icon-circle-triangle-w { background-position: -80px -192px; }
209
.ui-icon-circle-triangle-n { background-position: -96px -192px; }
210
.ui-icon-circle-arrow-e { background-position: -112px -192px; }
211
.ui-icon-circle-arrow-s { background-position: -128px -192px; }
212
.ui-icon-circle-arrow-w { background-position: -144px -192px; }
213
.ui-icon-circle-arrow-n { background-position: -160px -192px; }
214
.ui-icon-circle-zoomin { background-position: -176px -192px; }
215
.ui-icon-circle-zoomout { background-position: -192px -192px; }
216
.ui-icon-circle-check { background-position: -208px -192px; }
217
.ui-icon-circlesmall-plus { background-position: 0 -208px; }
218
.ui-icon-circlesmall-minus { background-position: -16px -208px; }
219
.ui-icon-circlesmall-close { background-position: -32px -208px; }
220
.ui-icon-squaresmall-plus { background-position: -48px -208px; }
221
.ui-icon-squaresmall-minus { background-position: -64px -208px; }
222
.ui-icon-squaresmall-close { background-position: -80px -208px; }
223
.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
224
.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
225
.ui-icon-grip-solid-vertical { background-position: -32px -224px; }
226
.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
227
.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
228
.ui-icon-grip-diagonal-se { background-position: -80px -224px; }
229

  
230

  
231
/* Misc visuals
232
----------------------------------*/
233

  
234
/* Corner radius */
235
.ui-corner-tl { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; }
236
.ui-corner-tr { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; }
237
.ui-corner-bl { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; }
238
.ui-corner-br { -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; }
239
.ui-corner-top { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; }
240
.ui-corner-bottom { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; }
241
.ui-corner-right {  -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; }
242
.ui-corner-left { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; }
243
.ui-corner-all { -moz-border-radius: 4px; -webkit-border-radius: 4px; }
244

  
245
/* Overlays */
246
.ui-widget-overlay { background: #666666 url(images/ui-bg_diagonals-thick_20_666666_40x40.png) 50% 50% repeat; opacity: .50;filter:Alpha(Opacity=50); }
247
.ui-widget-shadow { margin: -5px 0 0 -5px; padding: 5px; background: #000000 url(images/ui-bg_flat_10_000000_40x100.png) 50% 50% repeat-x; opacity: .20;filter:Alpha(Opacity=20); -moz-border-radius: 5px; -webkit-border-radius: 5px; }
README_jquery/static/css/validation_form.css
1
* { 
2
	font-family: Verdana; 
3
	font-size: 96%; 
4
}
5
label { 
6
	width: 10em; 
7
	float: left; 
8
}
9
label.error { 
10
	float: none; 
11
	color: red; 
12
	padding-left: .5em; 
13
	vertical-align: top; 
14
}
15
p { 
16
	clear: both; 
17
}
18
.submit { 
19
	margin-left: 12em; 
20
}
21
em { 
22
	font-weight: bold; 
23
	padding-right: 1em; 
24
	vertical-align: top; 
25
}
26

  
README_jquery/ui_dialog.py
1
# Permission is hereby granted, free of charge, to any person obtaining a copy
2
# of this software and associated documentation files (the "Software"), to deal
3
# in the Software without restriction, including without limitation the rights
4
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
5
# copies of the Software, and to permit persons to whom the Software is
6
# furnished to do so, subject to the following conditions:
7
#
8
# The above copyright notice and this permission notice shall be included in
9
# all copies or substantial portions of the Software.
10
#
11
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
12
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
13
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
14
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
15
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
16
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
17
# THE SOFTWARE.
18

  
19
from tw.api import Widget, JSLink, CSSLink, js_function, js_callback
20
from tw.jquery import JQuery
21
from tw.jquery.direction import *
22
from tw.forms import FormField
23
from ui_core import jquery_ui_core_js
24
from ui import ui_dialog_js , ui_draggable_js, ui_resizable_js
25
__all__ = ["jquery_ui_dialog_js"]
26

  
27

  
28
# declare your static resources here
29

  
30
## JS dependencies can be listed at 'javascript' so they'll get included
31
## before
32

  
33
jquery_ui_dialog_css    = CSSLink(modname=__name__, filename='static/css/ui.all.css')
34
#jquery_ui_dialog_js    = JSLink(modname=__name__, filename='static/javascript/ui/ui.dialog.js', javascript=[jquery_ui_core_js,jquery_direction_js])
35

  
36
#jquery_ui_draggable_js =  JSLink(modname=__name__, filename='static/javascript/ui/ui.draggable.js')
37

  
38

  
39
jQuery = js_function('jQuery')
40

  
41
class JQueryUIDialog(Widget):
42
    
43
    javascript = [ui_dialog_js,ui_draggable_js,jquery_ui_core_js,jquery_direction_js,ui_resizable_js]
44
    css=[jquery_ui_dialog_css]
45
    
46
    params = ["autoOpen","bgiframe","buttons","closeOnEscape","dialogClass"
47
	"draggable","height","hide","maxHeight","maxWidht","minHeight","minWidth"
48
	"modal","position","resizable","show","stack","title","width","zindex" ]
49
   
50
    autoOpen = True
51
    bgiframe = False
52
    buttons = {}
53
    closeOnEscape = True 
54
    dialogClass = ""
55
    draggable = True
56
    height = "auto"
57
    hide = None
58
    maxHeight = False
59
    maxWidth = False
60
    minHeight = 150
61
    minWidth = 150
62
    modal = False
63
    position = "center"
64
    resizable = True
65
    show = None
66
    stack = True
67
    title = ''
68
    width = 300
69
    zindex = 1000
70
    def update_params(self, d):
71
        super(JQueryUIDialog, self).update_params(d)
72
        if not getattr(d,"id",None):
73
            raise ValueError, "JQueryUIDialog is supposed to have id"
74
    	dialog_params = dict (     autoOpen = self.autoOpen,
75
			bgiframe = self.bgiframe,
76
			buttons = self.buttons,
77
			closeOnEscape = self.closeOnEscape,
78
			dialogClass = self.dialogClass,
79
			draggable = self.draggable,
80
			height = self.height,
81
			hide = self.hide,
82
			maxHeight = self.maxHeight,
83
			maxWidth = self.maxWidth,
84
			minHeight = self.minHeight,
85
			minWidth = self.minWidth,
86
			modal = self.modal,
87
			position = self.position,
88
			resizable = self.resizable,
89
			show = self.show,
90
			stack = self.stack,
91
			title = self.title,
92
			width = self.width,
93
			zindex = self.zindex#,
94
			#open = js_callback('function(event,ui) { for ( i in event ) { alert(i);}}') # $(\'#%s\').dialog(\'option\' , \'position\' , \'top\')}' % d.id )
95

  
96
			)
97
        self.add_call(jQuery("#%s" % d.id).dialog(dialog_params))
98
	
99
        
apache/README.txt
1
#Here is a numbered list of what you need to do to deploy you Turbogears2 or Pylons application. Follow 1 through 6. 
2

  
3
#1. Create production.ini configuration file if its not there already. Example: 
4
cp development.ini production.ini
5
#Edit production.ini and delete the port settings or make sure its set to 80.
6

  
7
#2. Change or check the apache settings file.
8
#Edit /usr/local/turbogears/dashboard/apache/dashboard and make sure it has the necessary apache configurations you need.
9
#Copy {dashboard} apache config file to apache folder. Example:
10
cp /usr/local/turbogears/dashboard/apache/dashboard /etc/apache2/sites-available/dashboard
11

  
12
#3.Check if permissions are the same as other apache sites usually (root:root)
13

  
14
ls -l /etc/apache2/sites-available/
15
#You shoud see
16
#total 16
17
#-rw-r--r-- 1 root root  950 2008-08-08 13:06 default
18
#-rw-r--r-- 1 root root 7366 2008-08-08 13:06 default-ssl
19
#-rw-r--r-- 1 root root 1077 2008-11-08 12:38 dashboard
20

  
21
#4.Enable your site.
22
a2ensite dashboard
23

  
24
#5. Check if your project has proper permissions, usually apache user. (Example: www-data:www-data on Debian).
25
ls -l /usr/local/turbogears/dashboard/apache/
26
#total 16
27
#-rw-r--r-- 1 www-data www-data 1077 2008-11-26 22:35 dashboard
28
#-rw-r--r-- 1 www-data www-data 2319 2008-11-26 23:25 dashboard.wsgi
29
#-rw-r--r-- 1 www-data www-data  594 2008-11-26 22:35 README.txt
30
#-rw-r--r-- 1 www-data www-data  538 2008-11-26 22:35 test.wsgi
31

  
32
#6.Reload apache
33
/etc/init.d/apache2 reload
34

  
35

  
36
#You are done. Your application should be working. Check the access.log, warn.log, and error.log in /var/log/apache to see if there are any errors. 
apache/dashboard
1
#Apache configuration File
2
#Read README.txt
3
#1. This file should be added to your apache config folder; On Debian copy to /etc/apache2/sites-available/
4
#Default location for tg2 project is /home/tandreja/tg2env/dashboard_v2/dashboard. That is where you should put your project. This folder should be outside of apache location. Your package should not be installed into python site-package.
5

  
6
#2. Alias/Allow apache to serve static content.
7
Alias /dashboard/images /home/tandreja/tg2env/dashboard_v2/dashboard/public/images
8
Alias /dashboard/css /home/tandreja/tg2env/dashboard_v2/dashboard/public/css
9
Alias /dashboard/javascript /home/tandreja/tg2env/dashboard_v2/dashboard/public/javascript
10
Alias /dashboard/images_vigilo /home/tandreja/tg2env/dashboard_v2/dashboard/public/images_vigilo
11
#Embeded mode (http://example.com/dashboard).For big websites with a lot of memory and visitors.
12
WSGIScriptAlias /dashboard /home/tandreja/tg2env/dashboard_v2/dashboard/apache/dashboard.wsgi
13

  
14
#3. Test if modwsgi is working. Uncomment below line, and go to http://localhost/test:
15
#WSGIScriptAlias /test /home/tandreja/tg2env/dashboard_v2/dashboard/apache/test.wsgi
16

  
17
#4. [Optional] Sitewide (http://example.com/)
18
#Alias /images /home/tandreja/tg2env/dashboard_v2/dashboard/public/images
19
#Alias /css /home/tandreja/tg2env/dashboard_v2/dashboard/public/css
20
#Alias /javascript /home/tandreja/tg2env/dashboard_v2/dashboard/public/javascript
21
#WSGIScriptAlias / /home/tandreja/tg2env/dashboard_v2/apache/dashboard.wsgi
22

  
23
#5. [Optional] Deamon mode with 10 threads and 3 processes. For small to medium website.
24
#WSGIDaemonProcess dashboard threads=10 processes=3
25
#WSGIProcessGroup dashboard
26
#WSGIScriptAlias / /home/tandreja/tg2env/dashboard_v2/dashboard/apache/dashboard.wsgi
27

  
28
#6. Directory Permission.
29
<Directory /home/tandreja/tg2env/dashboard_v2/dashboard/apache>
30
Order deny,allow
31
Allow from all
32
</Directory>
33

  
34
<Directory /home/tandreja/tg2env/dashboard_v2/dashboard/dashboard/public>
35
Order allow,denu
36
Allow from all
37
</Directory>
38

  
39

  
40
#7. [Optional] If you want to use Virtualhost apache settings. 
41
#Sample Virtual Host configuration would look like this:
42

  
43
#<Directory /home/tandreja/tg2env/dashboard_v2/dashboard/apache>
44
#    Order allow,deny
45
#    Allow from all
46
#</Directory>
47

  
48
#NameVirtualHost *:81
49
#<VirtualHost *:81>
50
#    WSGIScriptAlias / /home/tandreja/tg2env/dashboard_v2/dashboard/apache/dashboard.wsgi
51
#</VirtualHost>
apache/dashboard.wsgi
1
#modwsgi script for dashboard
2

  
3
#1.Point to this script in you apache config file.
4
#Default location for all apps is:
5
#Debian:  /usr/local/turbogears/dashboard
6

  
7
#2. Make sure apache user own the folder.
8
#Debian: chown -R www-data:www-data /usr/local/turbogears/dashboard
9

  
10
import sys
11

  
12
#3. start of virtualenv (enabled by default).
13
#Please comment out until 4 if you don't use virtualenv. 
14
#Make sure root owns the virtualenv folder. Example:(root:root)
15
#Create virtualenv if you didn't create it yet:
16
#mkdir /usr/local/pythonenv
17
#virtualenv --no-site-packages /usr/local/pythonenv/BASELINE
18

  
19
prev_sys_path = list(sys.path)
20

  
21
import site 
22
site.addsitedir('/home/tandreja/tg2env/lib/python2.6/site-packages')
23

  
24
#Move just added item to the front of the python system path. 
25
#Not needed if modwsgi>=3.0. Uncomment next 6 lines.
26
new_sys_path = []
27
for item in list(sys.path):
28
    if item not in prev_sys_path:
29
        new_sys_path.append(item)
30
        sys.path.remove(item)
31
sys.path[:0] = new_sys_path 
32

  
33
#End of virtualenv
34

  
35
#4. Your website file location.
36
import os, sys
37
sys.path.append('/home/tandreja/tg2env/dashboard_v2')
38

  
39
#5. Set the environment variable PYTHON_EGG_CACHE to an appropriate directory where the Apache user has write permission and into which it can unpack egg files.
40
os.environ['PYTHON_EGG_CACHE'] = '/home/tandreja/tg2env/dashboard_v2/python-eggs'
41

  
42
#6.[Optional]If you want to enable logging you need to initialize logging. You also need to setup logger handlers in you production.ini. When done uncomment next two lines.
43
#from paste.script.util.logging_config import fileConfig
44
#fileConfig('/usr/local/turbogears/dashboard/production.ini')
45

  
46
#7. Load you application production.ini file.
47
from paste.deploy import loadapp
48
application = loadapp('config:/home/tandreja/tg2env/dashboard_v2/production.ini')
49

  
50

  
51
#8.[Optional] If you want to test modwsgi only, uncomment section 3 in you /usr/local/turbogears/dashboard/apache/dashboard
52
import paste.fixture
53
app = paste.fixture.TestApp(application)
54
app.get("/")
55

  
apache/test.wsgi
1
#Test modwsgi.
2
#Hello world test application to make sure modwsgi runs. Link from you apache file to here to test.
3

  
4
def application(environ, start_response):
5
    status = '200 OK'
6
    output = 'Hello World!'
7
    #print >> sys.stderr, "sys.stderr"
8
    #print >> environ["wsgi.errors"], "wsgi.errors" 
9
    response_headers = [('Content-type', 'text/plain'),
10
                        ('Content-Length', str(len(output)))]
11
    start_response(status, response_headers)
12

  
13
    return [output]
14

  
15

  
bdd.sql
1
REATE TABLE IF NOT EXISTS `graph` (
2
  `name` varchar(100) NOT NULL,
3
  `template` varchar(2500) NOT NULL,
4
  `vlabel` varchar(2500) NOT NULL,
5
  PRIMARY KEY (`name`)
6
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
7

  
8

  
9

  
10

  
11

  
12
CREATE TABLE IF NOT EXISTS `graphgroups` (
13
  `graphname` varchar(100) NOT NULL,
14
  `idgraphgroup` int(10) unsigned NOT NULL,
15
  `parent` int(10) unsigned NOT NULL,
16
  PRIMARY KEY (`graphname`,`idgraphgroup`),
17
  FOREIGN KEY (graphname) REFERENCES graph(name)
18
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
19

  
20

  
21

  
22

  
23

  
24

  
25
CREATE TABLE IF NOT EXISTS `host` (
26
  `name` varchar(255) NOT NULL,
27
  `checkhostcmd` varchar(255) NOT NULL,
28
  `community` varchar(255) NOT NULL,
29
  `fqhn` varchar(255) NOT NULL,
30
  `hosttpl` varchar(255) NOT NULL,
31
  `mainip` varchar(255) NOT NULL,
32
  `port` int(10) unsigned NOT NULL,
33
  `snmpoidsperpdu` int(10) unsigned DEFAULT NULL,
34
  `snmpversion` varchar(255) DEFAULT NULL,
35
  PRIMARY KEY (`name`)
36
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ;
37

  
38

  
39

  
40

  
41

  
42
CREATE TABLE IF NOT EXISTS `service` (
43
  `name` varchar(255) NOT NULL,
44
  `type` varchar(255) NOT NULL,
45
  `command` varchar(255) NOT NULL,
46
  PRIMARY KEY (`name`)
47
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ;
48

  
49

  
50

  
51

  
52

  
53
CREATE TABLE IF NOT EXISTS `events` (
54
  `idevent` int(10) unsigned NOT NULL AUTO_INCREMENT,
55
  `hostname` varchar(100) NOT NULL,
56
  `servicename` varchar(100) DEFAULT NULL,
57
  `service_source` varchar(100) NOT NULL,
58
  `severity` int(10) unsigned NOT NULL,
59
  `status` enum( 'None', 'Acknowledged', 'Closed' ) NOT NULL DEFAULT 'None',
60
  `active` bool DEFAULT TRUE,
61
  `timestamp` datetime DEFAULT NULL,
62
  `output` text NOT NULL,
63
  `event_timestamp` datetime DEFAULT NULL,
64
  `last_check` datetime DEFAULT NULL,
65
  `recover_output` text,
66
  `timestamp_active` datetime DEFAULT NULL,
67
  `timestamp_cleared` datetime DEFAULT NULL,
68
  `trouble_ticket` varchar(20) DEFAULT NULL,
69
  `occurence` int(10) unsigned DEFAULT NULL,
70
  PRIMARY KEY (`idevent`),
71
  FOREIGN KEY (`servicename`) REFERENCES service(name),
72
  FOREIGN KEY (`hostname`) REFERENCES host(name),
73
  INDEX (`hostname`,`servicename`)
74
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
75

  
76

  
77

  
78

  
79
CREATE TABLE IF NOT EXISTS `event_history` (
80
  `idhistory` int(10) unsigned NOT NULL AUTO_INCREMENT,
81
  `type_action` varchar(50) NOT NULL,
82
  `idevent` int(10) unsigned NOT NULL,
83
  `key` varchar(255) DEFAULT NULL,
84
  `value` text,
85
  `timestamp` datetime DEFAULT NULL,
86
  `username` varchar(255) DEFAULT NULL,
87
  PRIMARY KEY (`idhistory`),
88
  INDEX (`idevent`),
89
  FOREIGN KEY ( idevent) REFERENCES events(idevent)
90
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
91

  
92

  
93

  
94

  
95

  
96

  
97
CREATE TABLE IF NOT EXISTS `groups` (
98
  `name` varchar(100) NOT NULL,
99
  `parent` varchar(100) DEFAULT NULL,
100
  PRIMARY KEY (`name`),
101
  FOREIGN KEY (parent) REFERENCES groups(name)
102
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
103
CREATE TABLE IF NOT EXISTS `grouppermissions` (
104
  `groupname` varchar(100) NOT NULL,
105
  `idpermission` int(10) unsigned NOT NULL,
106
  FOREIGN KEY (groupname) REFERENCES groups(name),
107
   PRIMARY KEY (groupname,idpermission)
108
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
109

  
110

  
111

  
112

  
113

  
114

  
115
CREATE TABLE IF NOT EXISTS `hostgroups` (
116
  `hostname` varchar(100) NOT NULL,
117
  `groupname` varchar(100) NOT NULL,
118
  PRIMARY KEY (`hostname`,`groupname`),
119
  FOREIGN KEY (hostname) REFERENCES host(name),
120
  FOREIGN KEY (groupname) REFERENCES groups(name)
121
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
122

  
123

  
124

  
125

  
126

  
127
CREATE TABLE IF NOT EXISTS `servicegroups` (
128
  `servicename` varchar(100) NOT NULL,
129
  `groupname` varchar(100) NOT NULL,
130
  PRIMARY KEY (`servicename`,`groupname`),
131
  FOREIGN KEY (servicename) REFERENCES service(name),
132
  FOREIGN KEY (groupname) REFERENCES groups(name)
133
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
134

  
135

  
136

  
137

  
138

  
139

  
140

  
141
CREATE TABLE IF NOT EXISTS `perfdatasource` (
142
  `hostname` varchar(100) NOT NULL,
143
  `servicename` varchar(100) NOT NULL,
144
  `graphname` varchar(100) NOT NULL,
145
  `type` varchar(100) NOT NULL,
146
  `label` varchar(255) DEFAULT NULL,
147
  `factor` float NOT NULL,
148
  PRIMARY KEY (`hostname`,`servicename`),
149
  FOREIGN KEY (hostname) REFERENCES host(name),
150
  FOREIGN KEY (servicename) REFERENCES service(name),
151
  FOREIGN KEY (graphname) REFERENCES graph(name)
152
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
153

  
154

  
155

  
156

  
157
CREATE TABLE IF NOT EXISTS `servicehautniveau` (
158
  `servicename` varchar(100) NOT NULL,
159
  `servicename_dep` varchar(100) NOT NULL,
160
  PRIMARY KEY (`servicename`,`servicename_dep`),
161
  FOREIGN KEY (servicename) REFERENCES service(name),
162
  FOREIGN KEY (servicename_dep) REFERENCES service(name)
163
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
164

  
165

  
166

  
167

  
168

  
169

  
170
CREATE TABLE IF NOT EXISTS `servicetopo` (
171
  `servicename` varchar(100) NOT NULL,
172
  `function` varchar(50) NOT NULL,
173
  PRIMARY KEY (`servicename`),
174
  FOREIGN KEY (servicename) REFERENCES servicehautniveau(servicename)
175
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
176

  
dashboard.egg-info/PKG-INFO
1
Metadata-Version: 1.0
2
Name: dashboard
3
Version: 0.1dev
4
Summary: UNKNOWN
5
Home-page: UNKNOWN
6
Author: UNKNOWN
7
Author-email: UNKNOWN
8
License: UNKNOWN
9
Description: UNKNOWN
10
Platform: UNKNOWN
dashboard.egg-info/SOURCES.txt
1
MANIFEST.in
2
README.txt
3
setup.cfg
4
setup.py
5
dashboard/__init__.py
6
dashboard/websetup.py
7
dashboard.egg-info/PKG-INFO
8
dashboard.egg-info/SOURCES.txt
9
dashboard.egg-info/dependency_links.txt
10
dashboard.egg-info/entry_points.txt
11
dashboard.egg-info/paster_plugins.txt
12
dashboard.egg-info/requires.txt
13
dashboard.egg-info/top_level.txt
14
dashboard/config/__init__.py
15
dashboard/config/app_cfg.py
16
dashboard/config/dashboard_config.py
17
dashboard/config/environment.py
18
dashboard/config/middleware.py
19
dashboard/controllers/__init__.py
20
dashboard/controllers/error.py
21
dashboard/controllers/root.py
22
dashboard/controllers/secure.py
23
dashboard/controllers/template.py
24
dashboard/i18n/ru/LC_MESSAGES/dashboard.po
25
dashboard/lib/__init__.py
26
dashboard/lib/app_globals.py
27
dashboard/lib/base.py
28
dashboard/lib/helpers.py
29
dashboard/model/__init__.py
30
dashboard/model/auth.py
31
dashboard/model/bdd_dashboard/__init__.py
32
dashboard/model/bdd_dashboard/eventhistory.py
33
dashboard/model/bdd_dashboard/events.py
34
dashboard/model/bdd_dashboard/graph.py
35
dashboard/model/bdd_dashboard/graphgroups.py
36
dashboard/model/bdd_dashboard/grouppermissions.py
37
dashboard/model/bdd_dashboard/groups.py
38
dashboard/model/bdd_dashboard/host.py
39
dashboard/model/bdd_dashboard/hostgroups.py
40
dashboard/model/bdd_dashboard/perfdatasource.py
41
dashboard/model/bdd_dashboard/service.py
42
dashboard/model/bdd_dashboard/servicegroups.py
43
dashboard/model/bdd_dashboard/servicehautniveau.py
44
dashboard/model/bdd_dashboard/servicetopo.py
45
dashboard/public/favicon.ico
46
dashboard/public/css/style.css
47
dashboard/public/css/style_dash.css
48
dashboard/public/css/style_dash.css~
49
dashboard/public/images/contentbg.png
50
dashboard/public/images/error.png
51
dashboard/public/images/header_inner2.png
52
dashboard/public/images/headerbg.png
53
dashboard/public/images/info.png
54
dashboard/public/images/inputbg.png
55
dashboard/public/images/loginbg.png
56
dashboard/public/images/loginbottombg.png
57
dashboard/public/images/loginheader-left.png
58
dashboard/public/images/loginheader-right.png
59
dashboard/public/images/menu-item-actibg-first.png
60
dashboard/public/images/menu-item-actibg.png
61
dashboard/public/images/menu-item-border.png
62
dashboard/public/images/menubg.png
63
dashboard/public/images/ok.png
64
dashboard/public/images/pagebg.png
65
dashboard/public/images/star.png
66
dashboard/public/images/strype2.png
67
dashboard/public/images/under_the_hood_blue.png
68
dashboard/public/images/warning.png
69
dashboard/public/images_vigilo/CLEARED2.png
70
dashboard/public/images_vigilo/CLOSED.png
71
dashboard/public/images_vigilo/CRITICAL.png
72
dashboard/public/images_vigilo/CRITICAL2.png
73
dashboard/public/images_vigilo/CRITICAL_ACK.png
74
dashboard/public/images_vigilo/CRITICAL_CLOSED.png
75
dashboard/public/images_vigilo/MAJOR.png
76
dashboard/public/images_vigilo/MAJOR2.png
77
dashboard/public/images_vigilo/MINOR.png
78
dashboard/public/images_vigilo/MINOR2.png
79
dashboard/public/images_vigilo/OK.png
80
dashboard/public/images_vigilo/OK_ACK.png
81
dashboard/public/images_vigilo/OK_CLOSED.png
82
dashboard/public/images_vigilo/PENDING.png
83
dashboard/public/images_vigilo/REMOVED.png
84
dashboard/public/images_vigilo/SUPPRESSED2.png
85
dashboard/public/images_vigilo/UNKNOWN.png
86
dashboard/public/images_vigilo/UNKNOWN_ACK.png
87
dashboard/public/images_vigilo/UNKNOWN_CLOSED.png
88
dashboard/public/images_vigilo/WARNING.png
89
dashboard/public/images_vigilo/WARNING_ACK.png
90
dashboard/public/images_vigilo/WARNING_CLOSED.png
91
dashboard/public/images_vigilo/ack_icon.png
92
dashboard/public/images_vigilo/blank.gif
93
dashboard/public/images_vigilo/calendar.gif
94
dashboard/public/images_vigilo/cell_phone.gif
95
dashboard/public/images_vigilo/checked.gif
96
dashboard/public/images_vigilo/checked.png
97
dashboard/public/images_vigilo/crossed.png
98
dashboard/public/images_vigilo/ecran.png
99
dashboard/public/images_vigilo/filter.gif
100
dashboard/public/images_vigilo/filter.png
101
dashboard/public/images_vigilo/fleche_down.png
102
dashboard/public/images_vigilo/fleche_up.png
103
dashboard/public/images_vigilo/geant2.png
104
dashboard/public/images_vigilo/host.png
105
dashboard/public/images_vigilo/icn_text_lg.png
106
dashboard/public/images_vigilo/icn_text_md.png
107
dashboard/public/images_vigilo/icn_text_sm.png
108
dashboard/public/images_vigilo/icon_alarmes_critical.png
109
dashboard/public/images_vigilo/icon_alarmes_warning.png
110
dashboard/public/images_vigilo/icon_builder.gif
111
dashboard/public/images_vigilo/icon_comment.gif
112
dashboard/public/images_vigilo/icon_configuration.png
113
dashboard/public/images_vigilo/icon_demo.gif
114
dashboard/public/images_vigilo/icon_docs.gif
115
dashboard/public/images_vigilo/icon_fleche.gif
116
dashboard/public/images_vigilo/icon_help.png
117
dashboard/public/images_vigilo/icon_history.gif
118
dashboard/public/images_vigilo/icon_home.gif
119
dashboard/public/images_vigilo/icon_metrologie.png
120
dashboard/public/images_vigilo/icon_page_add.png
121
dashboard/public/images_vigilo/icon_page_delete.png
122
dashboard/public/images_vigilo/icon_page_edit.png
123
dashboard/public/images_vigilo/icon_properties.gif
124
dashboard/public/images_vigilo/icon_properties.png
125
dashboard/public/images_vigilo/icon_reporting.png
126
dashboard/public/images_vigilo/icon_zoom.gif
127
dashboard/public/images_vigilo/linux.png
128
dashboard/public/images_vigilo/minus.png
129
dashboard/public/images_vigilo/neb_ack.png
130
dashboard/public/images_vigilo/neb_blank.png
131
dashboard/public/images_vigilo/neb_closed.png
132
dashboard/public/images_vigilo/neb_pending.png
133
dashboard/public/images_vigilo/netadmin.png
134
dashboard/public/images_vigilo/none.png
135
dashboard/public/images_vigilo/plug_green.png
136
dashboard/public/images_vigilo/plug_green_small.png
137
dashboard/public/images_vigilo/plug_grey.png
138
dashboard/public/images_vigilo/plug_grey_small.png
139
dashboard/public/images_vigilo/plug_orange.png
140
dashboard/public/images_vigilo/plug_red.png
141
dashboard/public/images_vigilo/plus.png
142
dashboard/public/images_vigilo/screen.png
143
dashboard/public/images_vigilo/subtitleheader.gif
144
dashboard/public/images_vigilo/subtitleheader_active.gif
145
dashboard/public/images_vigilo/subtitleheader_right.gif
146
dashboard/public/images_vigilo/subtitleheader_right_active.gif
147
dashboard/public/images_vigilo/traps.png
148
dashboard/public/images_vigilo/wait.gif
149
dashboard/public/images_vigilo/wait2.gif
150
dashboard/public/images_vigilo/wait3.gif
151
dashboard/public/images_vigilo/wait4.gif
152
dashboard/templates/__init__.py
153
dashboard/templates/__init__.pyc
154
dashboard/templates/about.html
155
dashboard/templates/authentication.html
156
dashboard/templates/dashboard.html
157
dashboard/templates/dashboard_event_table.html
158
dashboard/templates/dashboard_event_table.html~
159
dashboard/templates/dashboard_history_table.html
160
dashboard/templates/debug.html
161
dashboard/templates/error.html
162
dashboard/templates/footer.html
163
dashboard/templates/header.html
164
dashboard/templates/index.html
165
dashboard/templates/login.html
166
dashboard/templates/master.html
167
dashboard/templates/sidebars.html
168
dashboard/templates/tryit.html
169
dashboard/tests/__init__.py
170
dashboard/tests/functional/__init__.py
171
dashboard/tests/functional/test_authentication.py
172
dashboard/tests/functional/test_root.py
173
dashboard/tests/models/__init__.py
174
dashboard/tests/models/test_auth.py
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff