Error when compiling AST SyntaxError: unexpected EOF while parsing (<unknown>, line 1) Template: 1013 Path: /templates/t/t/t/div/div/t/t/t/table[2]/tbody/t/t/t/t/tr/td[3]/span Node: <span t-raw="'%s' % line.marks if line.marks ''"/>assignment_report.xml file
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data>
<template id="report_assignment_report">
<style>
.font{
font-size:14px;
font-family:"Helvetica"
}
@page{
margin-top:1%;
size: A4;
}
</style>
<t t-call="web.html_container">
<t t-call="web.external_layout">
<div class="font">
<div class="page">
<t t-foreach="get_objects(docs)" t-as="objs">
<t t-foreach="objs" t-as="obj">
<div class="text-center">
<h2>
Assignment Report
</h2>
</div>
<br></br>
<br></br>
<t>
<table width="100%">
<tbody>
<tr>
<td
width="17%">
<b>Teacher
</b>
</td>
<td>
:
<span
t-raw="'%s' % obj.faculty_id.name if obj.faculty_id.name else ''"/>
</td>
<td
width="15%">
<b>Subject
</b>
</td>
<td>
:
<span
t-raw="'%s' % obj.subject_id.name if obj.subject_id.name else ''"/>
</td>
</tr>
</tbody>
</table>
<br></br>
<br></br>
<table class="table table-bordered" style="width:100%; table-layout: fixed">
<thead>
<th
class="text-center">SNO
</th>
<th
class="text-center">Name of Student
</th>
<th
class="text-center">CW
</th>
<th
class="text-center">HW
</th>
<th
class="text-center">PROJECT
</th>
<th
class="text-center">QUIZ1
</th>
<th
class="text-center">QUIZ2
</th>
<th
class="text-center">QUIZ3
</th>
<th
class="text-center">UT
</th>
<th
class="text-center">FINAL
</th>
</thead>
<tbody>
<t t-foreach="get_objects(docs)" t-as="objs">
<t t-foreach="objs" t-as="obj">
<t t-foreach="get_lines(obj)" t-as="lines">
<t t-foreach ="lines" t-as = "line" >
<tr>
<td class="text-center">
<span t-esc="line_index+1"/>
</td>
<td class="text-left">
<span t-raw="'%s' % line.student_id.name if line.student_id.name else ''"/>
<span t-raw="'%s' % line.assignment_id.assignment_type_id.name if line.assignment_id.assignment_type_id.name else ''"/>
</td>
<td class="text-right" t-if="line.assignment_id.assignment_type_id.name == 'Assignment-1' ">
<span t-raw="'%s' % line.marks if line.marks ''"/>
</td>
<td
class="text-right" t-if="lines.assignment_id.assignment_type_id.name == 'Assignment-2' ">
<span
t-raw="'%s' % Assignment_1(line) if Assignment_1(line) else ''"/>
</td>
<td class="text-right" t-if="obj.assignment_id.assignment_type_id.name == 'Assignment-3' ">
<span t-raw="'%s' % Assignment_2(obj) if Assignment_2(obj) else ''"/>
</td>
<td class="text-right" t-if="lines.assignment_type_id == 'Assignment-4' ">
<span
t-raw="'%s' % result.marks if result.marks else ''"/>
</td>
<td class="text-right" t-if="lines.assignment_type_id == 'Assignment-5' ">
<span
t-raw="'%s' % result.marks if result.marks else ''"/>
</td>
<td
class="text-right" t-if="lines.assignment_type_id == 'Assignment-6' ">
<span
t-raw="'%s' % result.marks if result.marks else ''"/>
</td>
<td
class="text-right" t-if="lines.assignment_type_id == 'Assignment-7' ">
<span
t-raw="'%s' % result.marks if result.marks else ''"/>
</td>
<td class="text-right" >
<span
t-raw="'%s' % get_total(get_lines(obj)) if get_total(get_lines(obj)) else ''"/>
</td>
</tr>
</t>
</t>
</t>
</t>
</tbody>
</table>
<br></br>
<br></br>
</t>
<p style="page-break-after: always;"></p>
</t>
</t>
</div>
</div>
</t>
</t>
</template>
</data>
</odoo>
assignment_report.py file
#import time
from odoo import models, api, fields
class ReportAssignmentReport(models.AbstractModel):
_name = "report.openeducat_assignment.report_assignment_report"
def get_objects(self, records):
obj = []
for object in records:
obj.extend(object)
return obj
def get_lines(self, obj):
lines = []
for line in obj.assignment_sub_line:
lines.extend(line)
return lines
def get_date(self, date):
date1 = fields.Date.to_date(date)
return str(date1.month) + ' / ' + str(date1.year)
def get_total(self, assignment_sub_line):
total = [x.student_id.marks for x in assignment_sub_line]
return sum(total)
def Assignment_1(self, lines):
cw = []
for line in lines:
if line.assignment_type_id.name == 'Assignment_1':
marks = [x.marks for x in line]
cw.extend(marks)
return cw
def Assignment_2(self, lines):
hw = []
for line in lines:
if line.assignment_type_id.name == 'Assignment_2':
marks = [x.marks for x in line]
hw.extend(marks)
return hw
@api.model
def _get_report_values(self, docids, data=None):
docs = self.env['op.assignment'].browse(docids)
docargs = {
'doc_model': 'op.assignment',
'doc_ids': self.ids,
'docs': docs,
'time': time,
'get_objects': self.get_objects,
'get_lines': self.get_lines,
'get_date': self.get_date,
'get_total': self.get_total,
'Assignment_1': self.Assignment_1,
'Assignment_2': self.Assignment_2,
}
return docargs
i am not able to find solution can anybody please tell me solution
Try using : t-if in given node error or assign '=' sign in statement and check again.