浏览代码

first commit

jack 9 月之前
当前提交
d842920884
共有 14 个文件被更改,包括 290 次插入0 次删除
  1. 67 0
      .gitignore
  2. 0 0
      Readme.md
  3. 7 0
      __init__.py
  4. 21 0
      __manifest__.py
  5. 3 0
      controllers/__init__.py
  6. 22 0
      controllers/controllers.py
  7. 30 0
      demo/demo.xml
  8. 4 0
      models/__init__.py
  9. 24 0
      models/codes.py
  10. 9 0
      models/home_page.py
  11. 3 0
      security/ir.model.access.csv
  12. 22 0
      security/security.xml
  13. 56 0
      views/view_codes.xml
  14. 22 0
      views/view_homepage.xml

+ 67 - 0
.gitignore

@@ -0,0 +1,67 @@
+.DS_Store
+# Byte-compiled / optimized / DLL files
+__pycache__/
+*.py[cod]
+*$py.class
+
+# C extensions
+*.so
+
+# Distribution / packaging
+.Python
+env/
+build/
+develop-eggs/
+dist/
+downloads/
+eggs/
+.eggs/
+lib/
+lib64/
+parts/
+sdist/
+var/
+*.egg-info/
+.installed.cfg
+*.egg
+.idea/*
+xml_files/
+
+# PyInstaller
+#  Usually these files are written by a python script from a template
+#  before PyInstaller builds the exe, so as to inject date/other infos into it.
+*.manifest
+*.spec
+
+# Installer logs
+pip-log.txt
+pip-delete-this-directory.txt
+
+# Unit test / coverage reports
+htmlcov/
+.tox/
+.coverage
+.coverage.*
+.cache
+nosetests.xml
+coverage.xml
+*,cover
+
+# Translations
+*.mo
+*.pot
+
+# Django stuff:
+*.log
+
+# Sphinx documentation
+docs/_build/
+
+# PyBuilder
+target/
+
+other/split_clash_config/split_config
+ai_news/save_data
+
+manual/clash/clash_each_node
+manual/singbox/singbox_each_node

+ 0 - 0
Readme.md


+ 7 - 0
__init__.py

@@ -0,0 +1,7 @@
+# -*- coding: utf-8 -*-
+
+# from . import controllers
+from . import security
+from . import models
+from . import views
+from . import wizard

+ 21 - 0
__manifest__.py

@@ -0,0 +1,21 @@
+# -*- coding: utf-8 -*-
+{
+    "name": "Home",
+    "version": "1.0",
+    "author": "Jack",
+    "category": "auto_bot/Home",
+    'summary': 'Home',
+    'description': """Home""",
+    "depends": ["base"],
+    "data": [
+        "security/ir.model.access.csv",
+        "security/security.xml",
+        "views/view_homepage.xml",
+        "views/view_codes.xml"
+    ],
+    "installable": True,
+    "auto_install": True,
+    "application": True,
+    'main_data': ['home.page'],
+    'license': 'LGPL-3',
+}

+ 3 - 0
controllers/__init__.py

@@ -0,0 +1,3 @@
+# -*- coding: utf-8 -*-
+
+from . import controllers

+ 22 - 0
controllers/controllers.py

@@ -0,0 +1,22 @@
+# -*- coding: utf-8 -*-
+# from odoo import http
+
+
+# class Home(http.Controller):
+#     @http.route('/home/home', auth='public')
+#     def index(self, **kw):
+#         return "Hello, world"
+
+#     @http.route('/home/home/objects', auth='public')
+#     def list(self, **kw):
+#         return http.request.render('home.listing', {
+#             'root': '/home/home',
+#             'objects': http.request.env['home.home'].search([]),
+#         })
+
+#     @http.route('/home/home/objects/<model("home.home"):obj>', auth='public')
+#     def object(self, obj, **kw):
+#         return http.request.render('home.object', {
+#             'object': obj
+#         })
+

+ 30 - 0
demo/demo.xml

@@ -0,0 +1,30 @@
+<odoo>
+    <data>
+<!--
+          <record id="object0" model="home.home">
+            <field name="name">Object 0</field>
+            <field name="value">0</field>
+          </record>
+
+          <record id="object1" model="home.home">
+            <field name="name">Object 1</field>
+            <field name="value">10</field>
+          </record>
+
+          <record id="object2" model="home.home">
+            <field name="name">Object 2</field>
+            <field name="value">20</field>
+          </record>
+
+          <record id="object3" model="home.home">
+            <field name="name">Object 3</field>
+            <field name="value">30</field>
+          </record>
+
+          <record id="object4" model="home.home">
+            <field name="name">Object 4</field>
+            <field name="value">40</field>
+          </record>
+-->
+    </data>
+</odoo>

+ 4 - 0
models/__init__.py

@@ -0,0 +1,4 @@
+# -*- coding: utf-8 -*-
+
+from . import home_page
+from . import codes

+ 24 - 0
models/codes.py

@@ -0,0 +1,24 @@
+# -*- coding: utf-8 -*-
+
+import datetime
+from odoo import _, api, fields, models
+from odoo.exceptions import UserError
+
+
+class Codes(models.Model):
+    _name = "codes"
+    _description = "Codes"
+
+    name = fields.Char("Name")
+
+    active = fields.Boolean("Active", default=True)
+
+    codes = fields.Text("Codes")
+
+    def btn_run(self):
+        start_time = datetime.datetime.now()
+        logs = []
+        try:
+            exec(self.codes, globals(), locals())
+        except Exception as e:
+            raise UserError(str(e))

+ 9 - 0
models/home_page.py

@@ -0,0 +1,9 @@
+# -*- coding: utf-8 -*-
+
+from odoo import models, fields
+
+
+class HomePage(models.TransientModel):
+    _name = 'home.page'
+    _description = 'Home Page'
+    _transient = True

+ 3 - 0
security/ir.model.access.csv

@@ -0,0 +1,3 @@
+id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
+access_home_page_access,"Home Page",model_home_page,base.group_user,1,1,1,1
+access_codes_access,"Home Codes Access",model_codes,base.group_user,1,1,1,1

+ 22 - 0
security/security.xml

@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<odoo>
+    <record id="home_page_access" model="ir.model.access">
+        <field name="name">Home Page Access</field>
+        <field name="model_id" ref="model_home_page"/>
+        <field name="group_id" ref="base.group_user"/>
+        <field name="perm_read" eval="1"/>
+        <field name="perm_write" eval="0"/>
+        <field name="perm_create" eval="0"/>
+        <field name="perm_unlink" eval="0"/>
+    </record>
+
+    <record id="codes_access" model="ir.model.access">
+        <field name="name">Home Codes Access</field>
+        <field name="model_id" ref="home.model_codes"/>
+        <field name="group_id" ref="base.group_user"/>
+        <field name="perm_read" eval="1"/>
+        <field name="perm_write" eval="1"/>
+        <field name="perm_create" eval="1"/>
+        <field name="perm_unlink" eval="1"/>
+    </record>
+</odoo>

+ 56 - 0
views/view_codes.xml

@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<odoo>
+    <record model="ir.ui.view" id="tree_codes">
+        <field name="name">Codes - Tree</field>
+        <field name="model">codes</field>
+        <field name="arch" type="xml">
+            <list>
+                <field name="name"/>
+                <field name="create_date"/>
+                <field name="write_date"/>
+            </list>
+        </field>
+    </record>
+
+    <record model="ir.ui.view" id="form_codes">
+        <field name="name">Codes - Form</field>
+        <field name="model">codes</field>
+        <field name="arch" type="xml">
+            <form>
+                <header>
+                    <button name="btn_run" type="object" string="Manual Run" class="btn-danger"/>
+                </header>
+                <sheet>
+                    <group>
+                        <group>
+                            <field name="name"/>
+                        </group>
+                        <group>
+
+                        </group>
+                    </group>
+                    <field name="codes" nolabel="1" colspan="2" widget="ace" options="{'mode': 'python'}"/>
+                </sheet>
+            </form>
+        </field>
+    </record>
+
+    <record model="ir.ui.view" id="search_codes">
+        <field name="name">Codes - Search</field>
+        <field name="model">codes</field>
+        <field name="arch" type="xml">
+            <search>
+                <filter string="Archived" name="inactive" domain="[('active','=',False)]"/>
+                <field name="name" string="Name"></field>
+            </search>
+        </field>
+    </record>
+
+    <record model="ir.actions.act_window" id="act_win_codes">
+        <field name="name">Codes</field>
+        <field name="res_model">codes</field>
+        <field name="view_mode">list,form</field>
+    </record>
+
+    <menuitem id="codes" action="act_win_codes" parent="home.menu_home_setting"/>
+</odoo>

+ 22 - 0
views/view_homepage.xml

@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<odoo>
+    <record id="view_home_page_tree" model="ir.ui.view">
+        <field name="name">home.page.form</field>
+        <field name="model">home.page</field>
+        <field name="arch" type="xml">
+            <list string="Home Page" create="0">
+            </list>
+        </field>
+    </record>
+
+    <record id="action_home_page" model="ir.actions.act_window">
+        <field name="name">Home Page</field>
+        <field name="res_model">home.page</field>
+        <field name="view_mode">list</field>
+        <field name="view_id" ref="view_home_page_tree"/>
+    </record>
+
+    <menuitem id="menu_home_page" name="Home Page" action="action_home_page" sequence="1"/>
+
+    <menuitem id="menu_home_setting" name="Setting" parent="home.menu_home_page" sequence="1"/>
+</odoo>