@ -0,0 +1,49 @@ |
|||||
|
.. image:: https://img.shields.io/badge/license-LGPL--3-blue.svg |
||||
|
:target: https://www.gnu.org/licenses/lgpl-3.0-standalone.html |
||||
|
:alt: License: LGPL-3 |
||||
|
|
||||
|
Warranty Management |
||||
|
=================== |
||||
|
Warranty management used to manage warranty of product |
||||
|
|
||||
|
Configuration |
||||
|
============= |
||||
|
- Additional configuration not required |
||||
|
|
||||
|
License |
||||
|
------- |
||||
|
General Public License, Version 3 (LGPL v3). |
||||
|
(https://www.gnu.org/licenses/lgpl-3.0-standalone.html) |
||||
|
|
||||
|
Company |
||||
|
------- |
||||
|
* `Cybrosys Techno Solutions <https://cybrosys.com/>`__ |
||||
|
|
||||
|
Credits |
||||
|
------- |
||||
|
* Developers: |
||||
|
(V16) Subina P, |
||||
|
(V17) Dhanya |
||||
|
Contact: odoo@cybrosys.com |
||||
|
|
||||
|
Contacts |
||||
|
-------- |
||||
|
* Mail Contact : odoo@cybrosys.com |
||||
|
* Website : https://cybrosys.com |
||||
|
|
||||
|
Bug Tracker |
||||
|
----------- |
||||
|
Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. |
||||
|
|
||||
|
Maintainer |
||||
|
========== |
||||
|
.. image:: https://cybrosys.com/images/logo.png |
||||
|
:target: https://cybrosys.com |
||||
|
|
||||
|
This module is maintained by Cybrosys Technologies. |
||||
|
|
||||
|
For support and more information, please visit `Our Website <https://cybrosys.com/>`__ |
||||
|
|
||||
|
Further information |
||||
|
=================== |
||||
|
HTML Description: `<static/description/index.html>`__ |
@ -0,0 +1,23 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
############################################################################# |
||||
|
# |
||||
|
# Cybrosys Technologies Pvt. Ltd. |
||||
|
# |
||||
|
# Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) |
||||
|
# Author: Gayathri V(<https://www.cybrosys.com>) |
||||
|
# |
||||
|
# You can modify it under the terms of the GNU LESSER |
||||
|
# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. |
||||
|
# |
||||
|
# This program is distributed in the hope that it will be useful, |
||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
|
# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. |
||||
|
# |
||||
|
# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE |
||||
|
# (LGPL v3) along with this program. |
||||
|
# If not, see <http://www.gnu.org/licenses/>. |
||||
|
# |
||||
|
############################################################################# |
||||
|
from . import controllers |
||||
|
from . import models |
@ -0,0 +1,57 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
############################################################################# |
||||
|
# |
||||
|
# Cybrosys Technologies Pvt. Ltd. |
||||
|
# |
||||
|
# Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) |
||||
|
# Author: Gayathri V(<https://www.cybrosys.com>) |
||||
|
# |
||||
|
# You can modify it under the terms of the GNU LESSER |
||||
|
# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. |
||||
|
# |
||||
|
# This program is distributed in the hope that it will be useful, |
||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
|
# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. |
||||
|
# |
||||
|
# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE |
||||
|
# (LGPL v3) along with this program. |
||||
|
# If not, see <http://www.gnu.org/licenses/>. |
||||
|
# |
||||
|
############################################################################# |
||||
|
{ |
||||
|
'name': 'Website Warranty Management', |
||||
|
'version': '18.0.1.0.0', |
||||
|
'category': 'Sale', |
||||
|
'summary': 'Warranty management used to manage warranty of product', |
||||
|
'description': """The "Warranty Management" module enables businesses to |
||||
|
efficiently track product warranties, including expiration dates and |
||||
|
associated customer details. Seamlessly integrated with sales processes, |
||||
|
it facilitates easy warranty claim creation from sales orders and enhances |
||||
|
customer experience with website warranty registration.""", |
||||
|
'author': 'Cybrosys Techno Solutions', |
||||
|
'company': 'Cybrosys Techno Solutions', |
||||
|
'maintainer': 'Cybrosys Techno Solutions', |
||||
|
'website': "https://www.cybrosys.com", |
||||
|
'depends': ['sale_management', 'website'], |
||||
|
'data': [ |
||||
|
'data/website_menu_data.xml', |
||||
|
'security/ir.model.access.csv', |
||||
|
'views/product_template_views.xml', |
||||
|
'views/sale_order_views.xml', |
||||
|
'views/website_registration_templates.xml', |
||||
|
'views/warranty_claim_views.xml', |
||||
|
'views/portal_templates.xml', |
||||
|
], |
||||
|
'assets': { |
||||
|
'web.assets_frontend': [ |
||||
|
'website_warranty_management/static/src/js/website_registration.js', |
||||
|
'website_warranty_management/static/src/css/warranty.css', |
||||
|
], |
||||
|
}, |
||||
|
'images': ['static/description/banner.jpg'], |
||||
|
'license': 'LGPL-3', |
||||
|
'installable': True, |
||||
|
'application': False, |
||||
|
'auto_install': False |
||||
|
} |
@ -0,0 +1,23 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
############################################################################# |
||||
|
# |
||||
|
# Cybrosys Technologies Pvt. Ltd. |
||||
|
# |
||||
|
# Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) |
||||
|
# Author: Gayathri V(<https://www.cybrosys.com>) |
||||
|
# |
||||
|
# You can modify it under the terms of the GNU LESSER |
||||
|
# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. |
||||
|
# |
||||
|
# This program is distributed in the hope that it will be useful, |
||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
|
# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. |
||||
|
# |
||||
|
# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE |
||||
|
# (LGPL v3) along with this program. |
||||
|
# If not, see <http://www.gnu.org/licenses/>. |
||||
|
# |
||||
|
############################################################################# |
||||
|
from . import portal |
||||
|
from . import website_warranty_management |
@ -0,0 +1,54 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
############################################################################# |
||||
|
# |
||||
|
# Cybrosys Technologies Pvt. Ltd. |
||||
|
# |
||||
|
# Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) |
||||
|
# Author: Gayathri V(<https://www.cybrosys.com>) |
||||
|
# |
||||
|
# You can modify it under the terms of the GNU LESSER |
||||
|
# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. |
||||
|
# |
||||
|
# This program is distributed in the hope that it will be useful, |
||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
|
# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. |
||||
|
# |
||||
|
# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE |
||||
|
# (LGPL v3) along with this program. |
||||
|
# If not, see <http://www.gnu.org/licenses/>. |
||||
|
# |
||||
|
############################################################################# |
||||
|
from odoo import http |
||||
|
from odoo.addons.portal.controllers.portal import CustomerPortal |
||||
|
from odoo.http import request |
||||
|
|
||||
|
|
||||
|
class PortalAccount(CustomerPortal): |
||||
|
"""Inherited class to add portal menu for warranty claims""" |
||||
|
|
||||
|
def _prepare_home_portal_values(self, counters): |
||||
|
""" Super the function to add the warranty claim menu""" |
||||
|
values = super()._prepare_home_portal_values(counters) |
||||
|
user = request.env.user.partner_id.id |
||||
|
claim_count = (request.env['warranty.claim']. |
||||
|
search_count([('customer_id', '=', user)])) |
||||
|
values['claim_count'] = claim_count |
||||
|
return values |
||||
|
|
||||
|
@http.route('/my/claims', type='http', auth="user", website=True) |
||||
|
def my_claims(self): |
||||
|
""" Define the action to open the warranty claim tree view""" |
||||
|
user = request.env.user.partner_id.id |
||||
|
claims = (request.env['warranty.claim'].sudo(). |
||||
|
search([('customer_id', '=', user)])) |
||||
|
# Extract the required fields and store them in a list of dictionaries |
||||
|
claim_data = [{ |
||||
|
'customer_id': claim.customer_id.name, |
||||
|
'product_id': claim.product_id.name, |
||||
|
'sale_order_id': claim.sale_order_id.name, |
||||
|
'status': claim.state, |
||||
|
} for claim in claims] |
||||
|
# Pass the claim_data to the template |
||||
|
return http.request.render('website_warranty_management.portal_warranty_claims', |
||||
|
{'claim_data': claim_data}) |
@ -0,0 +1,48 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
############################################################################# |
||||
|
# |
||||
|
# Cybrosys Technologies Pvt. Ltd. |
||||
|
# |
||||
|
# Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) |
||||
|
# Author: Gayathri V(<https://www.cybrosys.com>) |
||||
|
# |
||||
|
# You can modify it under the terms of the GNU LESSER |
||||
|
# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. |
||||
|
# |
||||
|
# This program is distributed in the hope that it will be useful, |
||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
|
# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. |
||||
|
# |
||||
|
# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE |
||||
|
# (LGPL v3) along with this program. |
||||
|
# If not, see <http://www.gnu.org/licenses/>. |
||||
|
# |
||||
|
############################################################################# |
||||
|
from odoo import http |
||||
|
from odoo.http import request |
||||
|
|
||||
|
|
||||
|
class WarrantyClaimController(http.Controller): |
||||
|
""" Class for Warranty claim controller""" |
||||
|
|
||||
|
@http.route('/warranty', type='http', auth="public", website=True) |
||||
|
def warranty_claim(self): |
||||
|
""" Function to pass the warranty claim details to the warranty |
||||
|
claim page""" |
||||
|
customers = request.env['res.partner'].sudo().search([]) |
||||
|
sale_orders = request.env['sale.order'].sudo().search([]) |
||||
|
products = request.env['product.template'].sudo().search([]) |
||||
|
return request.render('website_warranty_management.warranty_claim_page', |
||||
|
{'sale_orders': sale_orders, |
||||
|
'customers': customers, |
||||
|
'products': products}) |
||||
|
|
||||
|
@http.route('/warranty/claim/submit', type="http", |
||||
|
auth="public", |
||||
|
methods=["POST"], |
||||
|
website=True, |
||||
|
csrf=False) |
||||
|
def warranty_claim_submit(self,**kwrgs): |
||||
|
"""Function to render the claim thanks view""" |
||||
|
return request.render('website_warranty_management.claim_thanks_view') |
@ -0,0 +1,13 @@ |
|||||
|
<?xml version="1.0" encoding="utf-8" ?> |
||||
|
<odoo> |
||||
|
<!--This XML configuration defines a new menu item for the Odoo website with |
||||
|
the name "Warranty".--> |
||||
|
<data noupdate="1"> |
||||
|
<record id="menu_warranty" model="website.menu"> |
||||
|
<field name="name">Warranty</field> |
||||
|
<field name="url">/warranty</field> |
||||
|
<field name="parent_id" ref="website.main_menu"/> |
||||
|
<field name="sequence" type="int">50</field> |
||||
|
</record> |
||||
|
</data> |
||||
|
</odoo> |
@ -0,0 +1,6 @@ |
|||||
|
## Module <warranty_management> |
||||
|
|
||||
|
#### 25.10.2024 |
||||
|
#### Version 18.0.1.0.0 |
||||
|
#### ADD |
||||
|
- Initial Commit for Warranty Management |
@ -0,0 +1,24 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
############################################################################# |
||||
|
# |
||||
|
# Cybrosys Technologies Pvt. Ltd. |
||||
|
# |
||||
|
# Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) |
||||
|
# Author: Gayathri V(<https://www.cybrosys.com>) |
||||
|
# |
||||
|
# You can modify it under the terms of the GNU LESSER |
||||
|
# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. |
||||
|
# |
||||
|
# This program is distributed in the hope that it will be useful, |
||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
|
# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. |
||||
|
# |
||||
|
# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE |
||||
|
# (LGPL v3) along with this program. |
||||
|
# If not, see <http://www.gnu.org/licenses/>. |
||||
|
# |
||||
|
############################################################################# |
||||
|
from . import product_template |
||||
|
from . import sale_order |
||||
|
from . import warranty_claim |
@ -0,0 +1,35 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
############################################################################# |
||||
|
# |
||||
|
# Cybrosys Technologies Pvt. Ltd. |
||||
|
# |
||||
|
# Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) |
||||
|
# Author: Gayathri V(<https://www.cybrosys.com>) |
||||
|
# |
||||
|
# You can modify it under the terms of the GNU LESSER |
||||
|
# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. |
||||
|
# |
||||
|
# This program is distributed in the hope that it will be useful, |
||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
|
# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. |
||||
|
# |
||||
|
# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE |
||||
|
# (LGPL v3) along with this program. |
||||
|
# If not, see <http://www.gnu.org/licenses/>. |
||||
|
# |
||||
|
############################################################################# |
||||
|
from odoo import fields, models |
||||
|
|
||||
|
|
||||
|
class ProductTemplate(models.Model): |
||||
|
"""Inherited product template to add fields""" |
||||
|
_inherit = 'product.template' |
||||
|
|
||||
|
is_warranty_available = fields.Boolean(string="Warranty Available", |
||||
|
help="Boolean field to check" |
||||
|
"the warranty availability") |
||||
|
warranty_duration = fields.Integer(string="Warranty Duration (months)", |
||||
|
help="Warranty duration") |
||||
|
warranty_expiry = fields.Date(string="Warranty Expiry Date", |
||||
|
help="Warranty expiry date") |
@ -0,0 +1,76 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
############################################################################# |
||||
|
# |
||||
|
# Cybrosys Technologies Pvt. Ltd. |
||||
|
# |
||||
|
# Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) |
||||
|
# Author: Gayathri V(<https://www.cybrosys.com>) |
||||
|
# |
||||
|
# You can modify it under the terms of the GNU LESSER |
||||
|
# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. |
||||
|
# |
||||
|
# This program is distributed in the hope that it will be useful, |
||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
|
# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. |
||||
|
# |
||||
|
# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE |
||||
|
# (LGPL v3) along with this program. |
||||
|
# If not, see <http://www.gnu.org/licenses/>. |
||||
|
# |
||||
|
############################################################################# |
||||
|
from dateutil.relativedelta import relativedelta |
||||
|
from odoo import fields, models |
||||
|
|
||||
|
|
||||
|
class SaleOrder(models.Model): |
||||
|
"""Inherited sale order to super functions to add additional |
||||
|
functionalities""" |
||||
|
_inherit = 'sale.order' |
||||
|
|
||||
|
is_warranty_check = fields.Boolean(string='Warranty Check', |
||||
|
help='Check this box if the item has' |
||||
|
' warranty.') |
||||
|
|
||||
|
def action_confirm(self): |
||||
|
"""Call the super method to perform the default confirmation |
||||
|
behavior""" |
||||
|
super(SaleOrder, self).action_confirm() |
||||
|
# Loop through the order lines and check warranty for each product |
||||
|
for order in self: |
||||
|
for line in order.order_line: |
||||
|
product = line.product_id |
||||
|
if product.is_warranty_available: |
||||
|
self.is_warranty_check = True |
||||
|
else: |
||||
|
self.is_warranty_check = False |
||||
|
if (self.order_line. |
||||
|
filtered(lambda x: x.product_id.is_warranty_available)): |
||||
|
self.is_warranty_check = True |
||||
|
else: |
||||
|
self.is_warranty_check = False |
||||
|
|
||||
|
def action_open_smart_tab(self): |
||||
|
""" To open warranty smart tab""" |
||||
|
domain = [ |
||||
|
('id', 'in', |
||||
|
self.order_line.mapped('product_id.product_tmpl_id.id')), |
||||
|
('is_warranty_available', '=', True), |
||||
|
] |
||||
|
products_with_warranty = self.env['product.template'].search(domain) |
||||
|
for product in products_with_warranty: |
||||
|
# Calculate the warranty expiry date based on the sale order date |
||||
|
warranty_expiry_date = self.date_order + relativedelta( |
||||
|
months=product.warranty_duration) |
||||
|
product.write({'warranty_expiry': warranty_expiry_date}) |
||||
|
return { |
||||
|
'type': 'ir.actions.act_window', |
||||
|
'name': 'Warranty Details', |
||||
|
'view_mode': 'list,form', |
||||
|
'res_model': 'product.template', |
||||
|
'views': [(self.env.ref('website_warranty_management.' |
||||
|
'product_template_view_tree').id, 'list'), |
||||
|
(self.env.ref('website_warranty_management.' |
||||
|
'product_template_view_form').id, 'form')], |
||||
|
'domain': domain |
||||
|
} |
@ -0,0 +1,60 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
############################################################################# |
||||
|
# |
||||
|
# Cybrosys Technologies Pvt. Ltd. |
||||
|
# |
||||
|
# Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) |
||||
|
# Author: Gayathri V(<https://www.cybrosys.com>) |
||||
|
# |
||||
|
# You can modify it under the terms of the GNU LESSER |
||||
|
# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. |
||||
|
# |
||||
|
# This program is distributed in the hope that it will be useful, |
||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
|
# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. |
||||
|
# |
||||
|
# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE |
||||
|
# (LGPL v3) along with this program. |
||||
|
# If not, see <http://www.gnu.org/licenses/>. |
||||
|
# |
||||
|
############################################################################# |
||||
|
from odoo import fields, models |
||||
|
|
||||
|
|
||||
|
class WarrantyClaim(models.Model): |
||||
|
""" Warranty claim class to add fields for warranty claim""" |
||||
|
_name = 'warranty.claim' |
||||
|
_rec_name = "sale_order_id" |
||||
|
_description = 'Warranty Claim' |
||||
|
|
||||
|
customer_id = fields.Many2one('res.partner', |
||||
|
string='Customer Name', |
||||
|
help="Customer selection", |
||||
|
required=True) |
||||
|
sale_order_id = fields.Many2one('sale.order', |
||||
|
help="To select the sale order", |
||||
|
string='Sale Order') |
||||
|
product_id = fields.Many2one('product.product', |
||||
|
string='Product', |
||||
|
help="To select the product", |
||||
|
required=True) |
||||
|
partner_id = fields.Many2one('res.users', string='User', |
||||
|
help="To select the partner", |
||||
|
default=lambda self: self.env.user) |
||||
|
state = fields.Selection( |
||||
|
[('draft', 'Draft'), ('approved', 'Approved'), |
||||
|
('rejected', 'Rejected')], default='draft', String="Status", |
||||
|
help="To select the state") |
||||
|
product_expiry_date = fields.Date( |
||||
|
string='Product Expiry Date', help="To get the product expiry date", |
||||
|
related='product_id.product_tmpl_id.warranty_expiry', |
||||
|
store=True, readonly=True) |
||||
|
|
||||
|
def change_status_approved(self): |
||||
|
""" Function to change the status of the claim to approved""" |
||||
|
self.state = 'approved' |
||||
|
|
||||
|
def change_status_rejected(self): |
||||
|
""" Function to change the status of the claim to rejected""" |
||||
|
self.state = 'rejected' |
|
After Width: | Height: | Size: 2.2 KiB |
After Width: | Height: | Size: 28 KiB |
After Width: | Height: | Size: 628 KiB |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 210 KiB |
After Width: | Height: | Size: 209 KiB |
After Width: | Height: | Size: 109 KiB |
After Width: | Height: | Size: 495 B |
After Width: | Height: | Size: 1.0 KiB |
After Width: | Height: | Size: 624 B |
After Width: | Height: | Size: 136 KiB |
After Width: | Height: | Size: 214 KiB |
After Width: | Height: | Size: 36 KiB |
After Width: | Height: | Size: 36 KiB |
After Width: | Height: | Size: 3.6 KiB |
After Width: | Height: | Size: 310 B |
After Width: | Height: | Size: 929 B |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 3.3 KiB |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 17 KiB |
After Width: | Height: | Size: 542 B |
After Width: | Height: | Size: 576 B |
After Width: | Height: | Size: 733 B |
After Width: | Height: | Size: 4.3 KiB |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 4.0 KiB |
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 153 KiB |
After Width: | Height: | Size: 2.2 KiB |
After Width: | Height: | Size: 911 B |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 600 B |
After Width: | Height: | Size: 673 B |
After Width: | Height: | Size: 2.0 KiB |
After Width: | Height: | Size: 462 B |
After Width: | Height: | Size: 2.1 KiB |
After Width: | Height: | Size: 926 B |
After Width: | Height: | Size: 9.0 KiB |
After Width: | Height: | Size: 23 KiB |
After Width: | Height: | Size: 7.0 KiB |
After Width: | Height: | Size: 11 KiB |
After Width: | Height: | Size: 878 B |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 653 B |
After Width: | Height: | Size: 800 B |
After Width: | Height: | Size: 905 B |
After Width: | Height: | Size: 189 KiB |
After Width: | Height: | Size: 4.3 KiB |
After Width: | Height: | Size: 839 B |
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 5.9 KiB |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 34 KiB |
After Width: | Height: | Size: 26 KiB |
After Width: | Height: | Size: 3.8 KiB |
After Width: | Height: | Size: 23 KiB |
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 427 B |
After Width: | Height: | Size: 627 B |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 988 B |
After Width: | Height: | Size: 3.7 KiB |
After Width: | Height: | Size: 5.0 KiB |
After Width: | Height: | Size: 875 B |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 80 KiB |
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 2.1 KiB |
After Width: | Height: | Size: 4.4 KiB |
After Width: | Height: | Size: 3.2 KiB |
After Width: | Height: | Size: 589 B |
After Width: | Height: | Size: 3.4 KiB |
After Width: | Height: | Size: 565 B |
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 967 B |
After Width: | Height: | Size: 26 KiB |
After Width: | Height: | Size: 1.6 KiB |