Kamis, 12 Desember 2024

cara menggantin icon aplikasi flutter

 Langkah 1: setup library beserta asset pada pubspec.yaml

 

dev_dependencies:
flutter_test:
sdk: flutter
flutter_launcher_icons: "^0.8.0"

flutter_icons:
android: "launcher_icon"
ios: true
image_path: "assets/icon/car.png"
 

yang perlu diperhatikan adalah image_path yaitu berisi path image launcher kita. pada kasus ini saya menaruh icon lancher pada directory <nama_projek>/assets/icon/car.png.

Langkah 2: Jalankan perintah pub get untuk mengupdate library dan konfigurasi pubspec.yaml

Langkah 3: Jalankan perintah dibawah pada terminal projek anda

   
flutter packages pub run flutter_launcher_icons:main

perintah ini kan secara otomatis mengenerate icon pada directory android dan ios sobat yaa. apabila telah sukses maka akan ada tampilan pada terminal seperti dibwah ini.

 

 

Senin, 17 April 2023

mengenal struktur module odoo

  • controllers/
    • __init__.py
    • controller.py
  • data/
    • model_data.xml
    • module_cron.xml
    • module_parameter.xml
  •  demo/
    • demo.xml
  • i18n/
    • en.po
    • id.po
  • models/
    • __init__.py
    • model.py
  • report/
    • model_report.xml
  • security/
    • group_security.xml
    • rule_security.xml
    • ir.model.access.csv
  • static/
    • description/
      • icon.png
    • src/
      • img/
        • my_image.png
      • scss/
        • my_style.scss
      • js/
        • my_script.js
  • tests
    • __init__.py
    • test.py
  • views
    • model_view.xml
    • menu_view.xml
  • wizards
    • __init__.py
    • model_wiz.py
    • model_wiz.xml
  • __init__.py
  • __manifest__.py
     

controllers

sebuah folder yang berisi file python yang berfungsi menangani sebuah request http/url:

kapan kita bekerja di folder ini:

1. ketika kita ingin membuat sebuah api/endpoint

2. ketika kita ingin membuat sebuah website

3. ketika kita ingin membuat url download

 

data

sebuah folder yang berisi file xml

kapan kita bekerja di folder ini:

1. ketika kita ingin membuat default data

2. ketika kita ingin membuat sebuah data parameter

3. ketika kita ingin membuat sebuah cron

 

demo

sebuah folder yang berisi file xml

1. ketika kita ingin membuat data demo

 

i18n

sebuah folder yang berisi file dengan format .po

kapan kita bekerja di folder ini:

1. ketika kita ingin membuat module dengan multi bahasa, bisa di bilang folder ini berisi file terjemahan 


models

sebuah folder yang berisi file python yang berisi model, blueprint ataupun function, yang pastinya kita nanti akan sering bekerja di module in.

kapan kita akan bekerja di folder ini:

1. ketika kita ingin membuat model baru

2. ketika kita ingin menambahkan field model yang sudah ada.

3. ketika kita ingin menambahkan function baru.

4. ketika kita ingin inherit function baru.


security

sebuah folder yang berisi file xml yang berisi group, rule, dan hak akses.

kapan kita akan bekerja di folder ini:

1. ketika kita ingin membuat group baru

2. ketika kita ingin membuat rule baru

3. ketika kita ingin menambahkan sebuah hak akses  


static

Direktori yang berisi file-file statis seperti gambar, CSS, dan JavaScript yang digunakan untuk menampilkan halaman antarmuka pada Odoo. 

kapan kita akan bekerja di folder ini:

1. ketika kita ingin menambahkan sebuah icon ke module kita.

2. ketika kita ingin menambahkan image, css, dan javascript.

 

views

Direktori yang berisi file XML yang digunakan untuk menampilkan informasi dari database yang ada pada models. 

kapan kita akan bekerja di folder ini:

1. ketika kita ingin inherit atau membuat menu.

2. ketika kita ingin inherit atau membuat action.

3. ketika kita ingin inherit atau membuat view tree, form, kanban, calendar, pivot.

dll.


__init__.py

ini adalah file wajib untuk menandakan sebuah folder jadi package di python, dan untuk import juga

__manifest__.py

File Python yang mendefinisikan metadata dari module, seperti nama, versi, deskripsi, author, dependensi, dan lain-lain.









Minggu, 09 April 2023

Create module odoo menggunakan scaffold

 

command:

  1. python3 odoo-bin scaffold module_name
  2. python3 odoo-bin scaffold module_name path_destination/

contoh:

  1. python3 odoo-bin scaffold odoo16c_customer_update_request
  2. python3 odoo-bin scaffold odoo16c_customer_update_request addons_custom/


Senin, 03 April 2023

NOTE DUPLICATE DATA BY QUERY

 

QUERY UNTUK MENGATASI DUPLICATE DATA


# SELECT BY HAVING COUNT

Di gunakan untuk mencari data yang duplicate berdasarkan count group name,
jadi kita bisa kasih parameter di bagian (having (count(name)) > 1)
 
SELECT name, COUNT(name)
FROM crm_lead
WHERE create_by_cron = true
AND schedule_date = '2023-03-11'
AND status_crm_pipeline isnull
AND active = true
GROUP BY name HAVING(COUNT(name)) > 1
 

# SELECT BY ROW_NUM

Di gunakan untuk mencari duplicate data berdasarkan row_number partition,

example data:

id      name        row_num

1       Slamet      1

2       Slamet      2

3       Slamet      3

4       SlametDev   1

5       SlametDev   2

 

result jika mengambil row 2:

id      name        row_num

2       Slamet      2

5       SlametDev   2

 

result jika mengambil row 3:

id      name        row_num

3       Slamet      3

 

SELECT id
FROM (
SELECT id,name, ROW_NUMBER() OVER (
PARTITION BY name ORDER BY id
) as row_num
FROM crm_lead
WHERE create_by_cron = true and schedule_date = '2023-03-11' and active = true
) t
WHERE row_num = 2

 

# UPDATE BY ROW_NUM

untuk mengupdate data menggunakan id yang di ambil dari select menggunakan row_number partition.

 

UPDATE crm_lead set active = false where id in (
SELECT id
FROM (
SELECT id,name, ROW_NUMBER() OVER (
PARTITION BY name ORDER BY id
) as row_num
FROM crm_lead
WHERE create_by_cron = true and schedule_date = '2023-03-11' and active = active
) t
WHERE row_num = 2
)

 

 

Jumat, 10 Maret 2023

datetime linux

# command untuk check detail date di linux

timedatectl

# command untuk enable syncronize date

timedatectl set-ntp yes

# command untuk disable syncronize date

timedatectl set-ntp no 

# command untuk mengubah jam ( untuk mengubah jam syncronize harus di disable)

sudo date -s '01:00:00'



flutter firebase notification