소스 검색

cleaned project for open-source release

sferot 11 년 전
부모
커밋
cec707e066

+ 0 - 3
.gitignore 파일 보기

32
 nosetests.xml
32
 nosetests.xml
33
 coverage.xml
33
 coverage.xml
34
 
34
 
35
-# Translations
36
-*.mo
37
-
38
 # Mr Developer
35
 # Mr Developer
39
 .mr.developer.cfg
36
 .mr.developer.cfg
40
 .project
37
 .project

+ 40 - 0
bin/requirements.txt 파일 보기

1
+Beaker==1.6.4
2
+FormEncode==1.3.0a1
3
+Genshi==0.7
4
+Mako==1.0.0
5
+MarkupSafe==0.15
6
+PasteDeploy==1.5.2
7
+Pillow==2.4.0
8
+SQLAlchemy==0.9.4
9
+Tempita==0.5.3dev
10
+TurboGears2==2.3.2
11
+WebOb==1.4
12
+WebTest==1.4.3
13
+alembic==0.6.5
14
+backlash==0.0.5
15
+beautifulsoup4==4.3.2
16
+cliff==1.6.1
17
+cmd2==0.6.7
18
+crank==0.7.1
19
+decorator==3.4.0
20
+distribute==0.6.24
21
+gearbox==0.0.6
22
+pboard==0.1dev
23
+prettytable==0.7.2
24
+psycopg2==2.5.3
25
+pyparsing==2.0.2
26
+repoze.lru==0.6
27
+repoze.who==2.2
28
+six==1.7.2
29
+speaklater==1.3
30
+sprox==0.9.3
31
+stevedore==0.15
32
+tg.devtools==2.3.2
33
+tgext.admin==0.6.4
34
+tgext.crud==0.7.2
35
+transaction==1.4.3
36
+tw2.core==2.2.1.1
37
+tw2.forms==2.2.0.3
38
+wsgiref==0.1.2
39
+zope.interface==4.1.1
40
+zope.sqlalchemy==0.7.4

+ 5 - 6
doc/database/pod-create-database-and-user.sh 파일 보기

1
 #!/bin/bash
1
 #!/bin/bash
2
-POD_DB_USER='pod_protov1_dev'
3
-POD_DB_USER_PASSWORD='pod_protov1_dev_password'
4
-POD_DB_NAME='pod_protov1_dev'
2
+POD_DB_USER='pod_user'
3
+POD_DB_USER_PASSWORD='pod_user_password'
4
+POD_DB_NAME='pod'
5
 
5
 
6
 # DB_HOST='127.0.0.1'
6
 # DB_HOST='127.0.0.1'
7
 # DB_PORT='5432'
7
 # DB_PORT='5432'
45
 # psql -c "DROP USER pod_master;"
45
 # psql -c "DROP USER pod_master;"
46
 
46
 
47
 echo
47
 echo
48
-echo "You can now init schema and data by running the following commands:"
48
+echo "You can now init schema and data by running the following command:"
49
 echo
49
 echo
50
-echo "psql -h 127.0.0.1 -U ${POD_DB_USER} -W ${POD_DB_NAME} < pod-schema-2013.11.15-15.54.45.sql"
51
-echo "psql -h 127.0.0.1 -U ${POD_DB_USER} -W ${POD_DB_NAME} < pod-init-data-2013.11.15-15.54.45.sql"
50
+echo "psql -h 127.0.0.1 -U ${POD_DB_USER} -W ${POD_DB_NAME} < pod-init-database.sql"
52
 echo 
51
 echo 
53
 echo "note that you'll be asked for the password"
52
 echo "note that you'll be asked for the password"

+ 0 - 10
doc/database/pod-init-data-2013.11.15-15.54.45.sql 파일 보기

1
---
2
---
3
-
4
-SET statement_timeout = 0;
5
-SET client_encoding = 'UTF8';
6
-SET standard_conforming_strings = on;
7
-SET check_function_bodies = false;
8
-SET client_min_messages = warning;
9
-
10
-INSERT INTO pod_group(group_id, group_name, display_name, created) VALUES ('1', 'user', 'Users', NOW());

+ 638 - 0
doc/database/pod-init-database.sql 파일 보기

