Code Duplication    Length = 36-36 lines in 2 locations

admin_pages/events/Events_Admin_Page.core.php 1 location

@@ 2189-2224 (lines=36) @@
2186
        // prices, message templates, etc, whose model definition doesn't make them dependent on events. But,
2187
        // we have no UI to access them independent of events, so they may as well get deleted too.)
2188
        $model_objects_to_delete = [];
2189
        foreach ($event_ids as $event_id) {
2190
            $event = EEM_Event::instance()->get_one_by_ID($event_id);
2191
//            $model_objects_to_delete[] = $event;
2192
            // Also, we want to delete their related, non-global, tickets, prices and message templates
2193
            $related_non_global_tickets = EEM_Ticket::instance()->get_all_deleted_and_undeleted(
2194
                [
2195
                    [
2196
                        'TKT_is_default' => false,
2197
                        'Datetime.EVT_ID' => $event_id
2198
                    ]
2199
                ]
2200
            );
2201
            $related_non_global_prices = EEM_Price::instance()->get_all_deleted_and_undeleted(
2202
                [
2203
                    [
2204
                        'PRC_is_default' => false,
2205
                        'Ticket.Datetime.EVT_ID' => $event_id
2206
                    ]
2207
                ]
2208
            );
2209
            $related_message_templates = $event->get_many_related(
2210
                'Message_Template_Group',
2211
                [
2212
                    [
2213
                        'MTP_is_global' => false
2214
                    ]
2215
                ]
2216
            );
2217
            $model_objects_to_delete = array_merge(
2218
                $model_objects_to_delete,
2219
                [$event],
2220
                $related_non_global_tickets,
2221
                $related_non_global_prices,
2222
                $related_message_templates
2223
            );
2224
        }
2225
2226
        // Find all the dependent model objects we want to delete.
2227
        $ids_to_delete = [];

core/libraries/batch/JobHandlers/PreviewEventDeletion.php 1 location

@@ 44-79 (lines=36) @@
41
        // prices, message templates, etc, whose model definition doesn't make them dependent on events. But,
42
        // we have no UI to access them independent of events, so they may as well get deleted too.)
43
        $model_objects_to_delete = [];
44
        foreach ($event_ids as $event_id) {
45
            $event = EEM_Event::instance()->get_one_by_ID($event_id);
46
//            $model_objects_to_delete[] = $event;
47
            // Also, we want to delete their related, non-global, tickets, prices and message templates
48
            $related_non_global_tickets = EEM_Ticket::instance()->get_all_deleted_and_undeleted(
49
                [
50
                    [
51
                        'TKT_is_default' => false,
52
                        'Datetime.EVT_ID' => $event_id
53
                    ]
54
                ]
55
            );
56
            $related_non_global_prices = EEM_Price::instance()->get_all_deleted_and_undeleted(
57
                [
58
                    [
59
                        'PRC_is_default' => false,
60
                        'Ticket.Datetime.EVT_ID' => $event_id
61
                    ]
62
                ]
63
            );
64
            $related_message_templates = $event->get_many_related(
65
                'Message_Template_Group',
66
                [
67
                    [
68
                        'MTP_is_global' => false
69
                    ]
70
                ]
71
            );
72
            $model_objects_to_delete = array_merge(
73
                $model_objects_to_delete,
74
                [$event],
75
                $related_non_global_tickets,
76
                $related_non_global_prices,
77
                $related_message_templates
78
            );
79
        }
80
        $roots = [];
81
        foreach($model_objects_to_delete as $model_object){
82
            $roots[] = new ModelObjNode($model_objects_to_delete);