Ver código fonte

feat: Initialize App

pull/2/head
phot0n 2 anos atrás
pai
commit
9feb43cb71
18 arquivos alterados com 362 adições e 0 exclusões
  1. +90
    -0
      .github/workflows/ci.yml
  2. +7
    -0
      .gitignore
  3. +18
    -0
      MANIFEST.in
  4. +7
    -0
      README.md
  5. +1
    -0
      license.txt
  6. +3
    -0
      pay/__init__.py
  7. +0
    -0
      pay/config/__init__.py
  8. +10
    -0
      pay/config/desktop.py
  9. +10
    -0
      pay/config/docs.py
  10. +195
    -0
      pay/hooks.py
  11. +1
    -0
      pay/modules.txt
  12. +0
    -0
      pay/patches.txt
  13. +0
    -0
      pay/payments/__init__.py
  14. +0
    -0
      pay/public/.gitkeep
  15. +0
    -0
      pay/templates/__init__.py
  16. +0
    -0
      pay/templates/pages/__init__.py
  17. +1
    -0
      requirements.txt
  18. +19
    -0
      setup.py

+ 90
- 0
.github/workflows/ci.yml Ver arquivo

@@ -0,0 +1,90 @@

name: CI

on:
push:
branches:
- develop
pull_request:

concurrency:
group: develop-pay-${{ github.event.number }}
cancel-in-progress: true

jobs:
tests:
runs-on: ubuntu-latest
strategy:
fail-fast: false
name: Server

services:
mariadb:
image: mariadb:10.6
env:
MYSQL_ROOT_PASSWORD: root
ports:
- 3306:3306
options: --health-cmd="mysqladmin ping" --health-interval=5s --health-timeout=2s --health-retries=3

steps:
- name: Clone
uses: actions/checkout@v2

- name: Setup Python
uses: actions/setup-python@v2
with:
python-version: '3.10'

- name: Setup Node
uses: actions/setup-node@v2
with:
node-version: 14
check-latest: true

- name: Cache pip
uses: actions/cache@v2
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('**/*requirements.txt', '**/pyproject.toml', '**/setup.py', '**/setup.cfg') }}
restore-keys: |
${{ runner.os }}-pip-
${{ runner.os }}-

- name: Get yarn cache directory path
id: yarn-cache-dir-path
run: 'echo "::set-output name=dir::$(yarn cache dir)"'

- uses: actions/cache@v2
id: yarn-cache
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-

- name: Setup
run: |
pip install frappe-bench
bench init --skip-redis-config-generation --skip-assets --python "$(which python)" ~/frappe-bench
mysql --host 127.0.0.1 --port 3306 -u root -proot -e "SET GLOBAL character_set_server = 'utf8mb4'"
mysql --host 127.0.0.1 --port 3306 -u root -proot -e "SET GLOBAL collation_server = 'utf8mb4_unicode_ci'"

- name: Install
working-directory: /home/runner/frappe-bench
run: |
bench get-app pay $GITHUB_WORKSPACE
bench setup requirements --dev
bench new-site --db-root-password root --admin-password admin test_site
bench --site test_site install-app pay
bench build
env:
CI: 'Yes'

- name: Run Tests
working-directory: /home/runner/frappe-bench
run: |
bench --site test_site set-config allow_tests true
bench --site test_site run-tests --app pay
env:
TYPE: server

+ 7
- 0
.gitignore Ver arquivo

@@ -0,0 +1,7 @@
.DS_Store
*.pyc
*.egg-info
*.swp
tags
pay/docs/current
node_modules/

+ 18
- 0
MANIFEST.in Ver arquivo

@@ -0,0 +1,18 @@
include MANIFEST.in
include requirements.txt
include *.json
include *.md
include *.py
include *.txt
recursive-include pay *.css
recursive-include pay *.csv
recursive-include pay *.html
recursive-include pay *.ico
recursive-include pay *.js
recursive-include pay *.json
recursive-include pay *.md
recursive-include pay *.png
recursive-include pay *.py
recursive-include pay *.svg
recursive-include pay *.txt
recursive-exclude pay *.pyc

+ 7
- 0
README.md Ver arquivo

@@ -0,0 +1,7 @@
## Payments

Payments app for frappe

#### License

MIT

+ 1
- 0
license.txt Ver arquivo

@@ -0,0 +1 @@
License: MIT

+ 3
- 0
pay/__init__.py Ver arquivo

@@ -0,0 +1,3 @@

__version__ = '0.0.1'


+ 0
- 0
pay/config/__init__.py Ver arquivo


+ 10
- 0
pay/config/desktop.py Ver arquivo

@@ -0,0 +1,10 @@
from frappe import _

def get_data():
return [
{
"module_name": "Payments",
"type": "module",
"label": _("Payments")
}
]

+ 10
- 0
pay/config/docs.py Ver arquivo

@@ -0,0 +1,10 @@
"""
Configuration for docs
"""

# source_link = "https://github.com/[org_name]/pay"
# headline = "App that does everything"
# sub_heading = "Yes, you got that right the first time, everything"

def get_context(context):
context.brand_html = "Payments"

+ 195
- 0
pay/hooks.py Ver arquivo

@@ -0,0 +1,195 @@
from . import __version__ as app_version

app_name = "pay"
app_title = "Payments"
app_publisher = "Frappe Technologies"
app_description = "Payments app for frappe"
app_email = "hello@frappe.io"
app_license = "MIT"

# Includes in <head>
# ------------------

