|
Module bearbeitesicherheitsanf
|
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 import wx
40
41 from bearbeiteuebersetzung import BearbeiteUebersetzungNeu
42
43 from wxuniversal import FlexGridSizerWxObjTitel
44 from wxuniversal import DialogErg
45 from wxuniversal import farbeBearbeiten
46 from wxuniversal import SiAnfStrktDok
47 from wxuniversal import TextCtrlSpWTitel
48 from wxuniversal import TreeCtrlErg
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
86 """
87 Klasse zur Abbildung der vorhandenen Sicherheitsanforderungen
88 """
89
90
91
92
93
94
95 - def __init__( self, parent, Statusleiste, dbVerbindung, prjProjekteId, sprSprachenId, psGefszenarioId, BearbeiteSicherheitsanf ):
96 wx.Panel.__init__( self, parent = parent )
97
98
99
100
101
102 self.Statusleiste = Statusleiste
103 self.dbVerbindung = dbVerbindung
104 self.prjProjekteId = prjProjekteId
105 self.sprSprachenId = sprSprachenId
106 self.psGefszenarioId = psGefszenarioId
107 self.BearbeiteSicherheitsanf = BearbeiteSicherheitsanf
108
109
110
111
112
113
114
115 self.SiAnfStrktDok__Vorh = SiAnfStrktDok( parent = self
116 , varId = 1
117 , Statusleiste = Statusleiste
118 , dbVerbindung = dbVerbindung
119 , prjProjekteId = prjProjekteId
120 , sprSprachenId = sprSprachenId
121 , psGefszenarioId = psGefszenarioId )
122
123 self.Bind( wx.EVT_TREE_SEL_CHANGED
124 , self.__ereignisNavigationVerfSiAnf__
125 , self.SiAnfStrktDok__Vorh.TreeCtrlErg__Id.wxObjekt )
126
127 self.Bind( wx.EVT_TREE_ITEM_ACTIVATED
128 , self.__ereignisSiAnfZuordnen__
129 , self.SiAnfStrktDok__Vorh.TreeCtrlErg__Id.wxObjekt )
130
131 self.Bind( wx.EVT_TREE_ITEM_MIDDLE_CLICK
132 , self.__ereignisSiAnfZuordnen__
133 , self.SiAnfStrktDok__Vorh.TreeCtrlErg__Id.wxObjekt )
134
135
136
137
138
139
140
141 self.SiAnfStrktDok__Zugeordnet = SiAnfStrktDok( parent = self
142 , varId = 2
143 , Statusleiste = Statusleiste
144 , dbVerbindung = dbVerbindung
145 , prjProjekteId = prjProjekteId
146 , sprSprachenId = sprSprachenId
147 , psGefszenarioId = psGefszenarioId )
148
149 self.SiAnfStrktDok__Zugeordnet.TreeCtrlErg__Id.wxObjekt.SetBackgroundColour( self.GetBackgroundColour() )
150
151
152
153
154
155
156 FlexGridSizer = wx.FlexGridSizer( rows = 2, cols = 1, vgap = 5, hgap = 0 )
157 FlexGridSizer.AddGrowableCol( idx = 0, proportion = 0 )
158 FlexGridSizer.AddGrowableRow( idx = 0, proportion = 0 )
159 FlexGridSizer.AddGrowableRow( idx = 1, proportion = 0 )
160
161
162
163
164
165 FlexGridSizer.Add( self.SiAnfStrktDok__Vorh
166 , flag = wx.EXPAND )
167
168
169
170
171
172 FlexGridSizer.Add( self.SiAnfStrktDok__Zugeordnet
173 , flag = wx.LEFT|wx.BOTTOM|wx.RIGHT|wx.EXPAND
174 , border = 10 )
175
176
177
178
179
180 self.SetSizerAndFit( FlexGridSizer )
181
182
183
184
185
186
187
188
190 """
191 Innerhalb der Sicherheitsaforderungen die Dokumente / Strukturpunkte anzeigen.
192
193 @param ereignis: Es ist das C{wx - Ereignisobjekt} zur Ereignisbehandlung zu übergeben.
194 @type ereignis: C{wx - Ereignisobjekt}
195 """
196
197
198
199
200 prt_protokoll_id = self.SiAnfStrktDok__Vorh.TreeCtrlErg__Id.wxObjekt.gibDbId()
201
202
203
204
205
206 self.dbVerbindung.selektiere__psPrtStrkt(
207 SiAnfStrktDok = self.SiAnfStrktDok__Zugeordnet
208 , prjProjekteId = None
209 , sprSprachenId = self.sprSprachenId
210 , prtProtokollId = prt_protokoll_id
211 , psGefszenarioId = None
212 , strNameId = None )
213
214 self.dbVerbindung.selektiere__prjPrtDoku(
215 SiAnfStrktDok = self.SiAnfStrktDok__Zugeordnet
216 , prjProjekteId = None
217 , sprSprachenId = self.sprSprachenId
218 , prtProtokollId = prt_protokoll_id
219 , psGefszenarioId = None
220 , internFirmaId = None )
221
222
223
224
225
226
227
228
229
231 """
232 Die aktuelle(n) Sicherheitsanforderungen der gewählten Sicherheitsanforderung (dem Gefahrenszenario) zuordnen.
233
234 @param ereignis: Es ist das C{wx - Ereignisobjekt} zur Ereignisbehandlung zu übergeben.
235 @type ereignis: C{wx - Ereignisobjekt}
236 """
237
238
239
240
241 evtDClick = 10033
242 evtMMouse = 10035
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303 if( ( ereignis.GetEventType() == evtDClick
304 and not ereignis.GetEventObject().gibClientData()[0]
305 and not self.BearbeiteSicherheitsanf.TreeCtrlErg__PSAnfId.wxObjekt.gibClientData()[0] )
306 or ( ereignis.GetEventType() == evtMMouse and ereignis.GetEventObject().gibClientData()[0] ) ) :
307
308 if( ereignis != None ) : ereignis.Skip( skip = True )
309 return
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336 self.dbVerbindung.schreibe__prjPrtPsGefszenario(
337 TreeCtrlErg = ereignis.GetEventObject()
338 , prjProjekteId = self.prjProjekteId
339 , psGefszenarioId = self.psGefszenarioId )
340
341 self.dbVerbindung.schreibe__prjPPPrtProtokoll(
342 TreeCtrlErg = ereignis.GetEventObject()
343 , prjProjekteId = self.prjProjekteId )
344
345
346
347
348
349 self.dbVerbindung.schreibe__Strukturpunkte( TreeCtrlErg = ereignis.GetEventObject()
350 , prjProjekteId = self.prjProjekteId
351 , sprSprachenId = self.sprSprachenId )
352
353
354
355
356
357 dlg = wx.MessageDialog( parent = self
358 , message = """Alle Dokumente, die den Sicherheitsanforderungen zugeordnet sind, werden übernommen.
359
360 Sollen sie vollständig (d.h. mit Titel, akt. Revisionsstand, Datum) in das Projekt übernommen werden ?
361 Wenn nicht, dann werden sie nur als Platzhalter übernommen."""
362 , caption = "Dokumente zuordnen"
363 , style = wx.YES_NO|wx.ICON_QUESTION)
364
365 nimmAusgabe = ( dlg.ShowModal() == wx.ID_YES )
366
367
368
369
370
371 self.dbVerbindung.schreibe__Dokumente( TreeCtrlErg = ereignis.GetEventObject()
372 , prjProjekteId = self.prjProjekteId
373 , sprSprachenId = self.sprSprachenId
374 , nimmAusgabe = nimmAusgabe )
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390 if( ereignis.GetEventObject().ItemHasChildren( ereignis.GetItem() )
391 or ( ereignis.GetEventObject().gibClientData()[0] == False
392 and ereignis.GetEventType() == evtDClick
393 and self.BearbeiteSicherheitsanf.TreeCtrlErg__PSAnfId.wxObjekt.gibClientData()[0] ) ) :
394
395
396
397
398 if( ereignis.GetEventObject().ItemHasChildren( ereignis.GetItem() ) ) :
399
400 self.dbVerbindung.schreibe__prjPPrtVerbindung(
401 TreeCtrlErg = ereignis.GetEventObject()
402 , prjProjekteId = self.prjProjekteId
403 , prtProtokollIdVorg = ereignis.GetEventObject().gibDbId() )
404
405
406
407
408 else :
409
410 self.dbVerbindung.schreibe__prjPPrtVerbindung(
411 TreeCtrlErg = ereignis.GetEventObject()
412 , prjProjekteId = self.prjProjekteId
413 , prtProtokollIdVorg = self.BearbeiteSicherheitsanf.TreeCtrlErg__PSAnfId.wxObjekt.gibDbId() )
414
415
416
417
418
419
420 self.SiAnfStrktDok__Vorh.__ereignisLiesDBVerfSiAnf__()
421 self.BearbeiteSicherheitsanf.__liesSiAnfId__()
422
423
424
425
426
427
428 self.BearbeiteSicherheitsanf.Button__Verwerfen.Enable( True )
429 self.BearbeiteSicherheitsanf.Button__Sichern.Enable( True )
430
431
432
433
434
435
436 if( ereignis != None ) : ereignis.Skip( skip = True )
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
454
455 """
456 Klasse zur Abbildung des Eingabeformulars 'Sicherheitsanforderungen bearbeiten'.
457 """
458
459
460
461
462
463
464 - def __init__( self, parent, Statusleiste, dbVerbindung, prjProjekteId, sprSprachenId, psGefszenarioId ):
465 DialogErg.__init__( self
466 , parent = parent
467 , title = u"Sicherheitsanforderungen bearbeiten."
468 , dbVerbindung = dbVerbindung )
469
470
471
472
473
474
475
476
477 self.Statusleiste = Statusleiste
478 self.dbVerbindung = dbVerbindung
479 self.prjProjekteId = prjProjekteId
480 self.sprSprachenId = sprSprachenId
481 self.psGefszenarioId = psGefszenarioId
482
483
484
485
486
487
488
489
490
491
492
493
494
495 self.TreeCtrlErg__PSAnfId = FlexGridSizerWxObjTitel( parent = self
496 , wxObj = TreeCtrlErg( self
497 , Statusleiste = self.Statusleiste
498 , dbVerbindung = self.dbVerbindung )
499 , titel = "SiAnf-Id"
500 , orient = wx.VERTICAL )
501
502
503
504
505 self.TreeCtrlErg__PSAnfId.wxObjekt.statusLeisteDBSpNameErlaeuterung = """Eineindeutige Identifikationsnummer der Sicherheitsanforderungen zum Gefahrenszenario."""
506
507 self.Bind( wx.EVT_TREE_SEL_CHANGED
508 , self.__ereignisNavigationSiAnf__
509 , self.TreeCtrlErg__PSAnfId.wxObjekt )
510
511 self.Bind( wx.EVT_TREE_ITEM_ACTIVATED
512 , self.__ereignisBearbeiten__
513 , self.TreeCtrlErg__PSAnfId.wxObjekt )
514
515 self.Bind( wx.EVT_TREE_ITEM_MIDDLE_CLICK
516 , self.__ereignisSiAnfLoesen__
517 , self.TreeCtrlErg__PSAnfId.wxObjekt )
518
519
520
521
522
523
524
525
526 self.SiAnfStrktDok__Zugeordnet = SiAnfStrktDok( parent = self
527 , varId = 2
528 , Statusleiste = self.Statusleiste
529 , dbVerbindung = self.dbVerbindung
530 , prjProjekteId = self.prjProjekteId
531 , sprSprachenId = self.sprSprachenId
532 , psGefszenarioId = self.psGefszenarioId )
533
534
535
536
537 self.Bind( wx.EVT_TREE_ITEM_ACTIVATED
538 , self.__ereignisSPktDokumentLoesen__
539 , self.SiAnfStrktDok__Zugeordnet.TreeCtrlErg__Id.wxObjekt )
540
541
542
543
544
545
546 self.Notebook__Vorhanden = wx.Notebook( self )
547
548 self.Notebook__Vorhanden.AddPage( VerfSiAnf( parent = self.Notebook__Vorhanden
549 , Statusleiste = self.Statusleiste
550 , dbVerbindung = self.dbVerbindung
551 , prjProjekteId = self.prjProjekteId
552 , sprSprachenId = self.sprSprachenId
553 , psGefszenarioId = self.psGefszenarioId
554 , BearbeiteSicherheitsanf = self )
555 , "Sicherheitsanforderungen" )
556
557
558 self.Notebook__Vorhanden.AddPage( SiAnfStrktDok( parent = self.Notebook__Vorhanden
559 , varId = 3
560 , Statusleiste = self.Statusleiste
561 , dbVerbindung = self.dbVerbindung
562 , prjProjekteId = self.prjProjekteId
563 , sprSprachenId = self.sprSprachenId
564 , psGefszenarioId = self.psGefszenarioId )
565 , "Strukturpunkte" )
566
567
568
569
570 self.Notebook__Vorhanden.AddPage( SiAnfStrktDok( parent = self.Notebook__Vorhanden
571 , varId = 4
572 , Statusleiste = self.Statusleiste
573 , dbVerbindung = self.dbVerbindung
574 , prjProjekteId = self.prjProjekteId
575 , sprSprachenId = self.sprSprachenId
576 , psGefszenarioId = self.psGefszenarioId )
577 , "Dokumente" )
578
579
580
581
582
583
584
585 self.Bind( wx.EVT_NOTEBOOK_PAGE_CHANGED
586 , self.__ereignisKKGewechselt__
587 , self.Notebook__Vorhanden )
588
589
590
591
592
593 self.Bind( wx.EVT_TREE_ITEM_ACTIVATED
594 , self.__ereignisSPktDokumentZuordnen__
595 , self.Notebook__Vorhanden.GetPage( 1 ).TreeCtrlErg__Id.wxObjekt )
596
597
598
599
600
601 self.Bind( wx.EVT_TREE_ITEM_ACTIVATED
602 , self.__ereignisSPktDokumentZuordnen__
603 , self.Notebook__Vorhanden.GetPage( 2 ).TreeCtrlErg__Id.wxObjekt )
604
605
606
607
608
609
610 FlexGridSizer = wx.FlexGridSizer( rows = 2, cols = 1, vgap = 10, hgap = 0 )
611
612 FlexGridSizer.AddGrowableCol( idx = 0, proportion = 1 )
613 FlexGridSizer.AddGrowableRow( idx = 0, proportion = 0 )
614 FlexGridSizer.AddGrowableRow( idx = 1, proportion = 0 )
615
616
617 FlexGridSizer.Add( self.TreeCtrlErg__PSAnfId
618 , flag = wx.EXPAND )
619
620 FlexGridSizer.Add( self.SiAnfStrktDok__Zugeordnet
621 , flag = wx.EXPAND )
622
623
624 BoxSizerGes = wx.BoxSizer( wx.HORIZONTAL )
625
626 BoxSizerGes.Add( FlexGridSizer
627 , proportion = 1
628 , flag = wx.ALL|wx.EXPAND
629 , border = 5 )
630
631 BoxSizerGes.Add( self.Notebook__Vorhanden
632 , proportion = 1
633 , flag = wx.ALL|wx.EXPAND
634 , border = 5 )
635
636
637
638
639
640 self.nimmDialogElemente( BoxSizerGes )
641
642
643
644
645
646 self.__ereignisKKGewechselt__()
647
648
649
650
651
652 self.__liesSiAnfId__()
653
654
655
656
657
658 self.Button__Verwerfen.Enable( False )
659 self.Button__Sichern.Enable( False )
660
661
662
663
664
665
666
667
668
670 """
671 Methode die aufgerufen wird, wenn der Text der Sicherheitsanforderung bearbeitet werden soll.
672
673 @param ereignis: Es ist das C{wx - Ereignisobjekt} zur Ereignisbehandlung zu übergeben.
674 @type ereignis: C{wx - Ereignisobjekt}
675 """
676
677
678
679
680 dlg = BearbeiteUebersetzungNeu( parent = self
681 , Statusleiste = self.Statusleiste
682 , dbVerbindung = self.dbVerbindung
683 , sprSprachenId = self.sprSprachenId
684 , sprUebvarId = ereignis.GetEventObject().gibClientData()[1]
685 , notizen = ereignis.GetEventObject().gibClientData()[2] )
686
687
688
689
690
691 dlg.ShowModal()
692 dlg.Destroy()
693
694
695
696
697
698
699 if( dlg.gibWerte()[0]
700 and ( dlg.gibWerte()[1] != ereignis.GetEventObject().gibClientData()[1]
701 or dlg.gibWerte()[2] != ereignis.GetEventObject().gibClientData()[2] ) ) :
702
703 self.dbVerbindung.schreibe__prjPPPrtProtokoll__UPDATE(
704 sprUebvarId = dlg.gibWerte()[1]
705 , whereId = [ self.prjProjekteId
706 , ereignis.GetEventObject().gibDbId()
707 , ereignis.GetEventObject().gibClientData()[1]] )
708
709
710
711
712
713
714 self.Notebook__Vorhanden.GetPage( 1 ).__ereignisLiesDBVerfSiAnf__()
715 self.__liesSiAnfId__()
716
717
718
719
720
721
722
723
724 if( dlg.gibWerte()[0] ) :
725 self.Button__Verwerfen.Enable( True )
726 self.Button__Sichern.Enable( True )
727
728
729
730
731
732
733 if( ereignis != None ) : ereignis.Skip( skip = True )
734
735
736
737
738
739
740
741
742
744 """
745 Es wurde zwischen den Karteikarten gewechselt.
746
747 @param ereignis: Es ist das C{wx - Ereignisobjekt} zur Ereignisbehandlung zu übergeben. Es wird jedoch nicht verwendet.
748 @type ereignis: C{wx - Ereignisobjekt}
749 """
750
751
752
753
754 if( self.Notebook__Vorhanden.GetCurrentPage() == self.Notebook__Vorhanden.GetPage( 0 )
755 or ereignis == None ) :
756
757
758
759
760 self.TreeCtrlErg__PSAnfId.wxObjekt.SetBackgroundColour( farbeBearbeiten )
761 self.TreeCtrlErg__PSAnfId.wxObjekt.SetToolTip( wx.ToolTip( "Doppelklick:\nSicherheitsanforderung bearbeiten.\n\nMittlere Maustaste:\nVerbindung zwischen Sicherheitsanforderung und Gefahrenszenario aufheben." ) )
762
763
764
765
766 self.SiAnfStrktDok__Zugeordnet.TreeCtrlErg__Id.wxObjekt.SetBackgroundColour( self.GetBackgroundColour() )
767 self.SiAnfStrktDok__Zugeordnet.TreeCtrlErg__Id.wxObjekt.SetToolTip( wx.ToolTip( " " ) )
768
769
770
771
772
773
774 else :
775
776
777
778
779 self.TreeCtrlErg__PSAnfId.wxObjekt.SetBackgroundColour( 'WHITE' )
780 self.TreeCtrlErg__PSAnfId.wxObjekt.SetToolTip( wx.ToolTip( " " ) )
781
782
783
784
785 self.SiAnfStrktDok__Zugeordnet.TreeCtrlErg__Id.wxObjekt.SetBackgroundColour( farbeBearbeiten )
786
787 if( self.Notebook__Vorhanden.GetCurrentPage() == self.Notebook__Vorhanden.GetPage( 1 ) ) :
788 self.SiAnfStrktDok__Zugeordnet.TreeCtrlErg__Id.wxObjekt.SetToolTip( wx.ToolTip( "Doppelklick:\nVerbindung zwischen Strukturpunkt und Sicherheitsanforderung aufheben." ) )
789
790 else :
791 self.SiAnfStrktDok__Zugeordnet.TreeCtrlErg__Id.wxObjekt.SetToolTip( wx.ToolTip( "Doppelklick:\nVerbindung zwischen Dokument und Sicherheitsanforderung aufheben." ) )
792
793
794
795
796
797
798
799 if( ereignis != None ) : ereignis.Skip( skip = True )
800
801
802
803
804
805
806
807
809 """
810 Innerhalb der Sicherheitsaforderungen die Dokumente / Strukturpunkte anzeigen.
811
812 @param ereignis: Es ist das C{wx - Ereignisobjekt} zur Ereignisbehandlung zu übergeben.
813 @type ereignis: C{wx - Ereignisobjekt}
814 """
815
816
817
818
819
820 prt_protokoll_id = self.TreeCtrlErg__PSAnfId.wxObjekt.gibDbId()
821
822
823
824
825
826 self.dbVerbindung.selektiere__psPrtStrkt(
827 SiAnfStrktDok = self.SiAnfStrktDok__Zugeordnet
828 , prjProjekteId = self.prjProjekteId
829 , sprSprachenId = self.sprSprachenId
830 , prtProtokollId = prt_protokoll_id
831 , psGefszenarioId = None
832 , strNameId = None )
833
834 self.dbVerbindung.selektiere__prjPrtDoku(
835 SiAnfStrktDok = self.SiAnfStrktDok__Zugeordnet
836 , prjProjekteId = self.prjProjekteId
837 , sprSprachenId = self.sprSprachenId
838 , prtProtokollId = prt_protokoll_id
839 , psGefszenarioId = None
840 , internFirmaId = None )
841
842
843
844
845
846
847
848
849
851 """
852 Die aktuelle(n) Sicherheitsanforderungen von der Sicherheitsanforderung (Technische Maßnahme) bzw. dem Gefahrenszenario lösen.
853
854 @param ereignis: Es ist das C{wx - Ereignisobjekt} zur Ereignisbehandlung zu übergeben.
855 @type ereignis: C{wx - Ereignisobjekt}
856 """
857
858
859
860
861
862
863
864
865
866
867
868
869 self.dbVerbindung.schreibe__Strukturpunkte( TreeCtrlErg = ereignis.GetEventObject()
870 , prjProjekteId = self.prjProjekteId
871 , sprSprachenId = self.sprSprachenId
872 , psGefszenarioId = self.psGefszenarioId )
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888 self.dbVerbindung.schreibe__Dokumente( TreeCtrlErg = ereignis.GetEventObject()
889 , prjProjekteId = self.prjProjekteId
890 , sprSprachenId = self.sprSprachenId
891 , nimmAusgabe = 'true'
892 , psGefszenarioId = self.psGefszenarioId )
893
894
895
896
897
898
899
900
901
902
903
904
905 self.dbVerbindung.schreibe__prjPrtPsGefszenario(
906 TreeCtrlErg = ereignis.GetEventObject()
907 , prjProjekteId = self.prjProjekteId
908 , psGefszenarioId = self.psGefszenarioId
909 , logentfernt = 'true' )
910
911
912
913
914
915
916
917
918
919
920 self.dbVerbindung.schreibe__prjPPPrtProtokoll(
921 TreeCtrlErg = ereignis.GetEventObject()
922 , prjProjekteId = self.prjProjekteId )
923
924
925
926
927
928
929
930
931
932
933
934
935 self.dbVerbindung.schreibe__prjPPrtVerbindung( TreeCtrlErg = ereignis.GetEventObject()
936 , prjProjekteId = self.prjProjekteId
937 , prtProtokollIdVorg = None
938 , sprSprachenId = self.sprSprachenId
939 , psGefszenarioId = self.psGefszenarioId )
940
941
942
943
944
945
946
947 self.Notebook__Vorhanden.GetPage( 1 ).__ereignisLiesDBVerfSiAnf__()
948 self.__liesSiAnfId__()
949
950
951
952
953
954
955 self.Button__Verwerfen.Enable( True )
956 self.Button__Sichern.Enable( True )
957
958
959
960
961
962
963 if( ereignis != None ) : ereignis.Skip( skip = True )
964
965
966
967
968
969
970
971
972
974 """
975 Die Verbindung zwischen dem aktuellen Dokument und der gewählten Sicherheitsanforderung lösen.
976
977 @param ereignis: Es ist das C{wx - Ereignisobjekt} zur Ereignisbehandlung zu übergeben.
978 @type ereignis: C{wx - Ereignisobjekt}
979 """
980
981
982
983
984
985
986
987
988
989
990
991
992 if( ( self.Notebook__Vorhanden.GetCurrentPage() == self.Notebook__Vorhanden.GetPage( 0 ) )
993 or ( self.SiAnfStrktDok__Zugeordnet.istStrPkt( ereignis ) is None )
994 or ( self.SiAnfStrktDok__Zugeordnet.istStrPkt( ereignis )
995 and ( self.Notebook__Vorhanden.GetCurrentPage() == self.Notebook__Vorhanden.GetPage( 2 ) ) )
996 or ( not self.SiAnfStrktDok__Zugeordnet.istStrPkt( ereignis )
997 and ( self.Notebook__Vorhanden.GetCurrentPage() == self.Notebook__Vorhanden.GetPage( 1 ) ) ) ) :
998
999 ereignis.Skip( skip = True )
1000 return
1001
1002
1003
1004
1005
1006 if( self.SiAnfStrktDok__Zugeordnet.istStrPkt( ereignis ) ) :
1007
1008 self.dbVerbindung.schreibe__psPrtStrkt( prjProjekteId = self.prjProjekteId
1009 , prtProtokollId = self.TreeCtrlErg__PSAnfId.wxObjekt.gibDbId()
1010 , strStrktId = ereignis.GetEventObject().gibClientData()[0]
1011 , notizen = ''
1012 , prjPPrtStrstrktId = ereignis.GetEventObject().gibClientData()[1] )
1013
1014
1015
1016
1017
1018 else :
1019
1020 self.dbVerbindung.schreibe__prjPrtDoku(
1021 prjProjekteId = self.prjProjekteId
1022 , prtProtokollId = self.TreeCtrlErg__PSAnfId.wxObjekt.gibDbId()
1023 , dokDokuId = ereignis.GetEventObject().gibWert()
1024 , plPrtDokdoku = [ ereignis.GetEventObject().gibClientData()[1]
1025 , ereignis.GetEventObject().gibClientData()[2]
1026 , ereignis.GetEventObject().gibClientData()[3]
1027 , ereignis.GetEventObject().gibClientData()[0] ]
1028 , plDokAusgabe = [ ereignis.GetEventObject().gibClientData()[7]
1029 , ereignis.GetEventObject().gibClientData()[5]
1030 , ereignis.GetEventObject().gibClientData()[6]
1031 , ereignis.GetEventObject().gibClientData()[4] ]
1032 , logentfernt = 'true' )
1033
1034
1035
1036
1037
1038 self.__ereignisNavigationSiAnf__()
1039
1040
1041
1042
1043
1044
1045 self.Button__Verwerfen.Enable( True )
1046 self.Button__Sichern.Enable( True )
1047
1048
1049
1050
1051
1052
1053 if( ereignis != None ) : ereignis.Skip( skip = True )
1054
1055
1056
1057
1058
1059
1060
1061
1062
1064 """
1065 Das aktuelle Dokument der gewählten Sicherheitsanforderung zuordnen.
1066
1067 @param ereignis: Es ist das C{wx - Ereignisobjekt} zur Ereignisbehandlung zu übergeben.
1068 @type ereignis: C{wx - Ereignisobjekt}
1069 """
1070
1071
1072
1073
1074 if( self.SiAnfStrktDok__Zugeordnet.istStrPkt( ereignis )
1075 and ( self.Notebook__Vorhanden.GetCurrentPage() == self.Notebook__Vorhanden.GetPage( 1 ) ) ) :
1076
1077
1078
1079
1080
1081 if( self.SiAnfStrktDok__Zugeordnet.TreeCtrlErg__Id.wxObjekt.istDbIdVorhanden( ereignis.GetEventObject().gibDbId() ) ) :
1082
1083 if( ereignis != None ) : ereignis.Skip( skip = True )
1084 return
1085
1086
1087
1088
1089 self.dbVerbindung.schreibe__psPrtStrkt( prjProjekteId = self.prjProjekteId
1090 , prtProtokollId = self.TreeCtrlErg__PSAnfId.wxObjekt.gibDbId()
1091 , strStrktId = ereignis.GetEventObject().gibClientData()[0]
1092 , notizen = '' )
1093
1094
1095
1096
1097
1098 elif( ( not self.SiAnfStrktDok__Zugeordnet.istStrPkt( ereignis ) )
1099 and ( self.SiAnfStrktDok__Zugeordnet.istStrPkt( ereignis ) is not None )
1100 and ( self.Notebook__Vorhanden.GetCurrentPage() == self.Notebook__Vorhanden.GetPage( 2 ) ) ) :
1101
1102
1103
1104
1105 if( self.SiAnfStrktDok__Zugeordnet.TreeCtrlErg__Id.wxObjekt.istDbIdVorhanden( ereignis.GetEventObject().gibDbId() ) ) :
1106
1107
1108 if( ereignis != None ) : ereignis.Skip( skip = True )
1109 return
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130 if( ereignis.GetEventObject().gibClientData()[8] == 'BEWEIS'
1131 and self.TreeCtrlErg__PSAnfId.wxObjekt.gibClientData()[3] not in [22, 23] ) :
1132
1133
1134
1135
1136 if( ereignis != None ) : ereignis.Skip( skip = True )
1137 return
1138
1139
1140
1141
1142
1143
1144 self.dbVerbindung.schreibe__prjPrtDoku(
1145 prjProjekteId = self.prjProjekteId
1146 , prtProtokollId = self.TreeCtrlErg__PSAnfId.wxObjekt.gibDbId()
1147 , dokDokuId = ereignis.GetEventObject().gibWert()
1148 , plPrtDokdoku = [ ereignis.GetEventObject().gibClientData()[1]
1149 , ereignis.GetEventObject().gibClientData()[2]
1150 , ereignis.GetEventObject().gibClientData()[3]
1151 , ereignis.GetEventObject().gibClientData()[0] ]
1152 , plDokAusgabe = [ ereignis.GetEventObject().gibClientData()[7]
1153 , ereignis.GetEventObject().gibClientData()[5]
1154 , ereignis.GetEventObject().gibClientData()[6]
1155 , ereignis.GetEventObject().gibClientData()[4] ] )
1156
1157
1158
1159
1160
1161
1162 self.__ereignisNavigationSiAnf__()
1163
1164
1165
1166
1167
1168
1169 self.Button__Verwerfen.Enable( True )
1170 self.Button__Sichern.Enable( True )
1171
1172
1173
1174
1175
1176
1177 if( ereignis != None ) : ereignis.Skip( skip = True )
1178
1179
1180
1181
1182
1183
1184
1185
1186
1188 """
1189 Methode die aufgerufen wird, wenn die dem Gefahrenszenario zugeordneten Sicherheitsanforderungen-Id ausgelesen werden sollen.
1190 """
1191
1192
1193
1194
1195 self.dbVerbindung.selektiere__psPrtProtokoll(
1196 TreeCtrlErg = self.TreeCtrlErg__PSAnfId.wxObjekt
1197 , prjProjekteId = self.prjProjekteId
1198 , sprSprachenId = self.sprSprachenId
1199 , psGefszenarioId = self.psGefszenarioId
1200 , prtTypId = None )
1201
1202
1203
1204
1205
1206
1207
1208
1210 """
1211 Methode die von der abgeleiteten Klasse überschrieben wird, um spezifische Aktionen beim Verwerfen der Änderungen auszuführen.
1212 """
1213
1214
1215
1216
1217
1218 self.Notebook__Vorhanden.GetPage( 1 ).__ereignisLiesDBVerfSiAnf__()
1219 self.__liesSiAnfId__()
1220