1
+--
2
+-- PostgreSQL database dump
3
+--
4
+
5
+SET statement_timeout = 0;
6
+SET client_encoding = 'UTF8';
7
+SET standard_conforming_strings = on;
8
+SET check_function_bodies = false;
9
+SET client_min_messages = warning;
10
+
11
+--
12
+-- Name: plpgsql; Type: EXTENSION; Schema: -; Owner: 
13
+--
14
+
15
+CREATE EXTENSION IF NOT EXISTS plpgsql WITH SCHEMA pg_catalog;
16
+
17
+
18
+--
19
+-- Name: EXTENSION plpgsql; Type: COMMENT; Schema: -; Owner: 
20
+--
21
+
22
+COMMENT ON EXTENSION plpgsql IS 'PL/pgSQL procedural language';
23
+
24
+
25
+SET search_path = public, pg_catalog;
26
+
27
+--
28
+-- Name: pod_update_node(); Type: FUNCTION; Schema: public; Owner: pod_intranet
29
+--
30
+
31
+CREATE FUNCTION pod_update_node() RETURNS trigger
32
+    LANGUAGE plpgsql
33
+    AS $$
34
+BEGIN
35
+INSERT INTO pod_nodes_history (node_id, parent_id, node_order, node_type, created_at, updated_at, 
36
+       data_label, data_content, data_datetime, node_status, data_reminder_datetime, 
37
+       data_file_name, data_file_content, data_file_mime_type, parent_tree_path, 
38
+       node_depth, owner_id, version_id, is_shared, is_public, public_url_key) VALUES (NEW.node_id, NEW.parent_id, NEW.node_order, NEW.node_type, NEW.created_at, NEW.updated_at, NEW.data_label, NEW.data_content, NEW.data_datetime, NEW.node_status, NEW.data_reminder_datetime, NEW.data_file_name, NEW.data_file_content, NEW.data_file_mime_type, NEW.parent_tree_path, NEW.node_depth, NEW.owner_id, nextval('pod_nodes_version_id_sequence'), NEW.is_shared, NEW.is_public, NEW.public_url_key);
39
+return new;
40
+END;
41
+$$;
42
+
43
+
44
+ALTER FUNCTION public.pod_update_node() OWNER TO pod_intranet;
45
+
46
+--
47
+-- Name: set_created_at(); Type: FUNCTION; Schema: public; Owner: pod_intranet
48
+--
49
+
50
+CREATE FUNCTION set_created_at() RETURNS trigger
51
+    LANGUAGE plpgsql
52
+    AS $$
53
+BEGIN
54
+    NEW.created_at = CURRENT_TIMESTAMP;
55
+    NEW.updated_at = CURRENT_TIMESTAMP;
56
+    RETURN NEW;
57
+END;
58
+$$;
59
+
60
+
61
+ALTER FUNCTION public.set_created_at() OWNER TO pod_intranet;
62
+
63
+--
64
+-- Name: set_updated_at(); Type: FUNCTION; Schema: public; Owner: pod_intranet
65
+--
66
+
67
+CREATE FUNCTION set_updated_at() RETURNS trigger
68
+    LANGUAGE plpgsql
69
+    AS $$
70
+BEGIN
71
+    NEW.updated_at = CURRENT_TIMESTAMP;
72
+    RETURN NEW;
73
+END;
74
+$$;
75
+
76
+
77
+ALTER FUNCTION public.set_updated_at() OWNER TO pod_intranet;
78
+
79
+SET default_tablespace = '';
80
+
81
+SET default_with_oids = false;
82
+
83
+--
84
+-- Name: migrate_version; Type: TABLE; Schema: public; Owner: pod_intranet; Tablespace: 
85
+--
86
+
87
+CREATE TABLE migrate_version (
88
+    version_num character varying(32) NOT NULL
89
+);
90
+
91
+
92
+ALTER TABLE public.migrate_version OWNER TO pod_intranet;
93
+
94
+--
95
+-- Name: pod_group; Type: TABLE; Schema: public; Owner: pod_intranet; Tablespace: 
96
+--
97
+
98
+CREATE TABLE pod_group (
99
+    group_id integer NOT NULL,
100
+    group_name character varying(16) NOT NULL,
101
+    display_name character varying(255),
102
+    created timestamp without time zone,
103
+    personnal_group boolean
104
+);
105
+
106
+
107
+ALTER TABLE public.pod_group OWNER TO pod_intranet;
108
+
109
+--
110
+-- Name: pod_group_group_id_seq; Type: SEQUENCE; Schema: public; Owner: pod_intranet
111
+--
112
+
113
+CREATE SEQUENCE pod_group_group_id_seq
114
+    START WITH 1
115
+    INCREMENT BY 1
116
+    NO MINVALUE
117
+    NO MAXVALUE
118
+    CACHE 1;
119
+
120
+
121
+ALTER TABLE public.pod_group_group_id_seq OWNER TO pod_intranet;
122
+
123
+--
124
+-- Name: pod_group_group_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: pod_intranet
125
+--
126
+
127
+ALTER SEQUENCE pod_group_group_id_seq OWNED BY pod_group.group_id;
128
+
129
+
130
+--
131
+-- Name: pod_group_node; Type: TABLE; Schema: public; Owner: pod_intranet; Tablespace: 
132
+--
133
+
134
+CREATE TABLE pod_group_node (
135
+    group_id integer NOT NULL,
136
+    node_id integer NOT NULL,
137
+    rights integer
138
+);
139
+
140
+
141
+ALTER TABLE public.pod_group_node OWNER TO pod_intranet;
142
+
143
+--
144
+-- Name: pod_group_permission; Type: TABLE; Schema: public; Owner: pod_intranet; Tablespace: 
145
+--
146
+
147
+CREATE TABLE pod_group_permission (
148
+    group_id integer NOT NULL,
149
+    permission_id integer NOT NULL
150
+);
151
+
152
+
153
+ALTER TABLE public.pod_group_permission OWNER TO pod_intranet;
154
+
155
+
156
+--
157
+-- Name: pod_nodes_version_id_sequence; Type: SEQUENCE; Schema: public; Owner: pod_intranet
158
+--
159
+
160
+CREATE SEQUENCE pod_nodes_version_id_sequence
161
+    START WITH 1
162
+    INCREMENT BY 1
163
+    NO MINVALUE
164
+    NO MAXVALUE
165
+    CACHE 1;
166
+
167
+
168
+ALTER TABLE public.pod_nodes_version_id_sequence OWNER TO pod_intranet;
169
+
170
+--
171
+-- Name: pod_nodes_history; Type: TABLE; Schema: public; Owner: pod_intranet; Tablespace: 
172
+--
173
+
174
+CREATE TABLE pod_nodes_history (
175
+    node_id integer NOT NULL,
176
+    parent_id integer,
177
+    node_order integer DEFAULT 1,
178
+    node_type character varying(16) DEFAULT 'data'::character varying NOT NULL,
179
+    created_at timestamp without time zone,
180
+    updated_at timestamp without time zone,
181
+    data_label character varying(1024),
182
+    data_content text DEFAULT ''::text NOT NULL,
183
+    data_datetime timestamp without time zone,
184
+    node_status character varying(16) DEFAULT 'new'::character varying,
185
+    data_reminder_datetime timestamp without time zone,
186
+    data_file_name character varying(255),
187
+    data_file_content bytea,
188
+    data_file_mime_type character varying(255),
189
+    parent_tree_path character varying(255),
190
+    node_depth integer DEFAULT 0 NOT NULL,
191
+    owner_id integer,
192
+    version_id integer DEFAULT nextval('pod_nodes_version_id_sequence'::regclass) NOT NULL,
193
+    is_shared boolean DEFAULT false NOT NULL,
194
+    is_public boolean DEFAULT false NOT NULL,
195
+    public_url_key character varying(1024)
196
+);
197
+
198
+
199
+ALTER TABLE public.pod_nodes_history OWNER TO pod_intranet;
200
+
201
+--
202
+-- Name: pod_nodes; Type: VIEW; Schema: public; Owner: pod_intranet
203
+--
204
+
205
+CREATE VIEW pod_nodes AS
206
+    SELECT DISTINCT ON (pod_nodes_history.node_id) pod_nodes_history.node_id, pod_nodes_history.parent_id, pod_nodes_history.node_order, pod_nodes_history.node_type, pod_nodes_history.created_at, pod_nodes_history.updated_at, pod_nodes_history.data_label, pod_nodes_history.data_content, pod_nodes_history.data_datetime, pod_nodes_history.node_status, pod_nodes_history.data_reminder_datetime, pod_nodes_history.data_file_name, pod_nodes_history.data_file_content, pod_nodes_history.data_file_mime_type, pod_nodes_history.parent_tree_path, pod_nodes_history.node_depth, pod_nodes_history.owner_id, pod_nodes_history.is_shared, pod_nodes_history.is_public, pod_nodes_history.public_url_key FROM pod_nodes_history ORDER BY pod_nodes_history.node_id, pod_nodes_history.updated_at DESC;
207
+
208
+
209
+ALTER TABLE public.pod_nodes OWNER TO pod_intranet;
210
+
211
+--
212
+-- Name: pod_nodes__node_id__sequence; Type: SEQUENCE; Schema: public; Owner: pod_intranet
213
+--
214
+
215
+CREATE SEQUENCE pod_nodes__node_id__sequence
216
+    START WITH 1
217
+    INCREMENT BY 1
218
+    NO MINVALUE
219
+    NO MAXVALUE
220
+    CACHE 1;
221
+
222
+
223
+ALTER TABLE public.pod_nodes__node_id__sequence OWNER TO pod_intranet;
224
+
225
+--
226
+-- Name: pod_nodes__node_id__sequence; Type: SEQUENCE OWNED BY; Schema: public; Owner: pod_intranet
227
+--
228
+
229
+ALTER SEQUENCE pod_nodes__node_id__sequence OWNED BY pod_nodes_history.node_id;
230
+
231
+
232
+--
233
+-- Name: pod_permission; Type: TABLE; Schema: public; Owner: pod_intranet; Tablespace: 
234
+--
235
+
236
+CREATE TABLE pod_permission (
237
+    permission_id integer NOT NULL,
238
+    permission_name character varying(63) NOT NULL,
239
+    description character varying(255)
240
+);
241
+
242
+
243
+ALTER TABLE public.pod_permission OWNER TO pod_intranet;
244
+
245
+--
246
+-- Name: pod_permission_permission_id_seq; Type: SEQUENCE; Schema: public; Owner: pod_intranet
247
+--
248
+
249
+CREATE SEQUENCE pod_permission_permission_id_seq
250
+    START WITH 1
251
+    INCREMENT BY 1
252
+    NO MINVALUE
253
+    NO MAXVALUE
254
+    CACHE 1;
255
+
256
+
257
+ALTER TABLE public.pod_permission_permission_id_seq OWNER TO pod_intranet;
258
+
259
+--
260
+-- Name: pod_permission_permission_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: pod_intranet
261
+--
262
+
263
+ALTER SEQUENCE pod_permission_permission_id_seq OWNED BY pod_permission.permission_id;
264
+
265
+
266
+--
267
+-- Name: pod_user; Type: TABLE; Schema: public; Owner: pod_intranet; Tablespace: 
268
+--
269
+
270
+CREATE TABLE pod_user (
271
+    user_id integer NOT NULL,
272
+    email_address character varying(255) NOT NULL,
273
+    display_name character varying(255),
274
+    password character varying(128),
275
+    created timestamp without time zone
276
+);
277
+
278
+
279
+ALTER TABLE public.pod_user OWNER TO pod_intranet;
280
+
281
+--
282
+-- Name: pod_user_group; Type: TABLE; Schema: public; Owner: pod_intranet; Tablespace: 
283
+--
284
+
285
+CREATE TABLE pod_user_group (
286
+    user_id integer NOT NULL,
287
+    group_id integer NOT NULL
288
+);
289
+
290
+
291
+ALTER TABLE public.pod_user_group OWNER TO pod_intranet;
292
+
293
+--
294
+-- Name: pod_user_user_id_seq; Type: SEQUENCE; Schema: public; Owner: pod_intranet
295
+--
296
+
297
+CREATE SEQUENCE pod_user_user_id_seq
298
+    START WITH 1
299
+    INCREMENT BY 1
300
+    NO MINVALUE
301
+    NO MAXVALUE
302
+    CACHE 1;
303
+
304
+
305
+ALTER TABLE public.pod_user_user_id_seq OWNER TO pod_intranet;
306
+
307
+--
308
+-- Name: pod_user_user_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: pod_intranet
309
+--
310
+
311
+ALTER SEQUENCE pod_user_user_id_seq OWNED BY pod_user.user_id;
312
+
313
+
314
+--
315
+-- Name: group_id; Type: DEFAULT; Schema: public; Owner: pod_intranet
316
+--
317
+
318
+ALTER TABLE ONLY pod_group ALTER COLUMN group_id SET DEFAULT nextval('pod_group_group_id_seq'::regclass);
319
+
320
+
321
+--
322
+-- Name: node_id; Type: DEFAULT; Schema: public; Owner: pod_intranet
323
+--
324
+
325
+ALTER TABLE ONLY pod_nodes_history ALTER COLUMN node_id SET DEFAULT nextval('pod_nodes__node_id__sequence'::regclass);
326
+
327
+
328
+--
329
+-- Name: permission_id; Type: DEFAULT; Schema: public; Owner: pod_intranet
330
+--
331
+
332
+ALTER TABLE ONLY pod_permission ALTER COLUMN permission_id SET DEFAULT nextval('pod_permission_permission_id_seq'::regclass);
333
+
334
+
335
+--
336
+-- Name: user_id; Type: DEFAULT; Schema: public; Owner: pod_intranet
337
+--
338
+
339
+ALTER TABLE ONLY pod_user ALTER COLUMN user_id SET DEFAULT nextval('pod_user_user_id_seq'::regclass);
340
+
341
+
342
+--
343
+-- Data for Name: migrate_version; Type: TABLE DATA; Schema: public; Owner: pod_intranet
344
+--
345
+
346
+COPY migrate_version (version_num) FROM stdin;
347
+\.
348
+
349
+
350
+--
351
+-- Data for Name: pod_group; Type: TABLE DATA; Schema: public; Owner: pod_intranet
352
+--
353
+
354
+COPY pod_group (group_id, group_name, display_name, created, personnal_group) FROM stdin;
355
+1	managers	Managers	\N	f
356
+3	admin	Admin	\N	f
357
+-1	user_1	\N	2014-06-11 10:55:36.163634	t
358
+2	user	All Users	\N	f
359
+\.
360
+
361
+
362
+--
363
+-- Name: pod_group_group_id_seq; Type: SEQUENCE SET; Schema: public; Owner: pod_intranet
364
+--
365
+
366
+SELECT pg_catalog.setval('pod_group_group_id_seq', 1, false);
367
+
368
+
369
+--
370
+-- Data for Name: pod_group_node; Type: TABLE DATA; Schema: public; Owner: pod_intranet
371
+--
372
+
373
+COPY pod_group_node (group_id, node_id, rights) FROM stdin;
374
+2	1	3
375
+2	2	3
376
+2	3	3
377
+2	4	3
378
+2	5	3
379
+2	6	3
380
+2	7	3
381
+2	8	3
382
+2	9	3
383
+2	10	3
384
+2	11	3
385
+2	12	3
386
+2	13	3
387
+2	14	3
388
+2	15	3
389
+2	16	3
390
+2	17	3
391
+2	18	3
392
+2	19	3
393
+2	20	3
394
+2	21	3
395
+2	22	3
396
+2	23	3
397
+2	24	3
398
+2	25	3
399
+\.
400
+
401
+
402
+--
403
+-- Data for Name: pod_group_permission; Type: TABLE DATA; Schema: public; Owner: pod_intranet
404
+--
405
+
406
+COPY pod_group_permission (group_id, permission_id) FROM stdin;
407
+\.
408
+
409
+--
410
+-- Name: pod_nodes__node_id__sequence; Type: SEQUENCE SET; Schema: public; Owner: pod_intranet
411
+--
412
+
413
+SELECT pg_catalog.setval('pod_nodes__node_id__sequence', 25, true);
414
+
415
+--
416
+-- Name: pod_nodes_version_id_sequence; Type: SEQUENCE SET; Schema: public; Owner: pod_intranet
417
+--
418
+
419
+SELECT pg_catalog.setval('pod_nodes_version_id_sequence', 41, true);
420
+
421
+
422
+--
423
+-- Data for Name: pod_permission; Type: TABLE DATA; Schema: public; Owner: pod_intranet
424
+--
425
+
426
+COPY pod_permission (permission_id, permission_name, description) FROM stdin;
427
+\.
428
+
429
+
430
+--
431
+-- Name: pod_permission_permission_id_seq; Type: SEQUENCE SET; Schema: public; Owner: pod_intranet
432
+--
433
+
434
+SELECT pg_catalog.setval('pod_permission_permission_id_seq', 1, false);
435
+
436
+
437
+--
438
+-- Data for Name: pod_user; Type: TABLE DATA; Schema: public; Owner: pod_intranet
439
+--
440
+
441
+COPY pod_user (user_id, email_address, display_name, password, created) FROM stdin;
442
+1	admin@localhost	Admin	b0c2243d8052ebc30e446d557b3249ed143e0ba6922ec49d9c53f3c1a533ae25b5dc4ec00d6cc3dd9fc9c74107e9914b3ace56ba8ded846bda9c140c0d6f721e	2014-06-11 10:55:36.15707
443
+\.
444
+
445
+
446
+--
447
+-- Data for Name: pod_user_group; Type: TABLE DATA; Schema: public; Owner: pod_intranet
448
+--
449
+
450
+COPY pod_user_group (user_id, group_id) FROM stdin;
451
+1	2
452
+1	-1
453
+\.
454
+
455
+
456
+--
457
+-- Name: pod_user_user_id_seq; Type: SEQUENCE SET; Schema: public; Owner: pod_intranet
458
+--
459
+
460
+SELECT pg_catalog.setval('pod_user_user_id_seq', 1, true);
461
+
462
+
463
+--
464
+-- Name: pod_group_group_name_key; Type: CONSTRAINT; Schema: public; Owner: pod_intranet; Tablespace: 
465
+--
466
+
467
+ALTER TABLE ONLY pod_group
468
+    ADD CONSTRAINT pod_group_group_name_key UNIQUE (group_name);
469
+
470
+
471
+--
472
+-- Name: pod_group_node_pkey; Type: CONSTRAINT; Schema: public; Owner: pod_intranet; Tablespace: 
473
+--
474
+
475
+ALTER TABLE ONLY pod_group_node
476
+    ADD CONSTRAINT pod_group_node_pkey PRIMARY KEY (group_id, node_id);
477
+
478
+
479
+--
480
+-- Name: pod_group_permission_pkey; Type: CONSTRAINT; Schema: public; Owner: pod_intranet; Tablespace: 
481
+--
482
+
483
+ALTER TABLE ONLY pod_group_permission
484
+    ADD CONSTRAINT pod_group_permission_pkey PRIMARY KEY (group_id, permission_id);
485
+
486
+
487
+--
488
+-- Name: pod_group_pkey; Type: CONSTRAINT; Schema: public; Owner: pod_intranet; Tablespace: 
489
+--
490
+
491
+ALTER TABLE ONLY pod_group
492
+    ADD CONSTRAINT pod_group_pkey PRIMARY KEY (group_id);
493
+
494
+
495
+--
496
+-- Name: pod_nodes_history_pkey; Type: CONSTRAINT; Schema: public; Owner: pod_intranet; Tablespace: 
497
+--
498
+
499
+ALTER TABLE ONLY pod_nodes_history
500
+    ADD CONSTRAINT pod_nodes_history_pkey PRIMARY KEY (version_id);
501
+
502
+
503
+--
504
+-- Name: pod_permission_permission_name_key; Type: CONSTRAINT; Schema: public; Owner: pod_intranet; Tablespace: 
505
+--
506
+
507
+ALTER TABLE ONLY pod_permission
508
+    ADD CONSTRAINT pod_permission_permission_name_key UNIQUE (permission_name);
509
+
510
+
511
+--
512
+-- Name: pod_permission_pkey; Type: CONSTRAINT; Schema: public; Owner: pod_intranet; Tablespace: 
513
+--
514
+
515
+ALTER TABLE ONLY pod_permission
516
+    ADD CONSTRAINT pod_permission_pkey PRIMARY KEY (permission_id);
517
+
518
+
519
+--
520
+-- Name: pod_user_email_address_key; Type: CONSTRAINT; Schema: public; Owner: pod_intranet; Tablespace: 
521
+--
522
+
523
+ALTER TABLE ONLY pod_user
524
+    ADD CONSTRAINT pod_user_email_address_key UNIQUE (email_address);
525
+
526
+
527
+--
528
+-- Name: pod_user_group_pkey; Type: CONSTRAINT; Schema: public; Owner: pod_intranet; Tablespace: 
529
+--
530
+
531
+ALTER TABLE ONLY pod_user_group
532
+    ADD CONSTRAINT pod_user_group_pkey PRIMARY KEY (user_id, group_id);
533
+
534
+
535
+--
536
+-- Name: pod_user_pkey; Type: CONSTRAINT; Schema: public; Owner: pod_intranet; Tablespace: 
537
+--
538
+
539
+ALTER TABLE ONLY pod_user
540
+    ADD CONSTRAINT pod_user_pkey PRIMARY KEY (user_id);
541
+
542
+
543
+--
544
+-- Name: fki_pod_nodes__owner_id_fk; Type: INDEX; Schema: public; Owner: pod_intranet; Tablespace: 
545
+--
546
+
547
+CREATE INDEX fki_pod_nodes__owner_id_fk ON pod_nodes_history USING btree (owner_id);
548
+
549
+
550
+--
551
+-- Name: fki_pod_nodes__parent_id_fk; Type: INDEX; Schema: public; Owner: pod_intranet; Tablespace: 
552
+--
553
+
554
+CREATE INDEX fki_pod_nodes__parent_id_fk ON pod_nodes_history USING btree (parent_id);
555
+
556
+
557
+--
558
+-- Name: idx_pod_nodes__parent_tree_path; Type: INDEX; Schema: public; Owner: pod_intranet; Tablespace: 
559
+--
560
+
561
+CREATE INDEX idx_pod_nodes__parent_tree_path ON pod_nodes_history USING btree (parent_tree_path);
562
+
563
+
564
+--
565
+-- Name: pod_insert_new_node; Type: RULE; Schema: public; Owner: pod_intranet
566
+--
567
+
568
+CREATE RULE pod_insert_new_node AS ON INSERT TO pod_nodes DO INSTEAD INSERT INTO pod_nodes_history (node_id, parent_id, node_order, node_type, created_at, updated_at, data_label, data_content, data_datetime, node_status, data_reminder_datetime, data_file_name, data_file_content, data_file_mime_type, parent_tree_path, node_depth, owner_id, version_id, is_shared, is_public, public_url_key) VALUES (nextval('pod_nodes__node_id__sequence'::regclass), new.parent_id, new.node_order, new.node_type, new.created_at, new.updated_at, new.data_label, new.data_content, new.data_datetime, new.node_status, new.data_reminder_datetime, new.data_file_name, new.data_file_content, new.data_file_mime_type, new.parent_tree_path, new.node_depth, new.owner_id, nextval('pod_nodes_version_id_sequence'::regclass), new.is_shared, new.is_public, new.public_url_key) RETURNING pod_nodes_history.node_id, pod_nodes_history.parent_id, pod_nodes_history.node_order, pod_nodes_history.node_type, pod_nodes_history.created_at, pod_nodes_history.updated_at, pod_nodes_history.data_label, pod_nodes_history.data_content, pod_nodes_history.data_datetime, pod_nodes_history.node_status, pod_nodes_history.data_reminder_datetime, pod_nodes_history.data_file_name, pod_nodes_history.data_file_content, pod_nodes_history.data_file_mime_type, pod_nodes_history.parent_tree_path, pod_nodes_history.node_depth, pod_nodes_history.owner_id, pod_nodes_history.is_shared, pod_nodes_history.is_public, pod_nodes_history.public_url_key;
569
+
570
+
571
+--
572
+-- Name: pod_nodes__on_insert_set_created_at; Type: TRIGGER; Schema: public; Owner: pod_intranet
573
+--
574
+
575
+CREATE TRIGGER pod_nodes__on_insert_set_created_at BEFORE INSERT ON pod_nodes_history FOR EACH ROW EXECUTE PROCEDURE set_created_at();
576
+
577
+
578
+--
579
+-- Name: pod_nodes__on_update_set_updated_at; Type: TRIGGER; Schema: public; Owner: pod_intranet
580
+--
581
+
582
+CREATE TRIGGER pod_nodes__on_update_set_updated_at BEFORE UPDATE ON pod_nodes_history FOR EACH ROW EXECUTE PROCEDURE set_updated_at();
583
+
584
+
585
+--
586
+-- Name: pod_update_node_tg; Type: TRIGGER; Schema: public; Owner: pod_intranet
587
+--
588
+
589
+CREATE TRIGGER pod_update_node_tg INSTEAD OF UPDATE ON pod_nodes FOR EACH ROW EXECUTE PROCEDURE pod_update_node();
590
+
591
+
592
+--
593
+-- Name: pod_group_node_group_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: pod_intranet
594
+--
595
+
596
+ALTER TABLE ONLY pod_group_node
597
+    ADD CONSTRAINT pod_group_node_group_id_fkey FOREIGN KEY (group_id) REFERENCES pod_group(group_id) ON UPDATE CASCADE ON DELETE CASCADE;
598
+
599
+
600
+--
601
+-- Name: pod_group_permission_group_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: pod_intranet
602
+--
603
+
604
+ALTER TABLE ONLY pod_group_permission
605
+    ADD CONSTRAINT pod_group_permission_group_id_fkey FOREIGN KEY (group_id) REFERENCES pod_group(group_id) ON UPDATE CASCADE ON DELETE CASCADE;
606
+
607
+
608
+--
609
+-- Name: pod_group_permission_permission_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: pod_intranet
610
+--
611
+
612
+ALTER TABLE ONLY pod_group_permission
613
+    ADD CONSTRAINT pod_group_permission_permission_id_fkey FOREIGN KEY (permission_id) REFERENCES pod_permission(permission_id) ON UPDATE CASCADE ON DELETE CASCADE;
614
+
615
+
616
+--
617
+-- Name: pod_nodes__owner_id_fk; Type: FK CONSTRAINT; Schema: public; Owner: pod_intranet
618
+--
619
+
620
+ALTER TABLE ONLY pod_nodes_history
621
+    ADD CONSTRAINT pod_nodes__owner_id_fk FOREIGN KEY (owner_id) REFERENCES pod_user(user_id);
622
+
623
+
624
+--
625
+-- Name: pod_user_group_group_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: pod_intranet
626
+--
627
+
628
+ALTER TABLE ONLY pod_user_group
629
+    ADD CONSTRAINT pod_user_group_group_id_fkey FOREIGN KEY (group_id) REFERENCES pod_group(group_id) ON UPDATE CASCADE ON DELETE CASCADE;
630
+
631
+
632
+--
633
+-- Name: pod_user_group_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: pod_intranet
634
+--
635
+
636
+ALTER TABLE ONLY pod_user_group
637
+    ADD CONSTRAINT pod_user_group_user_id_fkey FOREIGN KEY (user_id) REFERENCES pod_user(user_id) ON UPDATE CASCADE ON DELETE CASCADE;
638
+