# include js, css files in header of desk.html
# app_include_css = "/assets/pay/css/pay.css"
# app_include_js = "/assets/pay/js/pay.js"

# include js, css files in header of web template
# web_include_css = "/assets/pay/css/pay.css"
# web_include_js = "/assets/pay/js/pay.js"

# include custom scss in every website theme (without file extension ".scss")
# website_theme_scss = "pay/public/scss/website"

# include js, css files in header of web form
# webform_include_js = {"doctype": "public/js/doctype.js"}
# webform_include_css = {"doctype": "public/css/doctype.css"}

# include js in page
# page_js = {"page" : "public/js/file.js"}

# include js in doctype views
# doctype_js = {"doctype" : "public/js/doctype.js"}
# doctype_list_js = {"doctype" : "public/js/doctype_list.js"}
# doctype_tree_js = {"doctype" : "public/js/doctype_tree.js"}
# doctype_calendar_js = {"doctype" : "public/js/doctype_calendar.js"}

# Home Pages
# ----------

# application home page (will override Website Settings)
# home_page = "login"

# website user home page (by Role)
# role_home_page = {
# "Role": "home_page"
# }

# Generators
# ----------

# automatically create page for each record of this doctype
# website_generators = ["Web Page"]

# Jinja
# ----------

# add methods and filters to jinja environment
# jinja = {
# "methods": "pay.utils.jinja_methods",
# "filters": "pay.utils.jinja_filters"
# }

# Installation
# ------------

# before_install = "pay.install.before_install"
# after_install = "pay.install.after_install"

# Uninstallation
# ------------

# before_uninstall = "pay.uninstall.before_uninstall"
# after_uninstall = "pay.uninstall.after_uninstall"

# Desk Notifications
# ------------------
# See frappe.core.notifications.get_notification_config

# notification_config = "pay.notifications.get_notification_config"

# Permissions
# -----------
# Permissions evaluated in scripted ways

# permission_query_conditions = {
# "Event": "frappe.desk.doctype.event.event.get_permission_query_conditions",
# }
#
# has_permission = {
# "Event": "frappe.desk.doctype.event.event.has_permission",
# }

# DocType Class
# ---------------
# Override standard doctype classes

# override_doctype_class = {
# "ToDo": "custom_app.overrides.CustomToDo"
# }

# Document Events
# ---------------
# Hook on document methods and events

# doc_events = {
# "*": {
# "on_update": "method",
# "on_cancel": "method",
# "on_trash": "method"
# }
# }

# Scheduled Tasks
# ---------------

# scheduler_events = {
# "all": [
# "pay.tasks.all"
# ],
# "daily": [
# "pay.tasks.daily"
# ],
# "hourly": [
# "pay.tasks.hourly"
# ],
# "weekly": [
# "pay.tasks.weekly"
# ],
# "monthly": [
# "pay.tasks.monthly"
# ],
# }

# Testing
# -------

# before_tests = "pay.install.before_tests"

# Overriding Methods
# ------------------------------
#
# override_whitelisted_methods = {
# "frappe.desk.doctype.event.event.get_events": "pay.event.get_events"
# }
#
# each overriding function accepts a `data` argument;
# generated from the base implementation of the doctype dashboard,
# along with any modifications made in other Frappe apps
# override_doctype_dashboards = {
# "Task": "pay.task.get_dashboard_data"
# }

# exempt linked doctypes from being automatically cancelled
#
# auto_cancel_exempted_doctypes = ["Auto Repeat"]


# User Data Protection
# --------------------

# user_data_fields = [
# {
# "doctype": "{doctype_1}",
# "filter_by": "{filter_by}",
# "redact_fields": ["{field_1}", "{field_2}"],
# "partial": 1,
# },
# {
# "doctype": "{doctype_2}",
# "filter_by": "{filter_by}",
# "partial": 1,
# },
# {
# "doctype": "{doctype_3}",
# "strict": False,
# },
# {
# "doctype": "{doctype_4}"
# }
# ]

# Authentication and authorization
# --------------------------------

# auth_hooks = [
# "pay.auth.validate"
# ]

# Translation
# --------------------------------

# Make link fields search translated document names for these DocTypes
# Recommended only for DocTypes which have limited documents with untranslated names
# For example: Role, Gender, etc.
# translated_search_doctypes = []

+ 1
- 0
pay/modules.txt Ver arquivo

@@ -0,0 +1 @@
Payments

+ 0
- 0
pay/patches.txt Ver arquivo


+ 0
- 0
pay/payments/__init__.py Ver arquivo


+ 0
- 0
pay/public/.gitkeep Ver arquivo


+ 0
- 0
pay/templates/__init__.py Ver arquivo


+ 0
- 0
pay/templates/pages/__init__.py Ver arquivo


+ 1
- 0
requirements.txt Ver arquivo

@@ -0,0 +1 @@
# frappe -- https://github.com/frappe/frappe is installed via 'bench init'

+ 19
- 0
setup.py Ver arquivo

@@ -0,0 +1,19 @@
from setuptools import setup, find_packages

with open("requirements.txt") as f:
install_requires = f.read().strip().split("\n")

# get version from __version__ variable in pay/__init__.py
from pay import __version__ as version

setup(
name="pay",
version=version,
description="Payments app for frappe",
author="Frappe Technologies",
author_email="hello@frappe.io",
packages=find_packages(),
zip_safe=False,
include_package_data=True,
install_requires=install_requires
)

Carregando…
Cancelar
Salvar