@@ -809,7 +809,7 @@ We hope you’ll enjoy using Planify!""");
809809 return generator. to_data (null );
810810 }
811811
812- public async void move_backend_type_item (Objects .Item item , Objects .Project target_project , string parent_id = "") {
812+ public async void move_backend_type_item (Objects .Item item , Objects .Project target_project , string parent_id = "", bool notify = true ) {
813813 var new_item = item. duplicate ();
814814 new_item. project_id = target_project. id;
815815 new_item. parent_id = parent_id;
@@ -819,14 +819,14 @@ We hope you’ll enjoy using Planify!""");
819819
820820 if (target_project. source_type == SourceType . LOCAL ) {
821821 new_item. id = Util . get_default (). generate_id (new_item);
822- yield add_final_duplicate_item (new_item, item);
822+ yield add_final_duplicate_item (new_item, item, notify );
823823 } else if (target_project. source_type == SourceType . TODOIST ) {
824824 HttpResponse response = yield Services . Todoist . get_default (). add (new_item);
825825 item. loading = false ;
826826
827827 if (response. status) {
828828 new_item. id = response. data;
829- yield add_final_duplicate_item (new_item, item);
829+ yield add_final_duplicate_item (new_item, item, notify );
830830 }
831831 } else if (target_project. source_type == SourceType . CALDAV ) {
832832 new_item. id = Util . get_default (). generate_id (new_item);
@@ -836,13 +836,17 @@ We hope you’ll enjoy using Planify!""");
836836 item. loading = false ;
837837
838838 if (response. status) {
839- yield add_final_duplicate_item (new_item, item);
839+ yield add_final_duplicate_item (new_item, item, notify );
840840 }
841841 }
842842 }
843843
844- public async void add_final_duplicate_item (Objects .Item new_item , Objects .Item item ) {
845- new_item. project. add_item_if_not_exists (new_item);
844+ public async void add_final_duplicate_item (Objects .Item new_item , Objects .Item item , bool notify = true ) {
845+ if (new_item. has_parent) {
846+ new_item. parent. add_item_if_not_exists (new_item);
847+ } else {
848+ new_item. project. add_item_if_not_exists (new_item);
849+ }
846850
847851 foreach (Objects . Reminder reminder in item. reminders) {
848852 var _reminder = reminder. duplicate ();
@@ -859,12 +863,14 @@ We hope you’ll enjoy using Planify!""");
859863 }
860864
861865 foreach (Objects . Item subitem in item. items) {
862- yield move_backend_type_item (subitem, new_item. project, new_item. id);
866+ yield move_backend_type_item (subitem, new_item. project, new_item. id, false );
863867 }
864868
865- Services . EventBus . get_default (). send_toast (
866- create_toast (_(" Task moved to %s " . printf (new_item. project. name)))
867- );
869+ if (notify) {
870+ Services . EventBus . get_default (). send_toast (
871+ create_toast (_(" Task moved to %s " . printf (new_item. project. name)))
872+ );
873+ }
868874
869875 item. delete_item ();
870876 }
0 commit comments