+ 0 - 274
doc/database/pod-schema-2013.11.15-15.54.45.sql 파일 보기

1
---
2
---
3
-
4
-SET statement_timeout = 0;
5
-SET client_encoding = 'UTF8';
6
-SET standard_conforming_strings = on;
7
-SET check_function_bodies = false;
8
-SET client_min_messages = warning;
9
-
10
-CREATE EXTENSION IF NOT EXISTS plpgsql WITH SCHEMA pg_catalog;
11
-COMMENT ON EXTENSION plpgsql IS 'PL/pgSQL procedural language';
12
-
13
-
14
-SET search_path = public, pg_catalog;
15
-
16
-CREATE FUNCTION set_created_at() RETURNS trigger
17
-    LANGUAGE plpgsql
18
-    AS $$
19
-BEGIN
20
-    NEW.created_at = CURRENT_TIMESTAMP;
21
-    NEW.updated_at = CURRENT_TIMESTAMP;
22
-    RETURN NEW;
23
-END;
24
-$$;
25
-
26
-
27
-ALTER FUNCTION public.set_created_at() OWNER TO pod_master;
28
-
29
-CREATE FUNCTION set_updated_at() RETURNS trigger
30
-    LANGUAGE plpgsql
31
-    AS $$
32
-BEGIN
33
-    NEW.updated_at = CURRENT_TIMESTAMP;
34
-    RETURN NEW;
35
-END;
36
-$$;
37
-
38
-
39
-ALTER FUNCTION public.set_updated_at() OWNER TO pod_master;
40
-
41
-SET default_tablespace = '';
42
-
43
-SET default_with_oids = false;
44
-
45
-CREATE TABLE migrate_version (
46
-    version_num character varying(32) NOT NULL
47
-);
48
-
49
-ALTER TABLE public.migrate_version OWNER TO pod_master;
50
-
51
-CREATE TABLE pod_node_status (
52
-    status_type character varying(16) NOT NULL,
53
-    status_id character varying(16) NOT NULL,
54
-    status_label character varying(256),
55
-    hexa_color_foreground character(7),
56
-    hexa_color_background character(7)
57
-);
58
-
59
-ALTER TABLE public.pod_node_status OWNER TO pod_master;
60
-
61
-CREATE TABLE pod_nodes (
62
-    node_id integer NOT NULL,
63
-    parent_id integer,
64
-    node_order integer DEFAULT 1,
65
-    node_type character varying(16) DEFAULT 'data'::character varying NOT NULL,
66
-    created_at timestamp without time zone,
67
-    updated_at timestamp without time zone,
68
-    data_label character varying(1024),
69
-    data_content text DEFAULT ''::text NOT NULL,
70
-    data_datetime timestamp without time zone,
71
-    node_status character varying(16) DEFAULT 'new'::character varying,
72
-    data_reminder_datetime timestamp without time zone,
73
-    data_file_name character varying(255),
74
-    data_file_content bytea,
75
-    data_file_mime_type character varying(255),
76
-    parent_tree_path character varying(255),
77
-    node_depth integer DEFAULT 0 NOT NULL,
78
-    owner_id integer
79
-);
80
-
81
-
82
-ALTER TABLE public.pod_nodes OWNER TO pod_master;
83
-
84
-CREATE SEQUENCE pod_nodes__node_id__sequence
85
-    START WITH 1
86
-    INCREMENT BY 1
87
-    NO MINVALUE
88
-    NO MAXVALUE
89
-    CACHE 1;
90
-
91
-
92
-ALTER TABLE public.pod_nodes__node_id__sequence OWNER TO pod_master;
93
-
94
-ALTER SEQUENCE pod_nodes__node_id__sequence OWNED BY pod_nodes.node_id;
95
-
96
-
97
-CREATE TABLE pod_group (
98
-    group_id integer NOT NULL,
99
-    group_name character varying(16) NOT NULL,
100
-    display_name character varying(255),
101
-    created timestamp without time zone
102
-);
103
-
104
-
105
-ALTER TABLE public.pod_group OWNER TO pod_master;
106
-
107
-CREATE SEQUENCE pod_group_group_id_seq
108
-    START WITH 1
109
-    INCREMENT BY 1
110
-    NO MINVALUE
111
-    NO MAXVALUE
112
-    CACHE 1;
113
-
114
-
115
-ALTER TABLE public.pod_group_group_id_seq OWNER TO pod_master;
116
-
117
-ALTER SEQUENCE pod_group_group_id_seq OWNED BY pod_group.group_id;
118
-
119
-
120
-CREATE TABLE pod_group_permission (
121
-    group_id integer NOT NULL,
122
-    permission_id integer NOT NULL
123
-);
124
-
125
-
126
-ALTER TABLE public.pod_group_permission OWNER TO pod_master;
127
-
128
-CREATE TABLE pod_permission (
129
-    permission_id integer NOT NULL,
130
-    permission_name character varying(63) NOT NULL,
131
-    description character varying(255)
132
-);
133
-
134
-
135
-ALTER TABLE public.pod_permission OWNER TO pod_master;
136
-
137
-CREATE SEQUENCE pod_permission_permission_id_seq
138
-    START WITH 1
139
-    INCREMENT BY 1
140
-    NO MINVALUE
141
-    NO MAXVALUE
142
-    CACHE 1;
143
-
144
-
145
-ALTER TABLE public.pod_permission_permission_id_seq OWNER TO pod_master;
146
-
147
-ALTER SEQUENCE pod_permission_permission_id_seq OWNED BY pod_permission.permission_id;
148
-
149
-
150
-CREATE TABLE pod_user (
151
-    user_id integer NOT NULL,
152
-    email_address character varying(255) NOT NULL,
153
-    display_name character varying(255),
154
-    password character varying(128),
155
-    created timestamp without time zone
156
-);
157
-
158
-
159
-ALTER TABLE public.pod_user OWNER TO pod_master;
160
-
161
-CREATE TABLE pod_user_group (
162
-    user_id integer NOT NULL,
163
-    group_id integer NOT NULL
164
-);
165
-
166
-
167
-ALTER TABLE public.pod_user_group OWNER TO pod_master;
168
-
169
-CREATE SEQUENCE pod_user_user_id_seq
170
-    START WITH 1
171
-    INCREMENT BY 1
172
-    NO MINVALUE
173
-    NO MAXVALUE
174
-    CACHE 1;
175
-
176
-
177
-ALTER TABLE public.pod_user_user_id_seq OWNER TO pod_master;
178
-
179
-ALTER SEQUENCE pod_user_user_id_seq OWNED BY pod_user.user_id;
180
-
181
-
182
-ALTER TABLE ONLY pod_nodes ALTER COLUMN node_id SET DEFAULT nextval('pod_nodes__node_id__sequence'::regclass);
183
-
184
-ALTER TABLE ONLY pod_group ALTER COLUMN group_id SET DEFAULT nextval('pod_group_group_id_seq'::regclass);
185
-
186
-
187
-ALTER TABLE ONLY pod_permission ALTER COLUMN permission_id SET DEFAULT nextval('pod_permission_permission_id_seq'::regclass);
188
-
189
-
190
-ALTER TABLE ONLY pod_user ALTER COLUMN user_id SET DEFAULT nextval('pod_user_user_id_seq'::regclass);
191
-
192
-ALTER TABLE ONLY pod_node_status
193
-    ADD CONSTRAINT pod_node_status__pk PRIMARY KEY (status_id);
194
-
195
-ALTER TABLE ONLY pod_nodes
196
-    ADD CONSTRAINT pod_nodes_pk PRIMARY KEY (node_id);
197
-
198
-
199
-ALTER TABLE ONLY pod_group
200
-    ADD CONSTRAINT pod_group_group_name_key UNIQUE (group_name);
201
-
202
-
203
-ALTER TABLE ONLY pod_group_permission
204
-    ADD CONSTRAINT pod_group_permission_pkey PRIMARY KEY (group_id, permission_id);
205
-
206
-
207
-ALTER TABLE ONLY pod_group
208
-    ADD CONSTRAINT pod_group_pkey PRIMARY KEY (group_id);
209
-
210
-
211
-ALTER TABLE ONLY pod_permission
212
-    ADD CONSTRAINT pod_permission_permission_name_key UNIQUE (permission_name);
213
-
214
-
215
-ALTER TABLE ONLY pod_permission
216
-    ADD CONSTRAINT pod_permission_pkey PRIMARY KEY (permission_id);
217
-
218
-
219
-ALTER TABLE ONLY pod_user
220
-    ADD CONSTRAINT pod_user_email_address_key UNIQUE (email_address);
221
-
222
-
223
-ALTER TABLE ONLY pod_user_group
224
-    ADD CONSTRAINT pod_user_group_pkey PRIMARY KEY (user_id, group_id);
225
-
226
-
227
-ALTER TABLE ONLY pod_user
228
-    ADD CONSTRAINT pod_user_pkey PRIMARY KEY (user_id);
229
-
230
-
231
-CREATE INDEX fki_pod_nodes__owner_id_fk ON pod_nodes USING btree (owner_id);
232
-
233
-
234
-CREATE INDEX fki_pod_nodes__parent_id_fk ON pod_nodes USING btree (parent_id);
235
-
236
-
237
-CREATE INDEX idx_pod_nodes__parent_tree_path ON pod_nodes USING btree (parent_tree_path);
238
-
239
-
240
-CREATE TRIGGER pod_nodes__on_insert_set_created_at BEFORE INSERT ON pod_nodes FOR EACH ROW EXECUTE PROCEDURE set_created_at();
241
-
242
-
243
-CREATE TRIGGER pod_nodes__on_update_set_updated_at BEFORE UPDATE ON pod_nodes FOR EACH ROW EXECUTE PROCEDURE set_updated_at();
244
-
245
-
246
-ALTER TABLE ONLY pod_nodes
247
-    ADD CONSTRAINT pod_nodes__owner_id_fk FOREIGN KEY (owner_id) REFERENCES pod_user(user_id);
248
-
249
-
250
-ALTER TABLE ONLY pod_nodes
251
-    ADD CONSTRAINT pod_nodes__parent_id_fk FOREIGN KEY (parent_id) REFERENCES pod_nodes(node_id);
252
-
253
-
254
-ALTER TABLE ONLY pod_group_permission
255
-    ADD CONSTRAINT pod_group_permission_group_id_fkey FOREIGN KEY (group_id) REFERENCES pod_group(group_id) ON UPDATE CASCADE ON DELETE CASCADE;
256
-
257
-
258
-ALTER TABLE ONLY pod_group_permission
259
-    ADD CONSTRAINT pod_group_permission_permission_id_fkey FOREIGN KEY (permission_id) REFERENCES pod_permission(permission_id) ON UPDATE CASCADE ON DELETE CASCADE;
260
-
261
-
262
-ALTER TABLE ONLY pod_user_group
263
-    ADD CONSTRAINT pod_user_group_group_id_fkey FOREIGN KEY (group_id) REFERENCES pod_group(group_id) ON UPDATE CASCADE ON DELETE CASCADE;
264
-
265
-
266
-ALTER TABLE ONLY pod_user_group
267
-    ADD CONSTRAINT pod_user_group_user_id_fkey FOREIGN KEY (user_id) REFERENCES pod_user(user_id) ON UPDATE CASCADE ON DELETE CASCADE;
268
-
269
-
270
-REVOKE ALL ON SCHEMA public FROM PUBLIC;
271
-REVOKE ALL ON SCHEMA public FROM postgres;
272
-GRANT ALL ON SCHEMA public TO postgres;
273
-GRANT ALL ON SCHEMA public TO PUBLIC;
274
-

