@@ -35,13 +35,26 @@ def filter_layers(self, filter_from_date: QDate, filter_to_date: QDate, gesicher
3535 date (QDate): The date to filter layers by.
3636 gesichert (bool): If True, use gesichert fields; otherwise, use vermutlich fields.
3737 """
38+ project_layers = QgsProject .instance ().mapLayers ().values ()
39+
40+ if not next (iter (project_layers ), None ):
41+ self .iface .messageBar ().pushWarning ("Urkataster Tools" , "Es sind keine Layer im Projekt vorhanden." )
42+ return
43+
3844 from_field = self .GESICHERT_AB_FIELD if gesichert else self .VERMUTLICH_AB_FIELD
3945 to_field = self .GESICHERT_BIS_FIELD if gesichert else self .VERMUTLICH_BIS_FIELD
4046
4147 filter_from_date_str = filter_from_date .toString ("yyyy-MM-dd" )
4248 filter_to_date_str = filter_to_date .toString ("yyyy-MM-dd" )
43- for layer in QgsProject .instance ().mapLayers ().values ():
49+
50+ for layer in project_layers :
4451 if layer .type () == QgsMapLayer .VectorLayer :
52+ if layer .isEditable ():
53+ self .iface .messageBar ().pushWarning (
54+ "Urkataster Tools" ,
55+ "Filter können nicht angewendet werden, solange ein Layer nicht im Bearbeitungsmodus ist." ,
56+ )
57+ return
4558 if layer .fields ().indexFromName (from_field ) != - 1 and layer .fields ().indexFromName (to_field ) != - 1 :
4659 self ._apply_filter (layer , filter_from_date_str , filter_to_date_str , from_field , to_field )
4760 self .iface .mainWindow ().statusBar ().showMessage (
@@ -72,9 +85,20 @@ def clear_filters(self):
7285 date (QDate): The date to filter layers by.
7386 gesichert (bool): If True, use gesichert fields; otherwise, use vermutlich fields.
7487 """
88+ project_layers = QgsProject .instance ().mapLayers ().values ()
89+
90+ if not next (iter (project_layers ), None ):
91+ self .iface .messageBar ().pushWarning ("Urkataster Tools" , "Es sind keine Layer im Projekt vorhanden." )
92+ return
7593
76- for layer in QgsProject . instance (). mapLayers (). values () :
94+ for layer in project_layers :
7795 if layer .type () == QgsMapLayer .VectorLayer :
96+ if layer .isEditable ():
97+ self .iface .messageBar ().pushWarning (
98+ "Urkataster Tools" ,
99+ "Filter können nicht entfernt werden, solange ein Layer nicht im Bearbeitungsmodus ist." ,
100+ )
101+ return
78102 if layer .name () == "Referenzobjekt (Gebäude)" :
79103 layer .setSubsetString ("(art = 'gebaeude')" )
80104 elif layer .name () == "Referenzobjekt (Parzelle)" :
0 commit comments