Giter Club home page Giter Club logo

vertical-isp's Introduction

Build Status Coverage Status

Vertical ISP

Available addons

addon version maintainers summary
base_phone_rate 12.0.0.1.0 wolfhall max3903 osi-scampbell Store international rates for phone call
base_phone_rate_import_bandwith 12.0.1.0.1 wolfhall max3903 This module allows you to load and update the phone rates using the file provided by Bandwidth (https://www.bandwidth.com).
connector_equipment 12.0.1.0.0 wolfhall max3903 osi-scampbell Connect Equipment to Outside API
connector_equipment_import_cdr 12.0.1.0.0 wolfhall max3903 This module allows to import the CDR data from the Netsapiens backend as Odoo analytic lines.
connector_equipment_service 12.0.1.1.0 wolfhall max3903 osi-scampbell Combine Connector Equipment and Service Profiles
product_isp 12.0.1.0.0 wolfhall max3903 osi-scampbell Assign ISPs to Products

Translation Status

Translation status


OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.

http://odoo-community.org/

vertical-isp's People

Contributors

dreispt avatar max3903 avatar murtuzasaleh avatar oca-git-bot avatar oca-travis avatar osi-scampbell avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

vertical-isp's Issues

vertical-isp installation problem

Hi,
I'm trying to install vertical-isp in my odoo 8 but it does not appear in the list of applications. what is the process to install vertical-isp in odoo 8

[ADD] connector_equipment_import_cdr

Depends on:

This module allows to import the CDR data from the Netsapiens backend as Odoo analytic lines.

Technical Specifications

product.template

  • Add the following demo data:
Name: Call
Type: Service
UoM: Minutes
Can be sold: True
Can be purchased: True
Variants: 
  - Type: Domestic, International, Toll Free

agreement.serviceprofile

  • Add a char field "Domain" (domain)
  • Add a date field "Last CDR Data Sync Date" (last_cdr_sync)
  • Display those fields if the type is "???"

backend.equipment.netsapiens.product_line

  • Add a backend.netsapiens.product_line object
  • Add a many2one field "Product" (name) to product.product
  • Add a char field "Pattern" (pattern) with help="The pattern is a regular expression that will applied on the phone number to detect a domestic call, an international call or a toll free call."
  • Add an integer field "Sequence" (sequence).
  • Add a many2one field "Backend" (backend_id) to backend.equipment
  • Use the sequence field to sort the records
  • Add the following demo data:
Sequence,Product,Pattern,Backend
10, Call(International),**,Netsapiens Demo Server
20, Call(Toll Free),**,Netsapiens Demo Server
30, Call(Domestic),**,Netsapiens Demo Server

backend.equipment

  • Add a one2many field "Products" (product_line_ids) to backend.equipment.netsapiens.product_line using the field Backend
  • Add a selection field "Sync Schedule" (sync_schedule) with the option "All Service Profiles Every Day"
  • Add a method import_cdr(self, serviceprofile_ids=None):
    for each service profile with a domain, and an equipment related to this backend
  • get the CDR data filtering them with the entries between the "Last CDR Data Sync Date" on the service profile and yesterday
  • create the corresponding analytic entries using the fields mapping table above
  • Set the "Last CDR Data Sync Date" to today on the service profile
  • Add a button "Run Manually" to execute import_cdr
  • Add a method cron_import_cdr(self)
    For all backends,
  • if "Sync Schedule" is "All Service Profiles Every Day"
    • run import_cdr
  • Add a scheduled action to run cron_import_cdr everyday

connector_equipment_service

Dependencies: connector_equipment, agreement_serviceprofile

This module defines the API to provision equipments and deliver services.

API Information

add_service(service_profile)

  • params: a record set of one service profile
  • returns: True if successful, the error message (string) otherwise

update_service(service_profile)

  • params: a record set of one service profile
  • returns: True if successful, the error message (string) otherwise

activate_service(service_profile)

  • params: a record set of one service profile
  • returns: True if successful, the error message (string) otherwise

suspend_service(service_profile)

  • params: a record set of one service profile
  • returns: True if successful, the error message (string) otherwise

remove_service(service_profile)

  • params: a record set of one service profile
  • returns: True if successful, the error message (string) otherwise

Technical Specifications

maintenance.equipment

Add the following methods:

  • add_service(service_profile)
  • params: a record set of one service profile
  • returns: True if successful, the error message (string) otherwise
  • update_service(service_profile)
  • params: a record set of one service profile
  • returns: True if successful, the error message (string) otherwise
  • activate_service(service_profile)
  • params: a record set of one service profile
  • returns: True if successful, the error message (string) otherwise
  • suspend_service(service_profile)
  • params: a record set of one service profile
  • returns: True if successful, the error message (string) otherwise
  • remove_service(service_profile)
  • params: a record set of one service profile
  • returns: True if successful, the error message (string) otherwise

agreement.serviceprofile

Extend the write() method

  • to call self.equipment_id._connect(add_service, serviceprofiles=self) if the equipment was empty and is now set to a managed equipment
  • to call self.equipment_id._connect(update_service, serviceprofiles=self) if the service profile is modified and the equipment is managed and not modified
  • to call self.equipment_id._connect(activate_service, serviceprofiles=self) if the service is linked to a managed equipment and the stage is changed to Active (or In Progress, I don't remember)
  • to call self.equipment_id._connect(suspend_service, serviceprofiles=self) if the service is linked to a managed equipment and the stage is changed to Suspend
  • to call self.equipment_id._connect(remove_service, serviceprofiles=self) if the equipment was set to a managed equipment and is now empty
  • if the equipment is changed, call
  • self.equipment_id._connect(suspend_service, self) if the previous equipment is managed and the service is active
  • self.equipment_id._connect(remove_service, self) if the previous equipment is managed
  • self.equipment_id._connect(add_service, self) if the new equipment is managed
  • self.equipment_id._connect(activate_service, self) if the new equipment is managed and the service is active

Integration with Freeradius?

Hello,

Do you have the purpose of integrating this module with freeradius for creating and managing access for internet providers?

[ADD] product_isp

This module allows you to define the international call services and use the phone rates.

Usage

  • Go to Sales > Catalog > Products
  • Select or a create a product
  • Select the type "Service"
  • Check the box "International Call Service"

Technical Specifications

product.product

  • Add a checkbox "International Call Service"
  • Show the previous checkbox only if the type is service
  • Add a smart button to show the phone rates and show it if International Call Service is true

connector_equipment

Dependencies: maintenance

Odoo provides an equipment management application and allow to define equipments, their manufacturers, their maintenance schedules but does not support the provisioning (configuration) of those equipments.

Once services and equipments have been configured in Odoo, the configuration information needs to be pushed to the equipments for the services to be delivered and available/consumable/usable to/by the customer.

Firmware or OS updates and rollbacks are not part of the scope.

This module defines the backend information to connect to the equipment and provides an API that needs to be implemented for each equipment.

API

update_config()

  • params: None
  • returns: True if successful, the error message (string) otherwise

Usage

  • Go to Maintenance > Equipments > Machines & Tools
  • Create or select an equipment
  • Check the box "Can be managed"
  • Fill in the API information in the "Connector" tab

Technical Specifications

maintenance.equipment

  • Add a boolean field "Can be managed"
  • Add a char field "Host"
  • Add a char field "Port"
  • Add a char field "User"
  • Add a password field "Password"
  • Add a selection field "Protocol" with "HTTP/JSON", "REST", ???

Add the following methods:

  • update_config()
  • params: None
  • returns: True if successful, the error message (string) otherwise
  • _connect(function, serviceprofiles=None)
  • params:
    • function: update_config, add_service, update_service, activate_service, suspend_service, remove_service
    • serviceprofiles: record set of service profiles
  • returns: True if successful, the error message (string) otherwise
  • Connects to the remote backend using the API information
  • if serviceprofiles is set, then for each service profile,
    • execute the function with the corresponding parameters
    • log the result in the chatter of the service profile
  • otherwise
    • if function is update_config, execute update_config
    • Log the result in the chatter of the equipment
  • Extend the create() method to call _connect(update_config) if the equipment is managed
  • Extend the write() method to call _connect(update_config) if the equipment is managed

[ADD] connector_equipment_netsapiens

Depends on:

  • #27
  • agreement_serviceprofile

This module adds the fields to the equipment backend:

  • Client ID
  • Client Secret

Technical Specifications

backend.equipment

  • Add a char field "Client ID" (client)
  • Add a char field "Client Secret" (client_secret)
  • Add the following demo data:
Name: Netsapiens Demo Server
Host:
Client ID:
Client Secret: 
Username: 
Password:
Active: True

[ADD] base_phone_rate_bandwidth

This module allows you to load and update the phone rates using the file provided by Bandwidth (https://www.bandwidth.com).

Bandwidth Transformation Odoo Comments
Destination / Country / Description None Name  
Destination / Country / Description Find the Odoo country with the string before " (" Country  
    State Empty
Dial Prefix None Dial Prefix Value must be unique. Used to update the rate.
Rate None Rate  

Usage

  • Go to Contacts > Configuration > Localizations > Phone Rates
  • In the Action menu, click on "Import Bandwidth Rates"
  • Select the file and click "Import"

New records will be created unless a dial prefix already exists. In this case, the rate is updated.

Technical Specifications

phone.rate

  • Add a wizard to upload the spreadsheet provided by Bandwidth
  • Add a server action to start the wizard
  • Add a binary field "Upload File" to the wizard
  • When clicking on "Import", create new records using the mapping above or update the rate based on the Dial Prefix

[ADD] base_phone_rate

This module allows you to store the International phone rate of your carrier.

Usage

  • Go to Contacts > Configuration > Localizations > Phone Rates
  • Add Phone Rates by entering the name, country, state, dial prefix and rate

Technical Specifications

decimal.precision

  • Add a record "Phone Rate" with 5 digits

phone.rate

  • Add a required char field "Name" (name)
  • Add a required many2one field "Country" (country_id)
  • Add a many2one field "State" (state_id)
  • Add a required char field "Dial Prefix" (dial_prefix). Add a uniqueness constraint.
  • Add a required float field "Rate" (rate)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.