+ 0 - 9
doc/database/pod-upgrade-0.1.0_to_0.2.0.sql 파일 보기

1
-
2
---
3
---
4
-UPDATE pod_nodes SET node_status='information' WHERE node_status='immortal';
5
-UPDATE pod_nodes SET node_status='inprogress' WHERE node_status='actiontodo';
6
-UPDATE pod_nodes SET node_status='inprogress' WHERE node_status='hot';
7
-UPDATE pod_nodes SET node_status='actiontodo' WHERE node_status='actiontodo';
8
-UPDATE pod_nodes SET node_status='closed' WHERE node_status='archived';
9
-

+ 0 - 37
doc/database/pod-upgrade-0.2.0_to_0.3.0.sql 파일 보기

1
-ALTER TABLE pod_nodes RENAME TO pod_nodes_history;
2
-
3
-CREATE SEQUENCE pod_nodes_version_id_sequence;
4
-ALTER TABLE pod_nodes_history
5
-    DROP CONSTRAINT pod_nodes_pk CASCADE,
6
-    ADD COLUMN version_id INTEGER PRIMARY KEY DEFAULT nextval('pod_nodes_version_id_sequence');
7
-
8
-CREATE OR REPLACE VIEW pod_nodes AS
9
-    SELECT DISTINCT ON (node_id) node_id, parent_id, node_order, node_type, created_at, updated_at, 
10
-        data_label, data_content, data_datetime, node_status, data_reminder_datetime, 
11
-        data_file_name, data_file_content, data_file_mime_type, parent_tree_path, 
12
-        node_depth, owner_id
13
-    FROM pod_nodes_history
14
-    ORDER BY node_id, updated_at DESC;
15
-
16
-CREATE OR REPLACE RULE pod_insert_new_node AS ON INSERT
17
-TO pod_nodes
18
-DO INSTEAD INSERT INTO pod_nodes_history (node_id, parent_id, node_order, node_type, created_at, updated_at, 
19
-       data_label, data_content, data_datetime, node_status, data_reminder_datetime, 
20
-       data_file_name, data_file_content, data_file_mime_type, parent_tree_path, 
21
-       node_depth, owner_id, version_id) VALUES (nextval('pod_nodes__node_id__sequence'), NEW.parent_id, NEW.node_order, NEW.node_type, NEW.created_at, NEW.updated_at, NEW.data_label, NEW.data_content, NEW.data_datetime, NEW.node_status, NEW.data_reminder_datetime, NEW.data_file_name, NEW.data_file_content, NEW.data_file_mime_type, NEW.parent_tree_path, NEW.node_depth, NEW.owner_id, nextval('pod_nodes_version_id_sequence'))
22
-RETURNING node_id, parent_id, node_order, node_type, created_at, updated_at, 
23
-       data_label, data_content, data_datetime, node_status, data_reminder_datetime, 
24
-       data_file_name, data_file_content, data_file_mime_type, parent_tree_path, 
25
-       node_depth, owner_id;
26
-
27
-CREATE OR REPLACE FUNCTION pod_update_node() RETURNS trigger AS $$
28
-BEGIN
29
-INSERT INTO pod_nodes_history (node_id, parent_id, node_order, node_type, created_at, updated_at, 
30
-       data_label, data_content, data_datetime, node_status, data_reminder_datetime, 
31
-       data_file_name, data_file_content, data_file_mime_type, parent_tree_path, 
32
-       node_depth, owner_id, version_id) VALUES (NEW.node_id, NEW.parent_id, NEW.node_order, NEW.node_type, NEW.created_at, NEW.updated_at, NEW.data_label, NEW.data_content, NEW.data_datetime, NEW.node_status, NEW.data_reminder_datetime, NEW.data_file_name, NEW.data_file_content, NEW.data_file_mime_type, NEW.parent_tree_path, NEW.node_depth, NEW.owner_id, nextval('pod_nodes_version_id_sequence'));
33
-return new;
34
-END;
35
-$$ LANGUAGE plpgsql;
36
-
37
-CREATE TRIGGER pod_update_node_tg INSTEAD OF UPDATE ON pod_nodes FOR EACH ROW EXECUTE PROCEDURE pod_update_node();

