Bỏ qua để đến Nội dung
Menu
Câu hỏi này đã bị gắn cờ
1 Trả lời
4444 Lượt xem

I really need to make a change to JasperReports but I'm not able to inherit and override a method.

In /JasperReports/JasperServer.py or /jasper_report.py, I need to change the "execute" method.

class Report:
    def __init__(self, name, cr, uid, ids, data, context):
        etc...
        etc...

    def execute(self):


How can one do this since the class has no name for us to declare the inheritance?

Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất

Rui, the Report is not an osv/orm Class, but a normal Python class.  So you can use normal Python inheritance for your purpose.

Ảnh đại diện
Huỷ bỏ
Tác giả

Thanks. So, following an example I found, what I did was: class Report(): def __init__(self, name, cr, uid, ids, data, context): Report.__init__(self) It didn't work. Not even the init was being executed.

I can point out that your code did not perform any inheritance at all. If you inherit a class in Python, you need to include it in the class definition, e.g. class My_Report(Report): ..... Do familiarize yourself with python language and inheritance or get help from someone who does. I can't say that I'm an expert.

Bài viết liên quan Trả lời Lượt xem Hoạt động
1
thg 1 17
3724
0
thg 3 15
3367
0
thg 3 15
3891
2
thg 3 15
5495
1
thg 8 20
15571