Code Duplication    Length = 28-29 lines in 2 locations

crudbuilder/views.py 2 locations

@@ 113-141 (lines=29) @@
110
        self.classes[name] = list_class
111
        return list_class
112
113
    def generate_create_view(self):
114
        """Generate class based view for CreateView"""
115
116
        name = model_class_form(self.model + 'CreateView')
117
        create_args = dict(
118
            form_class=self.get_actual_form('create'),
119
            model=self.get_model_class,
120
            template_name=self.get_template('create'),
121
            permissions=self.view_permission('create'),
122
            permission_required=self.check_permission_required,
123
            login_required=self.check_login_required,
124
            inlineformset=self.inlineformset,
125
            success_url=reverse_lazy('{}-{}-list'.format(self.app, self.custom_postfix_url)),
126
            custom_form=self.createupdate_forms or self.custom_modelform,
127
            custom_postfix_url=self.custom_postfix_url
128
        )
129
130
        parent_classes = [self.get_createupdate_mixin(), CreateView]
131
        if self.custom_create_view_mixin:
132
            parent_classes.insert(0, self.custom_create_view_mixin)
133
134
        create_class = type(
135
            name,
136
            tuple(parent_classes),
137
            create_args
138
        )
139
140
        self.classes[name] = create_class
141
        return create_class
142
143
    def generate_detail_view(self):
144
        """Generate class based view for DetailView"""
@@ 162-189 (lines=28) @@
159
        self.classes[name] = detail_class
160
        return detail_class
161
162
    def generate_update_view(self):
163
        """Generate class based view for UpdateView"""
164
165
        name = model_class_form(self.model + 'UpdateView')
166
        update_args = dict(
167
            form_class=self.get_actual_form('update'),
168
            model=self.get_model_class,
169
            template_name=self.get_template('update'),
170
            permissions=self.view_permission('update'),
171
            permission_required=self.check_permission_required,
172
            login_required=self.check_login_required,
173
            inlineformset=self.inlineformset,
174
            custom_form=self.createupdate_forms or self.custom_modelform,
175
            success_url=reverse_lazy('{}-{}-list'.format(self.app, self.custom_postfix_url)),
176
            custom_postfix_url=self.custom_postfix_url
177
        )
178
179
        parent_classes = [self.get_createupdate_mixin(), UpdateView]
180
        if self.custom_update_view_mixin:
181
            parent_classes.insert(0, self.custom_update_view_mixin)
182
183
        update_class = type(
184
            name,
185
            tuple(parent_classes),
186
            update_args
187
        )
188
        self.classes[name] = update_class
189
        return update_class
190
191
    def generate_delete_view(self):
192
        """Generate class based view for DeleteView"""