+ 0 - 34
doc/database/pod-upgrade-0.3.0_to_0.4.0.sql 파일 보기

1
-ALTER TABLE pod_nodes_history ADD COLUMN is_shared boolean NOT NULL DEFAULT False;
2
-ALTER TABLE pod_nodes_history ADD COLUMN is_public boolean NOT NULL DEFAULT False;
3
-ALTER TABLE pod_nodes_history ADD COLUMN public_url_key character varying(1024);
4
-
5
-CREATE OR REPLACE VIEW pod_nodes AS
6
-    SELECT DISTINCT ON (node_id) node_id, parent_id, node_order, node_type, created_at, updated_at, 
7
-        data_label, data_content, data_datetime, node_status, data_reminder_datetime, 
8
-        data_file_name, data_file_content, data_file_mime_type, parent_tree_path, 
9
-        node_depth, owner_id, is_shared, is_public, public_url_key
10
-    FROM pod_nodes_history
11
-    ORDER BY node_id, updated_at DESC;
12
-
13
-CREATE OR REPLACE RULE pod_insert_new_node AS ON INSERT
14
-TO pod_nodes
15
-DO INSTEAD INSERT INTO pod_nodes_history (node_id, parent_id, node_order, node_type, created_at, updated_at, 
16
-       data_label, data_content, data_datetime, node_status, data_reminder_datetime, 
17
-       data_file_name, data_file_content, data_file_mime_type, parent_tree_path, 
18
-       node_depth, owner_id, version_id, is_shared, is_public, public_url_key) VALUES (nextval('pod_nodes__node_id__sequence'), NEW.parent_id, NEW.node_order, NEW.node_type, NEW.created_at, NEW.updated_at, NEW.data_label, NEW.data_content, NEW.data_datetime, NEW.node_status, NEW.data_reminder_datetime, NEW.data_file_name, NEW.data_file_content, NEW.data_file_mime_type, NEW.parent_tree_path, NEW.node_depth, NEW.owner_id, nextval('pod_nodes_version_id_sequence'), NEW.is_shared, NEW.is_public, NEW.public_url_key)
19
-RETURNING node_id, parent_id, node_order, node_type, created_at, updated_at, 
20
-       data_label, data_content, data_datetime, node_status, data_reminder_datetime, 
21
-       data_file_name, data_file_content, data_file_mime_type, parent_tree_path, 
22
-       node_depth, owner_id, is_shared, is_public, public_url_key;
23
-
24
-CREATE OR REPLACE FUNCTION pod_update_node() RETURNS trigger AS $$
25
-BEGIN
26
-INSERT INTO pod_nodes_history (node_id, parent_id, node_order, node_type, created_at, updated_at, 
27
-       data_label, data_content, data_datetime, node_status, data_reminder_datetime, 
28
-       data_file_name, data_file_content, data_file_mime_type, parent_tree_path, 
29
-       node_depth, owner_id, version_id, is_shared, is_public, public_url_key) VALUES (NEW.node_id, NEW.parent_id, NEW.node_order, NEW.node_type, NEW.created_at, NEW.updated_at, NEW.data_label, NEW.data_content, NEW.data_datetime, NEW.node_status, NEW.data_reminder_datetime, NEW.data_file_name, NEW.data_file_content, NEW.data_file_mime_type, NEW.parent_tree_path, NEW.node_depth, NEW.owner_id, nextval('pod_nodes_version_id_sequence'), NEW.is_shared, NEW.is_public, NEW.public_url_key);
30
-return new;
31
-END;
32
-$$ LANGUAGE plpgsql;
33
-
34
-CREATE TRIGGER pod_update_node_tg INSTEAD OF UPDATE ON pod_nodes FOR EACH ROW EXECUTE PROCEDURE pod_update_node();

+ 0 - 11
doc/database/pod-upgrade-0.4.0_to_0.5.0.sql 파일 보기

1
-ALTER TABLE pod_group ADD COLUMN personnal_group BOOLEAN;
2
-
3
-CREATE TABLE pod_group_node (
4
-    group_id INTEGER NOT NULL,
5
-    node_id INTEGER NOT NULL,
6
-    rights INTEGER,
7
-    CONSTRAINT pod_group_node_pkey PRIMARY KEY (group_id, node_id),
8
-    CONSTRAINT pod_group_node_group_id_fkey FOREIGN KEY (group_id)
9
-    REFERENCES pod_group (group_id) MATCH SIMPLE
10
-    ON UPDATE CASCADE ON DELETE CASCADE
11
-);

+ 2 - 2
pboard/development.ini.base 파일 보기

25
 [app:main]
25
 [app:main]
26
 use = egg:pboard
26
 use = egg:pboard
27
 full_stack = true
27
 full_stack = true
28
-#lang = ru
28
+#lang = fr_FR
29
 cache_dir = %(here)s/data
29
 cache_dir = %(here)s/data
30
 beaker.session.key = pboard
30
 beaker.session.key = pboard
31
 beaker.session.secret = 3283411b-1904-4554-b0e1-883863b53080
31
 beaker.session.secret = 3283411b-1904-4554-b0e1-883863b53080
60
 # in development
60
 # in development
61
 
61
 
62
 #sqlalchemy.url = postgresql://pboard:pboard@127.0.0.1:5432/pboarddb
62
 #sqlalchemy.url = postgresql://pboard:pboard@127.0.0.1:5432/pboarddb
63
-sqlalchemy.url = postgresql://pod_protov1_dev:pod_protov1_dev_password@127.0.0.1:5432/pod_protov1_dev
63
+sqlalchemy.url = postgresql://pod_user:pod_user_password@127.0.0.1:5432/pod
64
 #echo shouldn't be used together with the logging module.
64
 #echo shouldn't be used together with the logging module.
65
 sqlalchemy.echo = false
65
 sqlalchemy.echo = false
66
 sqlalchemy.echo_pool = false
66
 sqlalchemy.echo_pool = false

BIN
pboard/pboard/i18n/fr_FR/LC_MESSAGES/pboard.mo 파일 보기


+ 152 - 155
pboard/pboard/i18n/fr_FR/LC_MESSAGES/pboard.po 파일 보기

7
 msgstr ""
7
 msgstr ""
8
 "Project-Id-Version: pboard 0.1\n"
8
 "Project-Id-Version: pboard 0.1\n"
9
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
9
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
10
-"POT-Creation-Date: 2014-06-10 14:42+0200\n"
11
-"PO-Revision-Date: 2014-06-10 16:31+0100\n"
10
+"POT-Creation-Date: 2014-06-16 00:55+0200\n"
11
+"PO-Revision-Date: 2014-06-16 00:55+0100\n"
12
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
 "Language-Team: fr_FR <LL@li.org>\n"
13
 "Language-Team: fr_FR <LL@li.org>\n"
14
-"Plural-Forms: nplurals=2; plural=(n > 1);\n"
15
 "MIME-Version: 1.0\n"
14
 "MIME-Version: 1.0\n"
16
 "Content-Type: text/plain; charset=utf-8\n"
15
 "Content-Type: text/plain; charset=utf-8\n"
17
 "Content-Transfer-Encoding: 8bit\n"
16
 "Content-Transfer-Encoding: 8bit\n"
17
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
18
 "Generated-By: Babel 1.3\n"
18
 "Generated-By: Babel 1.3\n"
19
 "X-Generator: Poedit 1.5.4\n"
19
 "X-Generator: Poedit 1.5.4\n"
20
 
20
 
32
 msgid "Document #%s can't move lower."
32
 msgid "Document #%s can't move lower."
33
 msgstr "Le document #%s ne peut pas être descendu"
33
 msgstr "Le document #%s ne peut pas être descendu"
34
 
34
 
35
-#: pboard/controllers/api.py:254
35
+#: pboard/controllers/api.py:259
36
 #, python-format
36
 #, python-format
37
 msgid "Document #%s has been deleted"
37
 msgid "Document #%s has been deleted"
38
 msgstr "Le document #%s a été supprimé"
38
 msgstr "Le document #%s a été supprimé"
39
 
39
 
40
-#: pboard/controllers/api.py:256
40
+#: pboard/controllers/api.py:261
41
 #, python-format
41
 #, python-format
42
 msgid "Document #%s can't be deleted because it is not empty."
42
 msgid "Document #%s can't be deleted because it is not empty."
43
 msgstr ""
43
 msgstr ""
44
 "Le document #%s ne peut pas être supprimé car il possède des sous documents"
44
 "Le document #%s ne peut pas être supprimé car il possède des sous documents"
45
 
45
 
46
-#: pboard/controllers/api.py:330
46
+#: pboard/controllers/api.py:335
47
 msgid "You can't share a document that doesn't belong to you."
47
 msgid "You can't share a document that doesn't belong to you."
48
 msgstr "Vous ne pouvez pas partager un document qui ne vous appartient pas"
48
 msgstr "Vous ne pouvez pas partager un document qui ne vous appartient pas"
49
 
49
 
242
 msgid "updated"
242
 msgid "updated"
243
 msgstr "mis à jour"
243
 msgstr "mis à jour"
244
 
244
 
245
-#: pboard/templates/document-widgets-tabs.mak:6
245
+#: pboard/templates/document-widgets-tabs.mak:5
246
 msgid "Revisions"
246
 msgid "Revisions"
247
 msgstr "Révisions"
247
 msgstr "Révisions"
248
 
248
 
249
-#: pboard/templates/document-widgets-tabs.mak:19
249
+#: pboard/templates/document-widgets-tabs.mak:18
250
 msgid "Share options"
250
 msgid "Share options"
251
 msgstr "Options de partage"
251
 msgstr "Options de partage"
252
 
252
 
253
-#: pboard/templates/document-widgets-tabs.mak:22
253
+#: pboard/templates/document-widgets-tabs.mak:21
254
 msgid "This document is not shared"
254
 msgid "This document is not shared"
255
 msgstr "Ce document n'est pas partagé"
255
 msgstr "Ce document n'est pas partagé"
256
 
256
 
257
-#: pboard/templates/document-widgets-tabs.mak:24
257
+#: pboard/templates/document-widgets-tabs.mak:23
258
 msgid "This document is shared."
