File tree Expand file tree Collapse file tree 2 files changed +17
-7
lines changed Expand file tree Collapse file tree 2 files changed +17
-7
lines changed Original file line number Diff line number Diff line change @@ -35,9 +35,8 @@ def reparent_decks(
35
35
return CollectionOp (
36
36
parent , lambda col : col .decks .reparent (deck_ids = deck_ids , new_parent = new_parent )
37
37
).success (
38
- lambda out : tooltip (
39
- tr .browsing_reparented_decks (count = out .count ), parent = parent
40
- )
38
+ lambda out : out .count > 0
39
+ and tooltip (tr .browsing_reparented_decks (count = out .count ), parent = parent )
41
40
)
42
41
43
42
Original file line number Diff line number Diff line change @@ -20,22 +20,33 @@ impl Collection {
20
20
new_parent : Option < DeckId > ,
21
21
) -> Result < usize > {
22
22
let usn = self . usn ( ) ?;
23
- let target_deck;
23
+ let mut target_deck = None ;
24
24
let mut target_name = None ;
25
25
if let Some ( target) = new_parent {
26
26
if let Some ( target) = self . storage . get_deck ( target) ? {
27
27
if target. is_filtered ( ) {
28
28
return Err ( FilteredDeckError :: MustBeLeafNode . into ( ) ) ;
29
29
}
30
- target_deck = target;
31
- target_name = Some ( & target_deck. name ) ;
30
+ target_deck = Some ( target) ;
31
+ target_name = Some ( target_deck. as_ref ( ) . unwrap ( ) . name . clone ( ) ) ;
32
32
}
33
33
}
34
34
35
35
let mut count = 0 ;
36
36
for deck in deck_ids {
37
37
if let Some ( mut deck) = self . storage . get_deck ( * deck) ? {
38
- if let Some ( new_name) = deck. name . reparented_name ( target_name) {
38
+ if let Some ( new_name) = deck. name . reparented_name ( target_name. as_ref ( ) ) {
39
+
40
+ let parent_decks = self . storage . parent_decks ( & deck) . unwrap ( ) ;
41
+ match target_deck {
42
+ Some ( ref target) => if parent_decks. contains ( & target) {
43
+ continue ;
44
+ }
45
+ None => if parent_decks. is_empty ( ) {
46
+ continue ;
47
+ }
48
+ }
49
+
39
50
count += 1 ;
40
51
let orig = deck. clone ( ) ;
41
52
You can’t perform that action at this time.
0 commit comments