258
 msgid "This document is shared."
259
 msgstr "Ce document est partagé"
259
 msgstr "Ce document est partagé"
260
 
260
 
261
-#: pboard/templates/document-widgets-tabs.mak:32
261
+#: pboard/templates/document-widgets-tabs.mak:31
262
 #: pboard/templates/master.mak:155
262
 #: pboard/templates/master.mak:155
263
 msgid "Groups"
263
 msgid "Groups"
264
 msgstr "Groupes"
264
 msgstr "Groupes"
265
 
265
 
266
-#: pboard/templates/document-widgets-tabs.mak:53
266
+#: pboard/templates/document-widgets-tabs.mak:52
267
 msgid "Individual users"
267
 msgid "Individual users"
268
 msgstr "Utilisateurs"
268
 msgstr "Utilisateurs"
269
 
269
 
270
-#: pboard/templates/document-widgets-tabs.mak:93
270
+#: pboard/templates/document-widgets-tabs.mak:92
271
 msgid "Edit share options"
271
 msgid "Edit share options"
272
 msgstr "Éditer les options de partage"
272
 msgstr "Éditer les options de partage"
273
 
273
 
274
-#: pboard/templates/document-widgets-tabs.mak:119
274
+#: pboard/templates/document-widgets-tabs.mak:118
275
 msgid "Share document with collaborators."
275
 msgid "Share document with collaborators."
276
 msgstr "Partager le document avec des collaborateurs."
276
 msgstr "Partager le document avec des collaborateurs."
277
 
277
 
278
-#: pboard/templates/document-widgets-tabs.mak:122
278
+#: pboard/templates/document-widgets-tabs.mak:121
279
 msgid "Select read and write access for each group or people..."
279
 msgid "Select read and write access for each group or people..."
280
 msgstr ""
280
 msgstr ""
281
 "Sélectionnez l'accès en \"lecture\" ou \"écriture\" pour chaque groupe ou "
281
 "Sélectionnez l'accès en \"lecture\" ou \"écriture\" pour chaque groupe ou "
282
 "personne ..."
282
 "personne ..."
283
 
283
 
284
-#: pboard/templates/document-widgets-tabs.mak:172
284
+#: pboard/templates/document-widgets-tabs.mak:171
285
 msgid "Group"
285
 msgid "Group"
286
 msgstr "Groupe"
286
 msgstr "Groupe"
287
 
287
 
288
-#: pboard/templates/document-widgets-tabs.mak:173
289
-#: pboard/templates/document-widgets-tabs.mak:204
288
+#: pboard/templates/document-widgets-tabs.mak:172
289
+#: pboard/templates/document-widgets-tabs.mak:203
290
 msgid "Access"
290
 msgid "Access"
291
 msgstr "Accès"
291
 msgstr "Accès"
292
 
292
 
293
-#: pboard/templates/document-widgets-tabs.mak:203
293
+#: pboard/templates/document-widgets-tabs.mak:202
294
 msgid "Individual Users"
294
 msgid "Individual Users"
295
 msgstr "Utilisateurs individuels"
295
 msgstr "Utilisateurs individuels"
296
 
296
 
297
-#: pboard/templates/document-widgets-tabs.mak:261
298
-#: pboard/templates/document-widgets.mak:334
299
-#: pboard/templates/document-widgets.mak:411
300
-#: pboard/templates/document-widgets.mak:486
301
-#: pboard/templates/document-widgets.mak:560
302
-#: pboard/templates/document-widgets.mak:643 pboard/templates/pod.mak:46
297
+#: pboard/templates/document-widgets-tabs.mak:260
298
+#: pboard/templates/document-widgets.mak:335
299
+#: pboard/templates/document-widgets.mak:412
300
+#: pboard/templates/document-widgets.mak:487
301
+#: pboard/templates/document-widgets.mak:561
302
+#: pboard/templates/document-widgets.mak:662 pboard/templates/pod.mak:46
303
 msgid "Cancel"
303
 msgid "Cancel"
304
 msgstr "Abandonner"
304
 msgstr "Abandonner"
305
 
305
 
306
-#: pboard/templates/document-widgets-tabs.mak:264
307
-#: pboard/templates/document-widgets.mak:337
308
-#: pboard/templates/document-widgets.mak:414
309
-#: pboard/templates/document-widgets.mak:489
310
-#: pboard/templates/document-widgets.mak:563
311
-#: pboard/templates/document-widgets.mak:646
306
+#: pboard/templates/document-widgets-tabs.mak:263
307
+#: pboard/templates/document-widgets.mak:338
308
+#: pboard/templates/document-widgets.mak:415
309
+#: pboard/templates/document-widgets.mak:490
310
+#: pboard/templates/document-widgets.mak:564
311
+#: pboard/templates/document-widgets.mak:665
312
 msgid "Save changes"
312
 msgid "Save changes"
313
 msgstr "Sauvergarder"
313
 msgstr "Sauvergarder"
314
 
314
 
315
-#: pboard/templates/document-widgets-tabs.mak:370
316
-#: pboard/templates/document.mak:186
315
+#: pboard/templates/document-widgets-tabs.mak:369
316
+#: pboard/templates/document-widgets.mak:686
317
 msgid "Attachments"
317
 msgid "Attachments"
318
 msgstr "Pièces jointes"
318
 msgstr "Pièces jointes"
319
 
319
 
320
-#: pboard/templates/document-widgets-tabs.mak:373
320
+#: pboard/templates/document-widgets-tabs.mak:372
321
 msgid "There is currently no attachment."
321
 msgid "There is currently no attachment."
322
 msgstr "Il n'y a pas de pièces jointes pour le moment."
322
 msgstr "Il n'y a pas de pièces jointes pour le moment."
323
 
323
 
324
-#: pboard/templates/document-widgets-tabs.mak:374
324
+#: pboard/templates/document-widgets-tabs.mak:373
325
 msgid " Attach first file"
325
 msgid " Attach first file"
326
 msgstr "Joindre le premier fichier"
326
 msgstr "Joindre le premier fichier"
327
 
327
 
328
-#: pboard/templates/document-widgets-tabs.mak:376
328
+#: pboard/templates/document-widgets-tabs.mak:375
329
 msgid " Attach a file"
329
 msgid " Attach a file"
330
 msgstr "Joindre un fichier"
330
 msgstr "Joindre un fichier"
331
 
331
 
332
-#: pboard/templates/document-widgets-tabs.mak:386
332
+#: pboard/templates/document-widgets-tabs.mak:385
333
 msgid "Download the file"
333
 msgid "Download the file"
334
 msgstr "Télécharger le fichier"
334
 msgstr "Télécharger le fichier"
335
 
335
 
336
-#: pboard/templates/document-widgets-tabs.mak:394
336
+#: pboard/templates/document-widgets-tabs.mak:393
337
 msgid "View the attachment"
337
 msgid "View the attachment"
338
 msgstr "Voir les pièces jointe"
338
 msgstr "Voir les pièces jointe"
339
 
339
 
340
-#: pboard/templates/document-widgets-tabs.mak:405
340
+#: pboard/templates/document-widgets-tabs.mak:404
341
 msgid "Sub-documents"
341
 msgid "Sub-documents"
342
 msgstr "Sous documents"
342
 msgstr "Sous documents"
343
 
343
 
344
-#: pboard/templates/document-widgets-tabs.mak:408
344
+#: pboard/templates/document-widgets-tabs.mak:407
345
 msgid "There is currently no child documents."
345
 msgid "There is currently no child documents."
346
 msgstr "Il n'y a pas de sous documents pour le moment."
346
 msgstr "Il n'y a pas de sous documents pour le moment."
347
 
347
 
348
-#: pboard/templates/document-widgets-tabs.mak:410
348
+#: pboard/templates/document-widgets-tabs.mak:409
349
 msgid "Add a document"
349
 msgid "Add a document"
350
 msgstr "Ajouter un document"
350
 msgstr "Ajouter un document"
351
 
351
 
352
-#: pboard/templates/document-widgets-tabs.mak:429
353
-#: pboard/templates/document.mak:183
352
+#: pboard/templates/document-widgets-tabs.mak:428
353
+#: pboard/templates/document-widgets.mak:683
354
 msgid "Calendar"
354
 msgid "Calendar"
355
 msgstr "Calendrier"
355
 msgstr "Calendrier"
356
 
356
 
357
-#: pboard/templates/document-widgets-tabs.mak:432
357
+#: pboard/templates/document-widgets-tabs.mak:431
358
 msgid "The calendar is empty."
358
 msgid "The calendar is empty."
359
 msgstr "Le calendrier est vide."
359
 msgstr "Le calendrier est vide."
360
 
360
 
361
-#: pboard/templates/document-widgets-tabs.mak:433
361
+#: pboard/templates/document-widgets-tabs.mak:432
362
 msgid " Add first event"
362
 msgid " Add first event"
363
 msgstr "Ajouter le premier évènement"
363
 msgstr "Ajouter le premier évènement"
364
 
364
 
365
-#: pboard/templates/document-widgets-tabs.mak:435
365
+#: pboard/templates/document-widgets-tabs.mak:434
366
 msgid " Add an event"
366
 msgid " Add an event"
367
 msgstr "Ajouter un évènement"
367
 msgstr "Ajouter un évènement"
368
 
368
 
369
-#: pboard/templates/document-widgets-tabs.mak:469
370
-#: pboard/templates/document.mak:184
369
+#: pboard/templates/document-widgets-tabs.mak:468
370
+#: pboard/templates/document-widgets.mak:684
371
 msgid "Address book"
371
 msgid "Address book"
372
 msgstr "Carnet d'adresses"
372
 msgstr "Carnet d'adresses"
373
 
373
 
374
-#: pboard/templates/document-widgets-tabs.mak:471
374
+#: pboard/templates/document-widgets-tabs.mak:470
375
 msgid "The address book is empty."
375
 msgid "The address book is empty."
376
 msgstr "Le carnet d'adresses est vide"
376
 msgstr "Le carnet d'adresses est vide"
377
 
377
 
378
-#: pboard/templates/document-widgets-tabs.mak:472
378
+#: pboard/templates/document-widgets-tabs.mak:471
379
 msgid "Add first contact"
379
 msgid "Add first contact"
380
 msgstr "Ajouter le premier contact"
380
 msgstr "Ajouter le premier contact"
381
 
381
 
382
-#: pboard/templates/document-widgets-tabs.mak:474
382
+#: pboard/templates/document-widgets-tabs.mak:473
383
 msgid "Add a contact"
383
 msgid "Add a contact"
384
 msgstr "Ajouter un contact"
384
 msgstr "Ajouter un contact"
385
 
385
 
386
-#: pboard/templates/document-widgets-tabs.mak:495
387
-#: pboard/templates/document.mak:185
386
+#: pboard/templates/document-widgets-tabs.mak:494
387
+#: pboard/templates/document-widgets.mak:685
388
 msgid "Comment thread"
388
 msgid "Comment thread"
389
 msgstr "Fil de discussions"
389
 msgstr "Fil de discussions"
390
 
390
 
391
-#: pboard/templates/document-widgets-tabs.mak:498
391
+#: pboard/templates/document-widgets-tabs.mak:497
392
 msgid "The comment thread is empty."
392
 msgid "The comment thread is empty."
393
 msgstr "Le fil de discussion est vide"
393
 msgstr "Le fil de discussion est vide"
394
 
394
 
395
-#: pboard/templates/document-widgets-tabs.mak:506
395
+#: pboard/templates/document-widgets-tabs.mak:505
396
 msgid "Add a comment"
396
 msgid "Add a comment"
397
 msgstr "Ajouter un commentaire"
397
 msgstr "Ajouter un commentaire"
398
 
398
 
399
-#: pboard/templates/document-widgets-tabs.mak:521
399
+#: pboard/templates/document-widgets-tabs.mak:520
400
 msgid "the"
400
 msgid "the"
401
 msgstr "le"
401
 msgstr "le"
402
 
402
 
403
-#: pboard/templates/document-widgets-tabs.mak:523
403
+#: pboard/templates/document-widgets-tabs.mak:522
404
 msgid "at"
404
 msgid "at"
405
 msgstr "à"
405
 msgstr "à"
406
 
406
 
407
-#: pboard/templates/document-widgets-tabs.mak:531
407
+#: pboard/templates/document-widgets-tabs.mak:530
408
 msgid "Shared comment. Click to make private."
408
 msgid "Shared comment. Click to make private."
409
 msgstr "Commentaire partagé. Cliquez pour rendre privé."
409
 msgstr "Commentaire partagé. Cliquez pour rendre privé."
410
 
410
 
411
-#: pboard/templates/document-widgets-tabs.mak:533
411
+#: pboard/templates/document-widgets-tabs.mak:532
412
 msgid "Private comment. Click to share."
412
 msgid "Private comment. Click to share."
413
 msgstr "Commentaire privé. Cliquez pour partager."
413
 msgstr "Commentaire privé. Cliquez pour partager."
414
 
414
 
415
-#: pboard/templates/document-widgets-tabs.mak:551
415
+#: pboard/templates/document-widgets-tabs.mak:550
416
 msgid "Write your comment below:"
416
 msgid "Write your comment below:"
417
 msgstr "Écrivez votre commentaire ici :"
417
 msgstr "Écrivez votre commentaire ici :"
418
 
418
 
419
-#: pboard/templates/document-widgets-tabs.mak:555
419
+#: pboard/templates/document-widgets-tabs.mak:554
420
 msgid "Share this comment"
420
 msgid "Share this comment"
421
 msgstr "Partager ce commentaire"
421
 msgstr "Partager ce commentaire"
422
 
422
 
423
-#: pboard/templates/document-widgets-tabs.mak:559
423
+#: pboard/templates/document-widgets-tabs.mak:558
424
 msgid "Add first comment"
424
 msgid "Add first comment"
425
 msgstr "Ajouter le premier commentaire"
425
 msgstr "Ajouter le premier commentaire"
426
 
426
 
427
-#: pboard/templates/document-widgets-tabs.mak:561
428
-#: pboard/templates/document-widgets.mak:102
427
+#: pboard/templates/document-widgets-tabs.mak:560
428
+#: pboard/templates/document-widgets.mak:103
429
 msgid "Comment"
429
 msgid "Comment"
430
 msgstr "Commentaire"
430
 msgstr "Commentaire"
431
 
431
 
432
-#: pboard/templates/document-widgets.mak:8
432
+#: pboard/templates/document-widgets.mak:9
433
 msgid "Home"
433
 msgid "Home"
434
 msgstr "Accueil"
434
 msgstr "Accueil"
435
 
435
 
436
-#: pboard/templates/document-widgets.mak:55
436
+#: pboard/templates/document-widgets.mak:56
437
 msgid "Change status"
437
 msgid "Change status"
438
 msgstr "Changer le statut"
438
 msgstr "Changer le statut"
439
 
439
 
440
-#: pboard/templates/document-widgets.mak:62
440
+#: pboard/templates/document-widgets.mak:63
441
 msgid "Current status is..."
441
 msgid "Current status is..."
442
 msgstr "Le statut actuel est ..."
442
 msgstr "Le statut actuel est ..."
443
 
443
 
444
-#: pboard/templates/document-widgets.mak:71
444
+#: pboard/templates/document-widgets.mak:72
445
 msgid "Change to..."
445
 msgid "Change to..."
446
 msgstr "Changer en ..."
446
 msgstr "Changer en ..."
447
 
447
 
448
-#: pboard/templates/document-widgets.mak:72
448
+#: pboard/templates/document-widgets.mak:73
449
 msgid "change the status to..."
449
 msgid "change the status to..."
450
 msgstr "changer le status en ..."
450
 msgstr "changer le status en ..."
451
 
451
 
452
-#: pboard/templates/document-widgets.mak:85
452
+#: pboard/templates/document-widgets.mak:86
453
 msgid "Add"
453
 msgid "Add"
454
 msgstr "Ajouter"
454
 msgstr "Ajouter"
455
 
455
 
456
-#: pboard/templates/document-widgets.mak:91
456
+#: pboard/templates/document-widgets.mak:92
457
 msgid "Add New..."
457
 msgid "Add New..."
458
 msgstr "Ajouter un nouveau ..."
458
 msgstr "Ajouter un nouveau ..."
459
 
459
 
460
-#: pboard/templates/document-widgets.mak:92
460
+#: pboard/templates/document-widgets.mak:93
461
 msgid "create a totally new item..."
461
 msgid "create a totally new item..."
462
 msgstr "créer un nouvel élément ..."
462
 msgstr "créer un nouvel élément ..."
463
 
463
 
464
-#: pboard/templates/document-widgets.mak:95
464
+#: pboard/templates/document-widgets.mak:96
465
 msgid "Document"
465
 msgid "Document"
466
 msgstr "Document"
466
 msgstr "Document"
467
 
467
 
468
-#: pboard/templates/document-widgets.mak:96
468
+#: pboard/templates/document-widgets.mak:97
469
 msgid "File"
469
 msgid "File"
470
 msgstr "Fichier"
470
 msgstr "Fichier"
471
 
471
 
472
-#: pboard/templates/document-widgets.mak:97
473
-#: pboard/templates/document-widgets.mak:452
472
+#: pboard/templates/document-widgets.mak:98
473
+#: pboard/templates/document-widgets.mak:453
474
 msgid "Event"
474
 msgid "Event"
475
 msgstr "Évènement"
475
 msgstr "Évènement"
476
 
476
 
477
-#: pboard/templates/document-widgets.mak:98
477
+#: pboard/templates/document-widgets.mak:99
478
 msgid "Contact"
478
 msgid "Contact"
479
 msgstr "Contact"
479
 msgstr "Contact"
480
 
480
 
481
-#: pboard/templates/document-widgets.mak:116
481
+#: pboard/templates/document-widgets.mak:117
482
 msgid "more ..."
482
 msgid "more ..."
483
 msgstr "plus ..."
483
 msgstr "plus ..."
484
 
484
 
485
-#: pboard/templates/document-widgets.mak:120
485
+#: pboard/templates/document-widgets.mak:121
486
 msgid "Advanced actions..."
486
 msgid "Advanced actions..."
487
 msgstr "Actions avancées"
487
 msgstr "Actions avancées"
488
 
488
 
489
-#: pboard/templates/document-widgets.mak:121
489
+#: pboard/templates/document-widgets.mak:122
490
 msgid "power user actions..."
490
 msgid "power user actions..."
491
 msgstr "Actions avancées ..."
491
 msgstr "Actions avancées ..."
492
 
492
 
493
-#: pboard/templates/document-widgets.mak:126
493
+#: pboard/templates/document-widgets.mak:127
494
 msgid "Move"
494
 msgid "Move"
495
 msgstr "Déplacer"
495
 msgstr "Déplacer"
496
 
496
 
497
-#: pboard/templates/document-widgets.mak:127
497
+#: pboard/templates/document-widgets.mak:128
498
 msgid "Delete"
498
 msgid "Delete"
499
 msgstr "Supprimer"
499
 msgstr "Supprimer"
500
 
500
 
501
-#: pboard/templates/document-widgets.mak:127
501
+#: pboard/templates/document-widgets.mak:128
502
 msgid "Delete the current document"
502
 msgid "Delete the current document"
503
 msgstr "Supprimer le document actuel"
503
 msgstr "Supprimer le document actuel"
504
 
504
 
505
-#: pboard/templates/document-widgets.mak:177
506
-#: pboard/templates/document-widgets.mak:378
505
+#: pboard/templates/document-widgets.mak:178
506
+#: pboard/templates/document-widgets.mak:379
507
 msgid "Title"
507
 msgid "Title"
508
 msgstr "Titre"
508
 msgstr "Titre"
509
 
509
 
510
-#: pboard/templates/document-widgets.mak:183
511
-#: pboard/templates/document-widgets.mak:313
510
+#: pboard/templates/document-widgets.mak:184
511
+#: pboard/templates/document-widgets.mak:314
512
 msgid "document title"
512
 msgid "document title"
513
 msgstr "titre du document"
513
 msgstr "titre du document"
514
 
514
 
515
-#: pboard/templates/document-widgets.mak:216
515
+#: pboard/templates/document-widgets.mak:217
516
 msgid "This document is private"
516
 msgid "This document is private"
517
 msgstr "Ce document est privé"
517
 msgstr "Ce document est privé"
518
 
518
 
519
-#: pboard/templates/document-widgets.mak:218
519
+#: pboard/templates/document-widgets.mak:219
520
 msgid "private"
520
 msgid "private"
521
 msgstr "privé"
521
 msgstr "privé"
522
 
522
 
523
-#: pboard/templates/document-widgets.mak:221
523
+#: pboard/templates/document-widgets.mak:222
524
 msgid "This document is shared"
524
 msgid "This document is shared"
525
 msgstr "Ce document est partagé"
525
 msgstr "Ce document est partagé"
526
 
526
 
527
-#: pboard/templates/document-widgets.mak:223
527
+#: pboard/templates/document-widgets.mak:224
528
 msgid "shared"
528
 msgid "shared"
529
 msgstr "partagé"
529
 msgstr "partagé"
530
 
530
 
531
-#: pboard/templates/document-widgets.mak:259
531
+#: pboard/templates/document-widgets.mak:260
532
 msgid "<p>We suggest you to start...<br/><br/></p>"
532
 msgid "<p>We suggest you to start...<br/><br/></p>"
533
 msgstr "<p>Nous vous suggérons de commencer ...<br /><br /></p>"
533
 msgstr "<p>Nous vous suggérons de commencer ...<br /><br /></p>"
534
 
534
 
535
-#: pboard/templates/document-widgets.mak:262
535
+#: pboard/templates/document-widgets.mak:263
536
 msgid "by working on existing items"
536
 msgid "by working on existing items"
537
 msgstr "en travaillant sur des éléments existants"
537
 msgstr "en travaillant sur des éléments existants"
538
 
538
 
539
-#: pboard/templates/document-widgets.mak:264
539
+#: pboard/templates/document-widgets.mak:265
540
 msgid "or"
540
 msgid "or"
541
 msgstr "ou"
541
 msgstr "ou"
542
 
542
 
543
-#: pboard/templates/document-widgets.mak:267
543
+#: pboard/templates/document-widgets.mak:268
544
 msgid "by creating a new document"
544
 msgid "by creating a new document"
545
 msgstr "en créant un nouveau document"
545
 msgstr "en créant un nouveau document"
546
 
546
 
547
-#: pboard/templates/document-widgets.mak:270
547
+#: pboard/templates/document-widgets.mak:271
548
 msgid "Create"
548
 msgid "Create"
549
 msgstr "Créer"
549
 msgstr "Créer"
550
 
550
 
551
-#: pboard/templates/document-widgets.mak:322
552
-#: pboard/templates/document-widgets.mak:400
553
-#: pboard/templates/document-widgets.mak:473
554
-#: pboard/templates/document-widgets.mak:547
555
-msgid "Share:"
556
-msgstr "Partager :"
557
-
558
 #: pboard/templates/document-widgets.mak:323
551
 #: pboard/templates/document-widgets.mak:323
559
 #: pboard/templates/document-widgets.mak:401
552
 #: pboard/templates/document-widgets.mak:401
560
 #: pboard/templates/document-widgets.mak:474
553
 #: pboard/templates/document-widgets.mak:474
561
 #: pboard/templates/document-widgets.mak:548
554
 #: pboard/templates/document-widgets.mak:548
555
+msgid "Share:"
556
+msgstr "Partager :"
557
+
558
+#: pboard/templates/document-widgets.mak:324
559
+#: pboard/templates/document-widgets.mak:402
560
+#: pboard/templates/document-widgets.mak:475
561
+#: pboard/templates/document-widgets.mak:549
562
 msgid "if checked, then copy share properties from current item"
562
 msgid "if checked, then copy share properties from current item"
563
 msgstr "si coché, les options de partage seront copiées de l'élément actuel"
563
 msgstr "si coché, les options de partage seront copiées de l'élément actuel"
564
 
564
 
565
-#: pboard/templates/document-widgets.mak:384
565
+#: pboard/templates/document-widgets.mak:385
566
 msgid "this field is optionnal"
566
 msgid "this field is optionnal"
567
 msgstr "ce champ est optionnel"
567
 msgstr "ce champ est optionnel"
568
 
568
 
569
-#: pboard/templates/document-widgets.mak:388
569
+#: pboard/templates/document-widgets.mak:389
570
 msgid "Choose a file..."
570
 msgid "Choose a file..."
571
 msgstr "Choisir un fichier ..."
571
 msgstr "Choisir un fichier ..."
572
 
572
 
573
-#: pboard/templates/document-widgets.mak:389
573
+#: pboard/templates/document-widgets.mak:390
574
 msgid "choose a file..."
574
 msgid "choose a file..."
575
 msgstr "choisir un fichier ..."
575
 msgstr "choisir un fichier ..."
576
 
576
 
577
-#: pboard/templates/document-widgets.mak:394
577
+#: pboard/templates/document-widgets.mak:395
578
 msgid "File description (optionnal)"
578
 msgid "File description (optionnal)"
579
 msgstr "Description du fichier (optionnel)"
579
 msgstr "Description du fichier (optionnel)"
580
 
580
 
581
-#: pboard/templates/document-widgets.mak:456
581
+#: pboard/templates/document-widgets.mak:457
582
 msgid "Date and time"
582
 msgid "Date and time"
583
 msgstr "Date et heure"
583
 msgstr "Date et heure"
584
 
584
 
585
-#: pboard/templates/document-widgets.mak:463
585
+#: pboard/templates/document-widgets.mak:464
586
 msgid "Event description:"
586
 msgid "Event description:"
587
 msgstr "Description de l'évènement :"
587
 msgstr "Description de l'évènement :"
588
 
588
 
589
-#: pboard/templates/document-widgets.mak:529
589
+#: pboard/templates/document-widgets.mak:530
590
 msgid "Contact name and firstname"
590
 msgid "Contact name and firstname"
591
 msgstr "Nom et prénom du contact"
591
 msgstr "Nom et prénom du contact"
592
 
592
 
593
-#: pboard/templates/document-widgets.mak:535
593
+#: pboard/templates/document-widgets.mak:536
594
 msgid "name, firstname, title..."
594
 msgid "name, firstname, title..."
595
 msgstr "nom, prénom, titre ..."
595
 msgstr "nom, prénom, titre ..."
596
 
596
 
597
-#: pboard/templates/document-widgets.mak:540
597
+#: pboard/templates/document-widgets.mak:541
598
 msgid "Address, phone, email, company..."
598
 msgid "Address, phone, email, company..."
599
 msgstr "Adresse, téléphone, email, entreprise ..."
599
 msgstr "Adresse, téléphone, email, entreprise ..."
600
 
600
 
601
-#: pboard/templates/document-widgets.mak:595
601
+#: pboard/templates/document-widgets.mak:596
602
 msgid "Select the destination:"
602
 msgid "Select the destination:"
603
 msgstr "Sélectionnez la destination :"
603
 msgstr "Sélectionnez la destination :"
604
 
604
 
605
-#: pboard/templates/document.mak:16
606
-msgid "You have no document yet."
607
-msgstr "Vous n'avez pas de document pour le moment."
605
+#: pboard/templates/document-widgets.mak:682
606
+msgid "Subdocuments"
607
+msgstr "Sous documents"
608
 
608
 
609
-#: pboard/templates/document.mak:33
610
-msgid "Move up"
611
-msgstr "Monter"
609
+#: pboard/templates/document-widgets.mak:687
610
+msgid "Access Management"
611
+msgstr "Gestion des droits"
612
 
612
 
613
-#: pboard/templates/document.mak:34
614
-msgid "Move down"
615
-msgstr "Descendre"
613
+#: pboard/templates/document-widgets.mak:688
614
+msgid "History"
615
+msgstr "Historique"
616
 
616
 
617
-#: pboard/templates/document.mak:64
617
+#: pboard/templates/document-widgets.mak:715
618
+msgid "Content explorer"
619
+msgstr "Explorateur de contenu"
620
+
621
+#: pboard/templates/document-widgets.mak:799
622
+msgid "There is no content yet."
623
+msgstr "Il n'y a pas de contenu pour le moment."
624
+
625
+#: pboard/templates/document-widgets.mak:800
626
+msgid "Create a topic"
627
+msgstr "Créer un sujet"
628
+
629
+#: pboard/templates/document.mak:15
618
 msgid "Toggle view mode [narrow, medium, large]"
630
 msgid "Toggle view mode [narrow, medium, large]"
619
 msgstr "Changer la vue [étroite, médium, large]"
631
 msgstr "Changer la vue [étroite, médium, large]"
620
 
632
 
621
-#: pboard/templates/document.mak:65
633
+#: pboard/templates/document.mak:16
622
 msgid "Toggle view mode: narrow"
634
 msgid "Toggle view mode: narrow"
623
 msgstr "Changer la vue : étroite"
635
 msgstr "Changer la vue : étroite"
624
 
636
 
625
-#: pboard/templates/document.mak:66
637
+#: pboard/templates/document.mak:17
626
 msgid "Toggle view mode: medium"
638
 msgid "Toggle view mode: medium"
627
 msgstr "Changer la vue : médium"
639
 msgstr "Changer la vue : médium"
628
 
640
 
629
-#: pboard/templates/document.mak:67
641
+#: pboard/templates/document.mak:18
630
 msgid "Toggle view mode: large"
642
 msgid "Toggle view mode: large"
631
 msgstr "Changer la vue : large"
643
 msgstr "Changer la vue : large"
632
 
644
 
633
-#: pboard/templates/document.mak:87
634
-msgid "Content explorer"
635
-msgstr "Explorateur de contenu"
636
-
637
-#: pboard/templates/document.mak:133
638
-msgid "There is no content yet."
639
-msgstr "Il n'y a pas de contenu pour le moment."
640
-
641
-#: pboard/templates/document.mak:134
642
-msgid "Create a topic"
643
-msgstr "Créer un sujet"
644
-
645
-#: pboard/templates/document.mak:174
645
+#: pboard/templates/document.mak:61
646
 msgid "New Sub-document"
646
 msgid "New Sub-document"
647
 msgstr "Nouveau sous document"
647
 msgstr "Nouveau sous document"
648
 
648
 
649
-#: pboard/templates/document.mak:175
649
+#: pboard/templates/document.mak:62
650
 msgid "Add an event"
650
 msgid "Add an event"
651
 msgstr "Ajouter un évènement"
651
 msgstr "Ajouter un évènement"
652
 
652
 
653
-#: pboard/templates/document.mak:176
653
+#: pboard/templates/document.mak:63
654
 msgid "Add a new contact"
654
 msgid "Add a new contact"
655
 msgstr "Ajouter un nouveau contact"
655
 msgstr "Ajouter un nouveau contact"
656
 
656
 
657
-#: pboard/templates/document.mak:177
657
+#: pboard/templates/document.mak:64
658
 msgid "Add a new file"
658
 msgid "Add a new file"
659
 msgstr "Ajouter un nouveau fichier"
659
 msgstr "Ajouter un nouveau fichier"
660
 
660
 
661
-#: pboard/templates/document.mak:178
661
+#: pboard/templates/document.mak:65
662
 msgid "Move the document"
662
 msgid "Move the document"
663
 msgstr "Déplacer le document"
663
 msgstr "Déplacer le document"
664
 
664
 
665
-#: pboard/templates/document.mak:182
666
-msgid "Subdocuments"
667
-msgstr "Sous documents"
668
-
669
-#: pboard/templates/document.mak:187
670
-msgid "Access Management"
671
-msgstr "Gestion des droits"
672
-
673
-#: pboard/templates/document.mak:188
674
-msgid "History"
675
-msgstr "Historique"
676
-
677
 #: pboard/templates/index.mak:30
665
 #: pboard/templates/index.mak:30
678
 msgid "Remember me"
666
 msgid "Remember me"
679
 msgstr "Se souvenir de moi"
667
 msgstr "Se souvenir de moi"
752
 #: pboard/templates/search.mak:83
740
 #: pboard/templates/search.mak:83
753
 msgid "No data found for keywords:"
741
 msgid "No data found for keywords:"
754
 msgstr "Aucune correspondance pour les mots clés :"
742
 msgstr "Aucune correspondance pour les mots clés :"
743
+
744
+#~ msgid "You have no document yet."
745
+#~ msgstr "Vous n'avez pas de document pour le moment."
746
+
747
+#~ msgid "Move up"
748
+#~ msgstr "Monter"
749
+
750
+#~ msgid "Move down"
751
+#~ msgstr "Descendre"

+ 0 - 2
pboard/pboard/templates/master.mak 파일 보기

58
   <div class="footer hidden-tablet hidden-phone text-center">
58
   <div class="footer hidden-tablet hidden-phone text-center">
59
     <p class="pod-blue">
59
     <p class="pod-blue">
60
       <i>${_("collaborative work  ♦  improved efficiency  ♦  full traceability")}</i>
60
       <i>${_("collaborative work  ♦  improved efficiency  ♦  full traceability")}</i>
61
-      <br/>
62
-      this is pod
63
     </p>
61
     </p>
64
     <hr style="width: 50%; margin: 0.5em auto;"/>
62
     <hr style="width: 50%; margin: 0.5em auto;"/>
65
     <p>Copyright &copy; 2013 - ${h.current_year()} pod project.</p>
63
     <p>Copyright &copy; 2013 - ${h.current_year()} pod project.</p>

+ 5 - 5
pboard/setup.py 파일 보기

42
     ]
42
     ]
43
 
43
 
44
 setup(
44
 setup(
45
-    name='pboard',
45
+    name='pod',
46
     version='0.1',
46
     version='0.1',
47
-    description='',
48
-    author='',
49
-    author_email='',
50
-    #url='',
47
+    description='Pod is collaborative software designed to allow people to work on and share various data and document types.',
48
+    author='The POD team',
49
+    author_email='damien.accorsi@free.fr',
50
+    url='https://bitbucket.org/lebouquetin/pod',
51
     packages=find_packages(exclude=['ez_setup']),
51
     packages=find_packages(exclude=['ez_setup']),
52
     install_requires=install_requires,
52
     install_requires=install_requires,
53
     include_package_data=True,
53
     include_package_data=True,